diff --git a/builds/ammo.js b/builds/ammo.js index ee7821d..32ef141 100644 --- a/builds/ammo.js +++ b/builds/ammo.js @@ -1,51 +1,38 @@ // This is ammo.js, a port of Bullet Physics to JavaScript. zlib licensed. -var Ammo = (function() { - var Module = this; +var AmmoLib = function(Module) { + Module = Module || {}; -var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/");Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}))}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}this["Module"]=Module}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WEB){window["Module"]=Module}else{Module["load"]=importScripts}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){throw"NO_DYNAMIC_EXECUTION 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]}}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,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;i0)return""}var c1=buffer[0];var c2=buffer[1];var c3=buffer[2];var c4=buffer[3];var ret;if(buffer.length==2){ret=String.fromCharCode((c1&31)<<6|c2&63)}else if(buffer.length==3){ret=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63)}else{var codePoint=(c1&7)<<18|(c2&63)<<12|(c3&63)<<6|c4&63;ret=String.fromCharCode(((codePoint-65536)/1024|0)+55296,(codePoint-65536)%1024+56320)}buffer.length=0;return ret});this.processJSString=function processJSString(string){string=unescape(encodeURIComponent(string));var ret=[];for(var i=0;i=TOTAL_MEMORY)enlargeMemory();return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION was set, cannot eval - ccall/cwrap are not functional")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var stack=0;var JSfuncs={"stackSave":(function(){stack=Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore(stack)}),"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){var func=getCFunc(ident);var cArgs=[];if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];if(t>=128)hasUtf=true;else if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(!hasUtf){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}var utf8=new Runtime.UTF8Processor;for(i=0;i>0];ret+=utf8.processCChar(t)}return ret}Module["Pointer_stringify"]=Pointer_stringify;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr){for(var i=0;i>1]=codeUnit}HEAP16[outPtr+str.length*2>>1]=0}Module["stringToUTF16"]=stringToUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCodeUnit=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++iCodeUnit);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr+iChar*4>>2]=codeUnit;++iChar}HEAP32[outPtr+iChar*4>>2]=0}Module["stringToUTF32"]=stringToUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var final=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}final=parse()}catch(e){final+="?"}if(final.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return final}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){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 ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var ret=(new Runtime.UTF8Processor).processJSString(stringy);if(length){ret.length=length}if(!dontAddNull){ret.push(0)}return ret}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer+str.length>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];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 runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+Runtime.alignMemory(21635);__ATINIT__.push({func:(function(){__GLOBAL__I_a()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,1,0,0,0,2,0,0,0,3,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,1,0,0,0,0,0,0,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,184,81,0,0,136,0,0,0,64,82,0,0,112,0,0,0,0,0,0,0,1,0,0,0,152,0,0,0,2,4,0,0,0,0,0,0,24,1,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,0,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,0,0,0,0,184,81,0,0,240,0,0,0,224,81,0,0,216,0,0,0,16,1,0,0,0,0,0,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,184,81,0,0,40,1,0,0,0,0,0,0,192,1,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,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,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,184,81,0,0,144,1,0,0,224,81,0,0,96,1,0,0,184,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,2,0,0,8,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,184,81,0,0,128,2,0,0,224,81,0,0,104,2,0,0,144,2,0,0,0,0,0,0,0,0,0,0,48,3,0,0,10,0,0,0,11,0,0,0,2,0,0,0,2,0,0,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,0,0,0,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,0,0,0,0,0,184,81,0,0,248,2,0,0,224,81,0,0,192,2,0,0,40,3,0,0,0,0,0,0,0,0,0,0,176,3,0,0,12,0,0,0,13,0,0,0,3,0,0,0,1,0,0,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,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,0,0,0,0,184,81,0,0,120,3,0,0,224,81,0,0,88,3,0,0,168,3,0,0,0,0,0,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,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,46,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,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,0,0,0,0,0,0,0,56,5,0,0,14,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,2,0,0,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,224,81,0,0,32,5,0,0,160,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,48,8,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,5,0,0,0,3,0,0,0,21,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,22,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,23,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,24,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,1,0,0,0,2,0,0,0,25,0,0,0,20,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,26,0,0,0,21,0,0,0,6,0,0,0,0,0,0,0,100,101,98,117,103,68,114,97,119,87,111,114,108,100,0,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,115,116,101,112,83,105,109,117,108,97,116,105,111,110,0,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,0,0,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,0,0,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,0,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,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,0,0,0,0,0,105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0,0,0,0,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,0,0,0,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,0,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,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,224,81,0,0,8,8,0,0,184,29,0,0,0,0,0,0,224,81,0,0,232,7,0,0,32,8,0,0,0,0,0,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,0,0,0,0,0,0,83,80,72,69,82,69,0,0,0,0,0,0,168,8,0,0,27,0,0,0,28,0,0,0,6,0,0,0,4,0,0,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,0,0,0,224,81,0,0,128,8,0,0,48,3,0,0,0,0,0,0,0,0,0,0,40,9,0,0,29,0,0,0,30,0,0,0,1,0,0,0,0,0,0,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,0,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,0,0,184,81,0,0,240,8,0,0,224,81,0,0,208,8,0,0,32,9,0,0,0,0,0,0,0,0,0,0,144,9,0,0,31,0,0,0,32,0,0,0,33,0,0,0,1,0,0,0,22,0,0,0,23,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,34,0,0,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,0,0,0,0,0,0,224,81,0,0,112,9,0,0,160,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,16,10,0,0,35,0,0,0,36,0,0,0,37,0,0,0,1,0,0,0,24,0,0,0,25,0,0,0,1,0,0,0,3,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,0,0,0,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,224,81,0,0,248,9,0,0,160,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,56,11,0,0,38,0,0,0,39,0,0,0,1,0,0,0,26,0,0,0,27,0,0,0,2,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,3,0,0,0,9,0,0,0,40,0,0,0,10,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,0,0,0,0,184,81,0,0,8,11,0,0,224,81,0,0,224,10,0,0,32,11,0,0,0,0,0,0,224,81,0,0,184,10,0,0,40,11,0,0,0,0,0,0,0,0,0,0,144,11,0,0,41,0,0,0,42,0,0,0,2,0,0,0,7,0,0,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,0,0,224,81,0,0,96,11,0,0,48,3,0,0,0,0,0,0,0,0,0,0,248,11,0,0,43,0,0,0,44,0,0,0,45,0,0,0,1,0,0,0,32,0,0,0,33,0,0,0,1,0,0,0,4,0,0,0,8,0,0,0,11,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,216,11,0,0,160,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,14,0,0,46,0,0,0,47,0,0,0,4,0,0,0,34,0,0,0,7,0,0,0,8,0,0,0,5,0,0,0,0,0,0,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,0,0,0,0,0,224,81,0,0,200,14,0,0,32,11,0,0,0,0,0,0,0,0,0,0,40,15,0,0,48,0,0,0,49,0,0,0,2,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,8,15,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,15,0,0,7,0,0,0,50,0,0,0,51,0,0,0,35,0,0,0,12,0,0,0,7,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,0,0,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,0,0,224,81,0,0,136,15,0,0,160,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,16,0,0,52,0,0,0,53,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,54,0,0,0,13,0,0,0,6,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,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,0,0,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,0,0,0,0,0,0,115,111,108,118,101,71,114,111,117,112,0,0,0,0,0,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,0,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,0,184,81,0,0,112,16,0,0,224,81,0,0,72,16,0,0,136,16,0,0,0,0,0,0,0,0,0,0,240,16,0,0,55,0,0,0,56,0,0,0,3,0,0,0,1,0,0,0,37,0,0,0,38,0,0,0,1,0,0,0,5,0,0,0,9,0,0,0,14,0,0,0,8,0,0,0,0,0,0,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,0,0,0,224,81,0,0,216,16,0,0,160,0,0,0,0,0,0,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,20,0,0,57,0,0,0,58,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,7,0,0,0,40,0,0,0,59,0,0,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,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,0,0,0,0,0,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,184,81,0,0,24,20,0,0,224,81,0,0,248,19,0,0,48,20,0,0,0,0,0,0,224,81,0,0,232,19,0,0,56,20,0,0,0,0,0,0,0,0,0,0,56,20,0,0,60,0,0,0,61,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,39,0,0,0,15,0,0,0,16,0,0,0,7,0,0,0,40,0,0,0,59,0,0,0,0,0,0,0,48,21,0,0,62,0,0,0,63,0,0,0,9,0,0,0,3,0,0,0,8,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,10,0,0,0,41,0,0,0,11,0,0,0,10,0,0,0,21,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,0,21,0,0,16,1,0,0,0,0,0,0,224,81,0,0,232,20,0,0,32,21,0,0,0,0,0,0,0,0,0,0,216,21,0,0,64,0,0,0,65,0,0,0,9,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,44,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,45,0,0,0,9,0,0,0,2,0,0,0,24,0,0,0,11,0,0,0,46,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,10,0,0,0,11,0,0,0,25,0,0,0,15,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,12,0,0,0,16,0,0,0,28,0,0,0,13,0,0,0,1,0,0,0,17,0,0,0,49,48,98,116,66,111,120,83,104,97,112,101,0,0,0,0,224,81,0,0,200,21,0,0,128,62,0,0,0,0,0,0,66,111,120,0,0,0,0,0,0,0,0,0,136,22,0,0,66,0,0,0,67,0,0,0,14,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,47,0,0,0,29,0,0,0,2,0,0,0,30,0,0,0,45,0,0,0,10,0,0,0,3,0,0,0,31,0,0,0,12,0,0,0,46,0,0,0,15,0,0,0,18,0,0,0,19,0,0,0,48,0,0,0,49,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,224,81,0,0,104,22,0,0,112,68,0,0,0,0,0,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,0,80,23,0,0,68,0,0,0,69,0,0,0,20,0,0,0,0,0,0,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,0,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,184,81,0,0,48,23,0,0,224,81,0,0,192,22,0,0,72,23,0,0,0,0,0,0,0,0,0,0,240,23,0,0,70,0,0,0,71,0,0,0,21,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,120,23,0,0,72,23,0,0,0,0,0,0,0,0,0,0,128,24,0,0,72,0,0,0,73,0,0,0,22,0,0,0,0,0,0,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,224,81,0,0,24,24,0,0,72,23,0,0,0,0,0,0,0,0,0,0,224,25,0,0,74,0,0,0,75,0,0,0,16,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,50,0,0,0,22,0,0,0,3,0,0,0,32,0,0,0,51,0,0,0,11,0,0,0,2,0,0,0,33,0,0,0,13,0,0,0,46,0,0,0,23,0,0,0,24,0,0,0,2,0,0,0,17,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,8,26,0,0,76,0,0,0,77,0,0,0,16,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,50,0,0,0,22,0,0,0,3,0,0,0,35,0,0,0,51,0,0,0,11,0,0,0,2,0,0,0,33,0,0,0,13,0,0,0,46,0,0,0,23,0,0,0,24,0,0,0,2,0,0,0,17,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,48,26,0,0,78,0,0,0,79,0,0,0,16,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,50,0,0,0,22,0,0,0,3,0,0,0,36,0,0,0,51,0,0,0,11,0,0,0,2,0,0,0,33,0,0,0,13,0,0,0,46,0,0,0,23,0,0,0,24,0,0,0,2,0,0,0,17,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,224,81,0,0,200,25,0,0,104,41,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,0,0,0,0,0,0,224,81,0,0,240,25,0,0,224,25,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,0,0,0,0,0,0,224,81,0,0,24,26,0,0,224,25,0,0,0,0,0,0,67,97,112,115,117,108,101,90,0,0,0,0,0,0,0,0,67,97,112,115,117,108,101,88,0,0,0,0,0,0,0,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,26,0,0,80,0,0,0,81,0,0,0,4,0,0,0,14,0,0,0,52,0,0,0,53,0,0,0,15,0,0,0,16,0,0,0,18,0,0,0,37,0,0,0,9,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,10,0,0,0,54,0,0,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,224,81,0,0,216,26,0,0,88,50,0,0,0,0,0,0,0,0,0,0,88,27,0,0,82,0,0,0,83,0,0,0,11,0,0,0,0,0,0,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,0,0,0,0,0,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,184,81,0,0,56,27,0,0,224,81,0,0,24,27,0,0,80,27,0,0,0,0,0,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,0,0,0,0,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,0,0,0,0,184,81,0,0,136,27,0,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,0,0,0,0,0,184,81,0,0,192,27,0,0,0,0,0,0,184,29,0,0,84,0,0,0,85,0,0,0,19,0,0,0,20,0,0,0,5,0,0,0,3,0,0,0,86,0,0,0,1,0,0,0,2,0,0,0,19,0,0,0,55,0,0,0,22,0,0,0,56,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,84,104,97,110,107,115,46,10,0,0,0,0,0,0,0,0,117,112,100,97,116,101,65,97,98,98,115,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,0,0,0,0,0,184,81,0,0,160,29,0,0,0,0,0,0,8,30,0,0,87,0,0,0,88,0,0,0,20,0,0,0,21,0,0,0,252,255,255,255,8,30,0,0,89,0,0,0,90,0,0,0,22,0,0,0,0,0,0,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,0,0,0,0,64,82,0,0,240,29,0,0,0,0,0,0,2,0,0,0,88,67,0,0,2,0,0,0,136,67,0,0,2,4,0,0,0,0,0,0,104,30,0,0,91,0,0,0,92,0,0,0,26,0,0,0,27,0,0,0,3,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,72,30,0,0,240,52,0,0,0,0,0,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,0,0,0,0,0,184,81,0,0,120,30,0,0,0,0,0,0,0,31,0,0,93,0,0,0,94,0,0,0,12,0,0,0,0,0,0,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,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,224,81,0,0,208,30,0,0,152,30,0,0,0,0,0,0,224,81,0,0,184,30,0,0,240,30,0,0,0,0,0,0,0,0,0,0,64,31,0,0,95,0,0,0,96,0,0,0,13,0,0,0,0,0,0,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,224,81,0,0,40,31,0,0,240,30,0,0,0,0,0,0,0,0,0,0,8,32,0,0,97,0,0,0,98,0,0,0,14,0,0,0,10,0,0,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,95,49,0,0,224,81,0,0,104,31,0,0,40,3,0,0,0,0,0,0,0,0,0,0,232,32,0,0,99,0,0,0,100,0,0,0,23,0,0,0,1,0,0,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,0,0,0,0,0,0,0,224,81,0,0,48,32,0,0,224,63,0,0,0,0,0,0,0,0,0,0,192,33,0,0,101,0,0,0,102,0,0,0,23,0,0,0,2,0,0,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,0,224,81,0,0,16,33,0,0,224,63,0,0,0,0,0,0,0,0,0,0,112,34,0,0,103,0,0,0,104,0,0,0,15,0,0,0,11,0,0,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,0,0,0,224,81,0,0,232,33,0,0,184,1,0,0,0,0,0,0,0,0,0,0,72,35,0,0,105,0,0,0,106,0,0,0,28,0,0,0,57,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,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,95,49,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,0,0,0,0,0,184,81,0,0,40,35,0,0,224,81,0,0,168,34,0,0,64,35,0,0,0,0,0,0,0,0,0,0,8,36,0,0,107,0,0,0,108,0,0,0,24,0,0,0,1,0,0,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,0,0,0,224,81,0,0,112,35,0,0,176,63,0,0,0,0,0,0,0,0,0,0,200,36,0,0,109,0,0,0,110,0,0,0,24,0,0,0,2,0,0,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,0,0,0,0,0,224,81,0,0,48,36,0,0,176,63,0,0,0,0,0,0,0,0,0,0,24,37,0,0,12,0,0,0,58,0,0,0,29,0,0,0,111,0,0,0,112,0,0,0,0,0,0,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,0,0,0,184,81,0,0,248,36,0,0,0,0,0,0,192,37,0,0,113,0,0,0,114,0,0,0,25,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,59,0,0,0,41,0,0,0,4,0,0,0,42,0,0,0,45,0,0,0,13,0,0,0,4,0,0,0,43,0,0,0,17,0,0,0,46,0,0,0,60,0,0,0,115,0,0,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,0,0,0,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,0,0,0,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,0,0,0,0,0,0,224,81,0,0,168,37,0,0,216,27,0,0,0,0,0,0,67,111,109,112,111,117,110,100,0,0,0,0,0,0,0,0,0,0,0,0,40,39,0,0,116,0,0,0,117,0,0,0,26,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,61,0,0,0,22,0,0,0,5,0,0,0,44,0,0,0,62,0,0,0,14,0,0,0,2,0,0,0,45,0,0,0,18,0,0,0,46,0,0,0,30,0,0,0,31,0,0,0,2,0,0,0,27,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,72,39,0,0,118,0,0,0,119,0,0,0,26,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,61,0,0,0,22,0,0,0,5,0,0,0,46,0,0,0,63,0,0,0,14,0,0,0,2,0,0,0,45,0,0,0,18,0,0,0,46,0,0,0,30,0,0,0,31,0,0,0,2,0,0,0,27,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,104,39,0,0,120,0,0,0,121,0,0,0,26,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,61,0,0,0,22,0,0,0,5,0,0,0,47,0,0,0,64,0,0,0,14,0,0,0,2,0,0,0,45,0,0,0,18,0,0,0,46,0,0,0,30,0,0,0,31,0,0,0,2,0,0,0,27,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,0,0,224,81,0,0,24,39,0,0,104,41,0,0,0,0,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,0,224,81,0,0,56,39,0,0,40,39,0,0,0,0,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,0,224,81,0,0,88,39,0,0,40,39,0,0,0,0,0,0,67,111,110,101,88,0,0,0,67,111,110,101,90,0,0,0,98,116,67,111,110,101,83,104,97,112,101,68,97,116,97,0,67,111,110,101,0,0,0,0,0,0,0,0,216,39,0,0,122,0,0,0,123,0,0,0,1,0,0,0,0,0,0,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,0,0,224,81,0,0,184,39,0,0,120,40,0,0,0,0,0,0,0,0,0,0,88,40,0,0,124,0,0,0,125,0,0,0,32,0,0,0,33,0,0,0,4],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,0,0,0,0,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,184,81,0,0,32,40,0,0,224,81,0,0,8,40,0,0,80,40,0,0,0,0,0,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,0,184,81,0,0,104,40,0,0,0,0,0,0,56,41,0,0,126,0,0,0,127,0,0,0,28,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,65,0,0,0,22,0,0,0,6,0,0,0,48,0,0,0,45,0,0,0,14,0,0,0,2,0,0,0,49,0,0,0,19,0,0,0,46,0,0,0,34,0,0,0,35,0,0,0,2,0,0,0,29,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,8,0,0,0,50,0,0,0,51,0,0,0,30,0,0,0,36,0,0,0,52,0,0,0,31,0,0,0,2,0,0,0,1,0,0,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,0,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,0,0,0,0,224,81,0,0,32,41,0,0,184,62,0,0,0,0,0,0,67,111,110,118,101,120,0,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,224,81,0,0,80,41,0,0,136,41,0,0,0,0,0,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,224,81,0,0,120,41,0,0,216,27,0,0,0,0,0,0,0,0,0,0,64,42,0,0,128,0,0,0,129,0,0,0,28,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,66,0,0,0,53,0,0,0,6,0,0,0,54,0,0,0,45,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,11,0,0,0,46,0,0,0,37,0,0,0,38,0,0,0,2,0,0,0,32,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,8,0,0,0,55,0,0,0,56,0,0,0,33,0,0,0,39,0,0,0,57,0,0,0,34,0,0,0,3,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,32,42,0,0,184,62,0,0,0,0,0,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,0,0,0,0,0,0,152,42,0,0,130,0,0,0,131,0,0,0,35,0,0,0,0,0,0,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,0,0,0,224,81,0,0,120,42,0,0,136,67,0,0,0,0,0,0,0,0,0,0,248,43,0,0,132,0,0,0,133,0,0,0,36,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,67,0,0,0,22,0,0,0,7,0,0,0,58,0,0,0,68,0,0,0,15,0,0,0,2,0,0,0,59,0,0,0,20,0,0,0,46,0,0,0,40,0,0,0,41,0,0,0,2,0,0,0,37,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,5,0,0,0,0,0,0,0,32,44,0,0,134,0,0,0,135,0,0,0,36,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,67,0,0,0,22,0,0,0,7,0,0,0,60,0,0,0,68,0,0,0,15,0,0,0,2,0,0,0,59,0,0,0,20,0,0,0,46,0,0,0,40,0,0,0,42,0,0,0,2,0,0,0,38,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,6,0,0,0,0,0,0,0,72,44,0,0,136,0,0,0,137,0,0,0,36,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,67,0,0,0,22,0,0,0,7,0,0,0,61,0,0,0,68,0,0,0,15,0,0,0,2,0,0,0,59,0,0,0,20,0,0,0,46,0,0,0,40,0,0,0,43,0,0,0,2,0,0,0,39,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,7,0,0,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,0,0,0,0,0,0,224,81,0,0,224,43,0,0,104,41,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,0,0,0,0,0,224,81,0,0,8,44,0,0,248,43,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,0,0,0,0,0,224,81,0,0,48,44,0,0,248,43,0,0,0,0,0,0,67,121,108,105,110,100,101,114,90,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,88,0,0,0,0,0,0,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,0,0,0,0,67,121,108,105,110,100,101,114,89,0,0,0,0,0,0,0,0,0,0,0,248,44,0,0,138,0,0,0,139,0,0,0,2,0,0,0,44,0,0,0,3,0,0,0,40,0,0,0,3,0,0,0,41,0,0,0,69,0,0,0,62,0,0,0,63,0,0,0,45,0,0,0,70,0,0,0,140,0,0,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,0,0,0,0,0,224,81,0,0,224,44,0,0,48,20,0,0,0,0,0,0,0,0,0,0,72,45,0,0,141,0,0,0,142,0,0,0,28,0,0,0,71,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,0,224,81,0,0,48,45,0,0,64,35,0,0,0,0,0,0,0,0,0,0,152,45,0,0,143,0,0,0,144,0,0,0,28,0,0,0,72,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,0,0,224,81,0,0,128,45,0,0,64,35,0,0,0,0,0,0,0,0,0,0,232,45,0,0,145,0,0,0,146,0,0,0,46,0,0,0,73,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,0,0,0,224,81,0,0,208,45,0,0,64,35,0,0,0,0,0,0,0,0,0,0,104,46,0,0,147,0,0,0,148,0,0,0,64,0,0,0,65,0,0,0,21,0,0,0,66,0,0,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,0,0,0,0,0,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,0,0,0,0,0,184,81,0,0,64,46,0,0,224,81,0,0,24,46,0,0,96,46,0,0,0,0,0,0,0,0,0,0,240,46,0,0,149,0,0,0,150,0,0,0,5,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,184,81,0,0,192,46,0,0,224,81,0,0,144,46,0,0,232,46,0,0,0,0,0,0,0,0,0,0,72,47,0,0,151,0,0,0,152,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,24,47,0,0,232,46,0,0,0,0,0,0,0,0,0,0,168,47,0,0,153,0,0,0,154,0,0,0,7,0,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,112,47,0,0,232,46,0,0,0,0,0,0,0,0,0,0,8,48,0,0,155,0,0,0,156,0,0,0,8,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,208,47,0,0,232,46,0,0,0,0,0,0,0,0,0,0,88,48,0,0,157,0,0,0,158,0,0,0,9,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,48,48,0,0,232,46,0,0,0,0,0,0,0,0,0,0,184,48,0,0,159,0,0,0,160,0,0,0,10,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,128,48,0,0,232,46,0,0,0,0,0,0,0,0,0,0,24,49,0,0,161,0,0,0,162,0,0,0,11,0,0,0,0,0,0,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,0,0,0,224,81,0,0,224,48,0,0,232,46,0,0,0,0,0,0,0,0,0,0,112,49,0,0,163,0,0,0,164,0,0,0,12,0,0,0,0,0,0,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,0,0,0,224,81,0,0,64,49,0,0,232,46,0,0,0,0,0,0,0,0,0,0,216,49,0,0,165,0,0,0,166,0,0,0,13,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,152,49,0,0,232,46,0,0,0,0,0,0,0,0,0,0,56,50,0,0,167,0,0,0,168,0,0,0,14,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,0,50,0,0,232,46,0,0,0,0,0,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,0,184,81,0,0,72,50,0,0,0,0,0,0,184,50,0,0,169,0,0,0,170,0,0,0,4,0,0,0,1,0,0,0,74,0,0,0,0,0,0,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,184,81,0,0,152,50,0,0,224,81,0,0,128,50,0,0,176,50,0,0,0,0,0,0,0,0,0,0,56,51,0,0,18,0,0,0,171,0,0,0,172,0,0,0,35,0,0,0,67,0,0,0,22,0,0,0,75,0,0,0,47,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,104,51,0,0,18,0,0,0,173,0,0,0,174,0,0,0,35,0,0,0,67,0,0,0,22,0,0,0,75,0,0,0,48,0,0,0,43,0,0,0,0,0,0,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,224,81,0,0,40,51,0,0,160,27,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,72,51,0,0,56,51,0,0,0,0,0,0,0,0,0,0,168,51,0,0,175,0,0,0,176,0,0,0,2,0,0,0,0,0,0,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,224,81,0,0,144,51,0,0,120,40,0,0,0,0,0,0,0,0,0,0,40,52,0,0,177,0,0,0,178,0,0,0,1,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,0,184,81,0,0,248,51,0,0,224,81,0,0,208,51,0,0,32,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,52,0,0,179,0,0,0,180,0,0,0,5,0,0,0,0,0,0,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,0,0,0,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,0,184,81,0,0,120,52,0,0,224,81,0,0,96,52,0,0,160,52,0,0,0,0,0,0,0,0,0,0,240,52,0,0,181,0,0,0,182,0,0,0,26,0,0,0,27,0,0,0,5,0,0,0,0,0,0,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,0,224,81,0,0,216,52,0,0,80,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,57,0,0,183,0,0,0,184,0,0,0,2,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,0,57,0,0,32,52,0,0,0,0,0,0,0,0,0,0,8,58,0,0,185,0,0,0,186,0,0,0,49,0,0,0,50,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,88,57,0,0,80,40,0,0,0,0,0,0,0,0,0,0,88,58,0,0,187,0,0,0,188,0,0,0,15,0,0,0,68,0,0,0,23,0,0,0,76,0,0,0,77,0,0,0,16,0,0,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,224,81,0,0,64,58,0,0,112,63,0,0,0,0,0,0,0,0,0,0,224,58,0,0,189,0,0,0,190,0,0,0,44,0,0,0,0,0,0,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,95,48,0,0,0,0,224,81,0,0,128,58,0,0,136,67,0,0,0,0,0,0,0,0,0,0,112,59,0,0,191,0,0,0,192,0,0,0,45,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,8,59,0,0,136,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,60,0,0,193,0,0,0,194,0,0,0,24,0,0,0,17,0,0,0,51,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,52,0,0,0,72,0,0,0,53,0,0,0,78,0,0,0,54,0,0,0,25,0,0,0,73,0,0,0,79,0,0,0,80,0,0,0,0,0,0,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,0,224,81,0,0,240,59,0,0,32,21,0,0,0,0,0,0,0,0,0,0,192,60,0,0,195,0,0,0,196,0,0,0,19,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,56,60,0,0,80,27,0,0,0,0,0,0,0,0,0,0,88,61,0,0,197,0,0,0,198,0,0,0,20,0,0,0,0,0,0,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,0,0,224,81,0,0,232,60,0,0,80,27,0,0,0,0,0,0,10,215,163,60,0,0,0,0,0,0,0,0,128,62,0,0,199,0,0,0,200,0,0,0,26,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,81,0,0,0,22,0,0,0,6,0,0,0,1,0,0,0,45,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,11,0,0,0,46,0,0,0,23,0,0,0,55,0,0,0,2,0,0,0,46,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,8,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,96,62,0,0,104,41,0,0,0,0,0,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,0,0,0,224,81,0,0,144,62,0,0,128,62,0,0,0,0,0,0,0,0,0,0,112,63,0,0,201,0,0,0,202,0,0,0,15,0,0,0,68,0,0,0,23,0,0,0,76,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,0,0,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,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,184,81,0,0,88,63,0,0,0,0,0,0,224,63,0,0,203,0,0,0,204,0,0,0,23,0,0,0,1,0,0,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,0,0,0,0,224,81,0,0,144,63,0,0,88,67,0,0,0,0,0,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,0,224,81,0,0,192,63,0,0,88,67,0,0,0,0,0,0,0,0,0,0,144,64,0,0,205,0,0,0,206,0,0,0,47,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,81,0,0,0,22,0,0,0,8,0,0,0,74,0,0,0,45,0,0,0,14,0,0,0,2,0,0,0,24,0,0,0,11,0,0,0,46,0,0,0,23,0,0,0,56,0,0,0,2,0,0,0,48,0,0,0,11,0,0,0,75,0,0,0,57,0,0,0,8,0,0,0,76,0,0,0,77,0,0,0,49,0,0,0,58,0,0,0,78,0,0,0,50,0,0,0,4,0,0,0,51,0,0,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,0,0,0,0,0,0,224,81,0,0,120,64,0,0,128,62,0,0,0,0,0,0,84,114,105,97,110,103,108,101,0,0,0,0,0,0,0,0,0,0,0,0,24,65,0,0,207,0,0,0,208,0,0,0,59,0,0,0,82,0,0,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,0,0,0,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,0,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,0,0,0,0,184,81,0,0,248,64,0,0,0,0,0,0,152,65,0,0,209,0,0,0,210,0,0,0,52,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,81,0,0,0,22,0,0,0,9,0,0,0,79,0,0,0,45,0,0,0,16,0,0,0,8,0,0,0,24,0,0,0,11,0,0,0,46,0,0,0,60,0,0,0,61,0,0,0,2,0,0,0,53,0,0,0,11,0,0,0,34,0,0,0,25,0,0,0,0,0,0,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,224,81,0,0,136,65,0,0,104,41,0,0,0,0,0,0,0,0,0,0,240,65,0,0,211,0,0,0,212,0,0,0,6,0,0,0,2,0,0,0,83,0,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,200,65,0,0,208,69,0,0,0,0,0,0,0,0,0,0,72,66,0,0,213,0,0,0,214,0,0,0,7,0,0,0,3,0,0,0,84,0,0,0,0,0,0,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,0,0,0,224,81,0,0,32,66,0,0,208,69,0,0,0,0,0,0,0,0,0,0,192,66,0,0,215,0,0,0,216,0,0,0,54,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,85,0,0,0,80,0,0,0,10,0,0,0,81,0,0,0,45,0,0,0,10,0,0,0,3,0,0,0,82,0,0,0,26,0,0,0,46,0,0,0,55,0,0,0,0,0,0,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,0,0,0,224,81,0,0,168,66,0,0,232,71,0,0,0,0,0,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,0,83,84,65,84,73,67,80,76,65,78,69,0,0,0,0,0,0,0,0,0,48,67,0,0,217,0,0,0,218,0,0,0,3,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,16,67,0,0,120,40,0,0,0,0,0,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,184,81,0,0,64,67,0,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,0,0,0,0,0,0,184,81,0,0,96,67,0,0,0,0,0,0,240,67,0,0,219,0,0,0,220,0,0,0,56,0,0,0,1,0,0,0,2,0,0,0,86,0,0,0,87,0,0,0,83,0,0,0,88,0,0,0,89,0,0,0,84,0,0,0,62,0,0,0,63,0,0,0,85,0,0,0,27,0,0,0,0,0,0,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,0,0,0,0,0,0,0,224,81,0,0,216,67,0,0,32,78,0,0,0,0,0,0,0,0,0,0,112,68,0,0,221,0,0,0,222,0,0,0,14,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,90,0,0,0,29,0,0,0,2,0,0,0,86,0,0,0,45,0,0,0,10,0,0,0,3,0,0,0,87,0,0,0,28,0,0,0,46,0,0,0,57,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,224,81,0,0,88,68,0,0,232,71,0,0,0,0,0,0,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,0,0,0,0,192,68,0,0,223,0,0,0,224,0,0,0,58,0,0,0,0,0,0,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,224,81,0,0,168,68,0,0,88,67,0,0,0,0,0,0,0,0,0,0,80,69,0,0,225,0,0,0,226,0,0,0,59,0,0,0,0,0,0,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,0,0,224,81,0,0,232,68,0,0,136,67,0,0,0,0,0,0,0,0,0,0,152,69,0,0,227,0,0,0,228,0,0,0,8,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,120,69,0,0,160,52,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,168,69,0,0,176,50,0,0,0,0,0,0,0,0,0,0,32,70,0,0,229,0,0,0,230,0,0,0,9,0,0,0,4,0,0,0,91,0,0,0,0,0,0,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,0,0,0,224,81,0,0,0,70,0,0,208,69,0,0,0,0,0,0,0,0,0,0,96,70,0,0,231,0,0,0,232,0,0,0,10,0,0,0,0,0,0,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,0,0,0,0,0,224,81,0,0,72,70,0,0,160,52,0,0,0,0,0,0,0,0,0,0,176,70,0,0,233,0,0,0,234,0,0,0,11,0,0,0,5,0,0,0,92,0,0,0,0,0,0,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,0,224,81,0,0,144,70,0,0,208,69,0,0,0,0,0,0,0,0,0,0,8,71,0,0,235,0,0,0,236,0,0,0,28,0,0,0,93,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,232,70,0,0,64,35,0,0,0,0,0,0,0,0,0,0,96,71,0,0,237,0,0,0,238,0,0,0,12,0,0,0,6,0,0,0,94,0,0,0,0,0,0,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,0,224,81,0,0,56,71,0,0,208,69,0,0,0,0,0,0,0,0,0,0,192,71,0,0,239,0,0,0,240,0,0,0,64,0,0,0,95,0,0,0,5,0,0,0,16,0,0,0,17,0,0,0,0,0,0,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,0,0,0,0,0,0,0,224,81,0,0,152,71,0,0,64,35,0,0,0,0,0,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,0,0,0,0,0,0,0,224,81,0,0,208,71,0,0,216,27,0,0,0,0,0,0,0,0,0,0,88,72,0,0,241,0,0,0,242,0,0,0,13,0,0,0,7,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,136,72,0,0,243,0,0,0,244,0,0,0,60,0,0,0,0,0,0,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,0,0,0,0,224,81,0,0,48,72,0,0,208,69,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,104,72,0,0,88,67,0,0,0,0,0,0,0,0,0,0,80,73,0,0,245,0,0,0,246,0,0,0,61,0,0,0,0,0,0,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,0,0,224,81,0,0,176,72,0,0,88,67,0,0,0,0,0,0,0,0,0,0,240,73,0,0,247,0,0,0,248,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,184,73,0,0,249,0,0,0,250,0,0,0,14,0,0,0,8,0,0,0,97,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,152,73,0,0,208,69,0,0,0,0,0,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,224,81,0,0,200,73,0,0,232,46,0,0,0,0,0,0,0,0,0,0,64,74,0,0,251,0,0,0,252,0,0,0,26,0,0,0,27,0,0,0,7,0,0,0,0,0,0,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,0,0,0,0,0,224,81,0,0,32,74,0,0,240,52,0,0,0,0,0,0,0,0,0,0,0,75,0,0,253,0,0,0,254,0,0,0,65,0,0,0,66,0,0,0,8,0,0,0,0,0,0,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,95,48,0,0,224,81,0,0,112,74,0,0,80,40,0,0,0,0,0,0,0,0,0,0,184,75,0,0,255,0,0,0,0,1,0,0,67,0,0,0,68,0,0,0,9,0,0,0,0,0,0,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,0,0,0,224,81,0,0,48,75,0,0,80,40,0,0,0,0,0,0,0,0,0,0,16,76,0,0,1,1,0,0,2,1,0,0,15,0,0,0,9,0,0,0,98,0,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,232,75,0,0,176,50,0,0,0,0,0,0,0,0,0,0,72,76,0,0,3,1,0,0,4,1,0,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,0,0,0,184,81,0,0,48,76,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,76,0,0,5,1,0,0,6,1,0,0,29,0,0,0,30,0,0,0,88,0,0,0,0,0,0,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,0,0,0,0,0,0,184,81,0,0,168,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,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,0,0,0,0,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,0,0,0,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,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,0,0,0,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,0,0,0,0,0,0,184,81,0,0,144,77,0,0,0,0,0,0,32,78,0,0,7,1,0,0,8,1,0,0,56,0,0,0,1,0,0,0,2,0,0,0,86,0,0,0,87,0,0,0,83,0,0,0,99,0,0,0,100,0,0,0,84,0,0,0,62,0,0,0,63,0,0,0,85,0,0,0,27,0,0,0,0,0,0,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,0,0,0,224,81,0,0,0,78,0,0,176,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,111,111,116,0,0,0,0,72,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,117,110,99,97,117,103,104,116,0,0,0,0,0,0,0,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,0,0,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,0,0,0,0,0,0,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,0,0,116,101,114,109,105,110,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,0,0,40,80,0,0,9,1,0,0,10,1,0,0,89],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,224,81,0,0,24,80,0,0,176,80,0,0,0,0,0,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,184,81,0,0,160,80,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,184,81,0,0,184,80,0,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,0,0,0,0,0,0,0,224,81,0,0,208,80,0,0,200,80,0,0,0,0,0,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,0,0,0,0,0,0,224,81,0,0,8,81,0,0,248,80,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,224,81,0,0,104,81,0,0,248,80,0,0,0,0,0,0,224,81,0,0,64,81,0,0,144,81,0,0,0,0,0,0,0,0,0,0,48,81,0,0,11,1,0,0,12,1,0,0,13,1,0,0,14,1,0,0,31,0,0,0,4,0,0,0,16,0,0,0,62,0,0,0,0,0,0,0,40,82,0,0,11,1,0,0,15,1,0,0,13,1,0,0,14,1,0,0,31,0,0,0,5,0,0,0,17,0,0,0,63,0,0,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,0,0,0,224,81,0,0,0,82,0,0,48,81,0,0,0,0,0,0,0,0,0,0,136,82,0,0,11,1,0,0,16,1,0,0,13,1,0,0,14,1,0,0,31,0,0,0,6,0,0,0,18,0,0,0,64,0,0,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,0,0,224,81,0,0,96,82,0,0,48,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}var _cosf=Math_cos;Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>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 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 79: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 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 _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 _acosf=Math_acos;Module["_strlen"]=_strlen;var _sqrtf=Math_sqrt;var FS=undefined;var SOCKFS=undefined;function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fputc(c,stream){var chr=unSign(c&255);HEAP8[_fputc.ret>>0]=chr;var fd=_fileno(stream);var ret=_write(fd,_fputc.ret,1);if(ret==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return-1}else{return chr}}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 _fmod(x,y){return x%y}function _fmodf(){return _fmod.apply(null,arguments)}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}var _atan2f=Math_atan2;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_guard_release(){}var _asinf=Math_asin;function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _emscripten_asm_const_double(code){var args=Array.prototype.slice.call(arguments,1);return+Runtime.getAsmConst(code,args.length).apply(null,args)}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}var _sinf=Math_sin;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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)self.alloc(bytes);return ret}Module["_memmove"]=_memmove;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___errno_location(){return ___errno_state}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _llvm_trap(){abort("trap!")}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _UItoF=true;function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){var textIndex=format;var argIndex=0;function getNextArg(type){var ret;if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3])}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]]}else{type="i32";ret=HEAP32[varargs+argIndex>>2]}argIndex+=Runtime.getNativeFieldSize(type);return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _vfprintf(s,f,va_arg){return _fprintf(s,f,HEAP32[va_arg>>2])}var _stderr=allocate(1,"i32*",ALLOC_STATIC);___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;_fputc.ret=allocate([0],"i8",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE1){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}}))}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){throw"NO_DYNAMIC_EXECUTION 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]}}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,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)enlargeMemory();return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION was set, cannot eval - ccall/cwrap are not functional")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;function AsciiToString(ptr){var str="";while(1){var ch=HEAP8[ptr++>>0];if(!ch)return str;str+=String.fromCharCode(ch)}}Module["AsciiToString"]=AsciiToString;function stringToAscii(str,outPtr){return writeAsciiToMemory(str,outPtr,false)}Module["stringToAscii"]=stringToAscii;function UTF8ArrayToString(u8Array,idx){var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}Module["UTF8ArrayToString"]=UTF8ArrayToString;function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}Module["stringToUTF8Array"]=stringToUTF8Array;function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}Module["stringToUTF8"]=stringToUTF8;function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}Module["lengthBytesUTF8"]=lengthBytesUTF8;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}Module["stringToUTF16"]=stringToUTF16;function lengthBytesUTF16(str){return str.length*2}Module["lengthBytesUTF16"]=lengthBytesUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}Module["stringToUTF32"]=stringToUTF32;function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}Module["lengthBytesUTF32"]=lengthBytesUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a"}else{ret=name}paramLoop:while(i0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var parsed=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}parsed=parse()}catch(e){parsed+="?"}if(parsed.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return parsed}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){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 ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||67108864;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var Math_clz32=Math.clz32;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+21936;__ATINIT__.push({func:(function(){__GLOBAL__sub_I_btQuickprof_cpp()})});allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,1,0,0,1,0,0,0,2,0,0,0,3,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,1,0,0,0,0,0,0,0,49,55,98,116,84,121,112,101,100,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,49,51,98,116,84,121,112,101,100,79,98,106,101,99,116,0,216,82,0,0,72,1,0,0,96,83,0,0,48,1,0,0,0,0,0,0,1,0,0,0,88,1,0,0,2,4,0,0,0,0,0,0,216,1,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,49,57,98,116,71,104,111,115,116,80,97,105,114,67,97,108,108,98,97,99,107,0,0,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,0,0,0,0,216,82,0,0,176,1,0,0,0,83,0,0,152,1,0,0,208,1,0,0,0,0,0,0,49,56,98,116,86,101,104,105,99,108,101,82,97,121,99,97,115,116,101,114,0,0,0,0,216,82,0,0,232,1,0,0,0,0,0,0,128,2,0,0,6,0,0,0,7,0,0,0,1,0,0,0,1,0,0,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,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,216,82,0,0,80,2,0,0,0,83,0,0,32,2,0,0,120,2,0,0,0,0,0,0,0,0,0,0,216,2,0,0,8,0,0,0,9,0,0,0,1,0,0,0,2,0,0,0,50,48,98,116,68,101,102,97,117,108,116,77,111,116,105,111,110,83,116,97,116,101,0,0,49,51,98,116,77,111,116,105,111,110,83,116,97,116,101,0,216,82,0,0,192,2,0,0,0,83,0,0,168,2,0,0,208,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,3,0,0,10,0,0,0,11,0,0,0,2,0,0,0,2,0,0,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,0,0,0,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,0,0,0,0,0,216,82,0,0,184,3,0,0,0,83,0,0,128,3,0,0,232,3,0,0,0,0,0,0,0,0,0,0,112,4,0,0,12,0,0,0,13,0,0,0,3,0,0,0,1,0,0,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,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,0,0,0,0,216,82,0,0,56,4,0,0,0,83,0,0,24,4,0,0,104,4,0,0,0,0,0,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,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,46,97,100,100,83,105,110,103,108,101,82,101,115,117,108,116,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,4,0,0,0,14,0,0,0,15,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,116,82,105,103,105,100,66,111,100,121,70,108,111,97,116,68,97,116,97,0,0,0,0,49,49,98,116,82,105,103,105,100,66,111,100,121,0,0,0,0,83,0,0,248,5,0,0,24,21,0,0,0,0,0,0,0,0,0,0,224,8,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,5,0,0,0,3,0,0,0,20,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,21,0,0,0,7,0,0,0,1,0,0,0,2,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,22,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,15,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,23,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,1,0,0,0,2,0,0,0,24,0,0,0,20,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,25,0,0,0,21,0,0,0,6,0,0,0,0,0,0,0,100,101,98,117,103,68,114,97,119,87,111,114,108,100,0,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,115,116,101,112,83,105,109,117,108,97,116,105,111,110,0,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,0,0,0,117,112,100,97,116,101,65,99,116,105,111,110,115,0,0,0,117,112,100,97,116,101,65,99,116,105,118,97,116,105,111,110,83,116,97,116,101,0,0,0,115,111,108,118,101,67,111,110,115,116,114,97,105,110,116,115,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,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,0,0,0,0,0,105,110,116,101,103,114,97,116,101,84,114,97,110,115,102,111,114,109,115,0,0,0,0,0,67,67,68,32,109,111,116,105,111,110,32,99,108,97,109,112,105,110,103,0,0,0,0,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,0,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,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,49,53,98,116,68,121,110,97,109,105,99,115,87,111,114,108,100,0,0,0,0,0,0,0,0,83,0,0,184,8,0,0,32,33,0,0,0,0,0,0,0,83,0,0,152,8,0,0,208,8,0,0,0,0,0,0,0,0,0,0,48,9,0,0,26,0,0,0,27,0,0,0,7,0,0,0,3,0,0,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,0,0,0,0,83,0,0,8,9,0,0,240,3,0,0,0,0,0,0,0,0,0,0,176,9,0,0,28,0,0,0,29,0,0,0,1,0,0,0,0,0,0,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,0,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,0,0,216,82,0,0,120,9,0,0,0,83,0,0,88,9,0,0,168,9,0,0,0,0,0,0,0,0,0,0,24,10,0,0,1,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,22,0,0,0,23,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,7,0,0,0,4,0,0,0,32,0,0,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,0,0,0,0,0,0,0,83,0,0,248,9,0,0,96,1,0,0,0,0,0,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,0,0,0,0,0,0,0,0,168,10,0,0,1,0,0,0,33,0,0,0,31,0,0,0,1,0,0,0,22,0,0,0,24,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,32,0,0,0,3,0,0,0,0,0,0,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,0,83,0,0,136,10,0,0,24,10,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,56,11,0,0,1,0,0,0,34,0,0,0,35,0,0,0,1,0,0,0,25,0,0,0,26,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,24,11,0,0,96,1,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,14,0,0,1,0,0,0,36,0,0,0,3,0,0,0,1,0,0,0,27,0,0,0,28,0,0,0,1,0,0,0,3,0,0,0,6,0,0,0,10,0,0,0,7,0,0,0,0,0,0,0,49,56,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,83,0,0,56,14,0,0,96,1,0,0,0,0,0,0,98,116,83,108,105,100,101,114,67,111,110,115,116,114,97,105,110,116,68,97,116,97,0,0,0,0,0,0,200,14,0,0,1,0,0,0,37,0,0,0,38,0,0,0,1,0,0,0,29,0,0,0,30,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,11,0,0,0,8,0,0,0,4,0,0,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,0,83,0,0,176,14,0,0,96,1,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,72,15,0,0,1,0,0,0,39,0,0,0,40,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,1,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,9,0,0,0,0,0,0,0,49,55,98,116,72,105,110,103,101,67,111,110,115,116,114,97,105,110,116,0,0,0,0,0,0,83,0,0,48,15,0,0,96,1,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,16,0,0,41,0,0,0,42,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,43,0,0,0,13,0,0,0,5,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,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,0,0,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,0,0,0,0,0,0,115,111,108,118,101,71,114,111,117,112,0,0,0,0,0,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,0,0,49,56,98,116,67,111,110,115,116,114,97,105,110,116,83,111,108,118,101,114,0,0,0,0,216,82,0,0,64,16,0,0,0,83,0,0,24,16,0,0,88,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,19,0,0,44,0,0,0,45,0,0,0,1,0,0,0,33,0,0,0,7,0,0,0,8,0,0,0,6,0,0,0,0,0,0,0,49,54,98,116,82,97,121,99,97,115,116,86,101,104,105,99,108,101,0,0,0,0,0,0,49,55,98,116,65,99,116,105,111,110,73,110,116,101,114,102,97,99,101,0,0,0,0,0,216,82,0,0,32,19,0,0,0,83,0,0,8,19,0,0,56,19,0,0,0,0,0,0,0,0,0,0,136,19,0,0,46,0,0,0,47,0,0,0,2,0,0,0,0,0,0,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,0,0,0,0,0,83,0,0,104,19,0,0,0,2,0,0,0,0,0,0,0,0,0,0,112,20,0,0,48,0,0,0,49,0,0,0,2,0,0,0,34,0,0,0,35,0,0,0,3,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,4,0,0,0,14,0,0,0,50,0,0,0,15,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,56,20,0,0,56,19,0,0,0,0,0,0,0,83,0,0,16,20,0,0,96,20,0,0,0,0,0,0,0,0,0,0,200,20,0,0,26,0,0,0,51,0,0,0,2,0,0,0,9,0,0,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,0,0,0,83,0,0,152,20,0,0,240,3,0,0,0,0,0,0,10,215,163,60,0,0,0,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,0,0,0,0,0,49,55,98,116,67,111,108,108,105,115,105,111,110,79,98,106,101,99,116,0,0,0,0,0,216,82,0,0,0,21,0,0,0,0,0,0,144,21,0,0,8,0,0,0,52,0,0,0,53,0,0,0,3,0,0,0,16,0,0,0,10,0,0,0,40,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,192,21,0,0,8,0,0,0,54,0,0,0,55,0,0,0,3,0,0,0,16,0,0,0,10,0,0,0,40,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,49,51,98,116,71,104,111,115,116,79,98,106,101,99,116,0,0,83,0,0,128,21,0,0,24,21,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,160,21,0,0,144,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,22,0,0,56,0,0,0,57,0,0,0,3,0,0,0,11,0,0,0,41,0,0,0,42,0,0,0,12,0,0,0,13,0,0,0,9,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,10,0,0,0,43,0,0,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,0,83,0,0,32,22,0,0,160,67,0,0,0,0,0,0,0,0,0,0,160,22,0,0,58,0,0,0,59,0,0,0,11,0,0,0,0,0,0,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,0,0,0,0,0,0,49,55,98,116,79,118,101,114,108,97,112,67,97,108,108,98,97,99,107,0,0,0,0,0,216,82,0,0,128,22,0,0,0,83,0,0,96,22,0,0,152,22,0,0,0,0,0,0,0,0,0,0,32,23,0,0,60,0,0,0,61,0,0,0,21,0,0,0,22,0,0,0,14,0,0,0,23,0,0,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,0,0,0,0,0,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,0,0,0,0,0,216,82,0,0,248,22,0,0,0,83,0,0,208,22,0,0,24,23,0,0,0,0,0,0,0,0,0,0,168,23,0,0,62,0,0,0,63,0,0,0,4,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,216,82,0,0,120,23,0,0,0,83,0,0,72,23,0,0,160,23,0,0,0,0,0,0,0,0,0,0,0,24,0,0,62,0,0,0,64,0,0,0,5,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,208,23,0,0,160,23,0,0,0,0,0,0,0,0,0,0,96,24,0,0,62,0,0,0,65,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,40,24,0,0,160,23,0,0,0,0,0,0,0,0,0,0,192,24,0,0,62,0,0,0,66,0,0,0,7,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,136,24,0,0,160,23,0,0,0,0,0,0,0,0,0,0,16,25,0,0,62,0,0,0,67,0,0,0,8,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,232,24,0,0,160,23,0,0,0,0,0,0,0,0,0,0,112,25,0,0,62,0,0,0,68,0,0,0,9,0,0,0,0,0,0,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,0,0,0,0,0,83,0,0,56,25,0,0,160,23,0,0,0,0,0,0,0,0,0,0,208,25,0,0,62,0,0,0,69,0,0,0,10,0,0,0,0,0,0,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,0,0,0,0,83,0,0,152,25,0,0,160,23,0,0,0,0,0,0,0,0,0,0,40,26,0,0,62,0,0,0,70,0,0,0,11,0,0,0,0,0,0,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,0,0,0,0,83,0,0,248,25,0,0,160,23,0,0,0,0,0,0,0,0,0,0,144,26,0,0,62,0,0,0,71,0,0,0,12,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,80,26,0,0,160,23,0,0,0,0,0,0,0,0,0,0,240,26,0,0,62,0,0,0,72,0,0,0,13,0,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,184,26,0,0,160,23,0,0,0,0,0,0,0,0,0,0,104,27,0,0,73,0,0,0,74,0,0,0,9,0,0,0,44,0,0,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,0,0,0,0,112,114,111,99,101,115,115,73,115,108,97,110,100,115,0,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,0,0,0,0,216,82,0,0,72,27,0,0,0,0,0,0,216,27,0,0,75,0,0,0,76,0,0,0,1,0,0,0,1,0,0,0,45,0,0,0,0,0,0,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,0,0,0,0,0,0,50,48,98,116,67,111,108,108,105,115,105,111,110,65,108,103,111,114,105,116,104,109,0,0,216,82,0,0,184,27,0,0,0,83,0,0,144,27,0,0,208,27,0,0,0,0,0,0,0,0,0,0,120,28,0,0,77,0,0,0,78,0,0,0,2,0,0,0,2,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,64,28,0,0,79,0,0,0,80,0,0,0,10,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,32,28,0,0,208,54,0,0,0,0,0,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,0,0,0,0,0,83,0,0,80,28,0,0,120,76,0,0,0,0,0,0,0,0,0,0,64,29,0,0,81,0,0,0,82,0,0,0,11,0,0,0,0,0,0,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,0,0,0,83,0,0,160,28,0,0,208,54,0,0,0,0,0,0,0,0,0,0,144,29,0,0,9,0,0,0,47,0,0,0,10,0,0,0,83,0,0,0,84,0,0,0,0,0,0,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,0,0,0,216,82,0,0,112,29,0,0,0,0,0,0,56,30,0,0,85,0,0,0,86,0,0,0,12,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,48,0,0,0,24,0,0,0,1,0,0,0,25,0,0,0,49,0,0,0,10,0,0,0,2,0,0,0,26,0,0,0,15,0,0,0,50,0,0,0,12,0,0,0,13,0,0,0,3,0,0,0,13,0,0,0,14,0,0,0,27,0,0,0,14,0,0,0,12,0,0,0,28,0,0,0,29,0,0,0,15,0,0,0,15,0,0,0,30,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,49,53,98,116,84,114,105,97,110,103,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,83,0,0,32,30,0,0,32,53,0,0,0,0,0,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,0,0,0,0,0,0,84,114,105,97,110,103,108,101,0,0,0,0,0,0,0,0,0,0,0,0,184,30,0,0,87,0,0,0,88,0,0,0,4,0,0,0,3,0,0,0,51,0,0,0,0,0,0,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,0,0,0,0,83,0,0,152,30,0,0,120,76,0,0,0,0,0,0,0,0,0,0,56,31,0,0,89,0,0,0,90,0,0,0,16,0,0,0,17,0,0,0,3,0,0,0,0,0,0,0,49,54,98,116,77,97,110,105,102,111,108,100,82,101,115,117,108,116,0,0,0,0,0,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,216,82,0,0,0,31,0,0,0,83,0,0,232,30,0,0,48,31,0,0,0,0,0,0,0,0,0,0,32,33,0,0,91,0,0,0,92,0,0,0,18,0,0,0,19,0,0,0,5,0,0,0,3,0,0,0,93,0,0,0,1,0,0,0,2,0,0,0,18,0,0,0,52,0,0,0,21,0,0,0,53,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,84,104,97,110,107,115,46,10,0,0,0,0,0,0,0,0,117,112,100,97,116,101,65,97,98,98,115,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,67,111,109,112,111,117,110,100,0,0,0,0,0,99,111,110,118,101,120,83,119,101,101,112,84,101,115,116,0,49,54,98,116,67,111,108,108,105,115,105,111,110,87,111,114,108,100,0,0,0,0,0,0,216,82,0,0,8,33,0,0,0,0,0,0,112,33,0,0,94,0,0,0,95,0,0,0,19,0,0,0,20,0,0,0,252,255,255,255,112,33,0,0,96,0,0,0,97,0,0,0,21,0,0,0,0,0,0,0,49,55,68,101,98,117,103,68,114,97,119,99,97,108,108,98,97,99,107,0,0,0,0,0,96,83,0,0,88,33,0,0,0,0,0,0,2,0,0,0,208,54,0,0,2,0,0,0,0,55,0,0,2,4,0,0,0,0,0,0,208,33,0,0,89,0,0,0,98,0,0,0,16,0,0,0,17,0,0,0,4,0,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,176,33,0,0,56,31,0,0,0,0,0,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,0,0,0,0,0,216,82,0,0,224,33,0,0,0,0,0,0,104,34,0,0,99,0,0,0,100,0,0,0,13,0,0,0,0,0,0,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,66,114,111,97,100,112,104,97,115,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,83,0,0,56,34,0,0,0,34,0,0,0,0,0,0,0,83,0,0,32,34,0,0,88,34,0,0,0,0,0,0,0,0,0,0,168,34,0,0,99,0,0,0,101,0,0,0,14,0,0,0,0,0,0,0,49,57,98,116,83,105,110,103,108,101,82,97,121,67,97,108,108,98,97,99,107,0,0,0,0,83,0,0,144,34,0,0,88,34,0,0,0,0,0,0,0,0,0,0,112,35,0,0,26,0,0,0,102,0,0,0,15,0,0,0,10,0,0,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,0,0,0,0,83,0,0,208,34,0,0,232,3,0,0,0,0,0,0,0,0,0,0,80,36,0,0,81,0,0,0,103,0,0,0,22,0,0,0,1,0,0,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,0,0,0,0,0,0,0,0,83,0,0,152,35,0,0,192,68,0,0,0,0,0,0,0,0,0,0,40,37,0,0,81,0,0,0,104,0,0,0,22,0,0,0,2,0,0,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,0,0,83,0,0,120,36,0,0,192,68,0,0,0,0,0,0,0,0,0,0,216,37,0,0,105,0,0,0,106,0,0,0,16,0,0,0,11,0,0,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,0,0,0,0,83,0,0,80,37,0,0,120,2,0,0,0,0,0,0,0,0,0,0,176,38,0,0,107,0,0,0,108,0,0,0,18,0,0,0,54,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,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,0,0,78,54,98,116,68,98,118,116,56,73,67,111,108,108,105,100,101,69,0,0,0,0,0,0,216,82,0,0,144,38,0,0,0,83,0,0,16,38,0,0,168,38,0,0,0,0,0,0,0,0,0,0,112,39,0,0,81,0,0,0,109,0,0,0,23,0,0,0,1,0,0,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,0,0,0,0,83,0,0,216,38,0,0,144,68,0,0,0,0,0,0,0,0,0,0,48,40,0,0,81,0,0,0,110,0,0,0,23,0,0,0,2,0,0,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([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,0,0,0,0,0,0,83,0,0,152,39,0,0,144,68,0,0,0,0,0,0,0,0,0,0,136,40,0,0,111,0,0,0,112,0,0,0,5,0,0,0,4,0,0,0,55,0,0,0,0,0,0,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,0,0,0,0,83,0,0,96,40,0,0,120,76,0,0,0,0,0,0,0,0,0,0,248,40,0,0,113,0,0,0,114,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,40,41,0,0,115,0,0,0,116,0,0,0,6,0,0,0,5,0,0,0,56,0,0,0,0,0,0,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,0,83,0,0,208,40,0,0,160,23,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,8,41,0,0,120,76,0,0,0,0,0,0,0,0,0,0,232,41,0,0,89,0,0,0,117,0,0,0,19,0,0,0,20,0,0,0,5,0,0,0,0,0,0,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,0,0,0,0,83,0,0,88,41,0,0,48,31,0,0,0,0,0,0,0,0,0,0,56,42,0,0,89,0,0,0,118,0,0,0,16,0,0,0,17,0,0,0,6,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,24,42,0,0,56,31,0,0,0,0,0,0,0,0,0,0,240,42,0,0,89,0,0,0,119,0,0,0,21,0,0,0,22,0,0,0,7,0,0,0,0,0,0,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,0,0,0,0,83,0,0,104,42,0,0,48,31,0,0,0,0,0,0,0,0,0,0,64,43,0,0,120,0,0,0,121,0,0,0,7,0,0,0,6,0,0,0,57,0,0,0,0,0,0,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,0,0,83,0,0,32,43,0,0,120,76,0,0,0,0,0,0,0,0,0,0,152,43,0,0,107,0,0,0,122,0,0,0,18,0,0,0,58,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,120,43,0,0,168,38,0,0,0,0,0,0,0,0,0,0,240,43,0,0,123,0,0,0,124,0,0,0,8,0,0,0,7,0,0,0,59,0,0,0,0,0,0,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,0,0,83,0,0,200,43,0,0,120,76,0,0,0,0,0,0,0,0,0,0,80,44,0,0,107,0,0,0,125,0,0,0,23,0,0,0,60,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,40,44,0,0,168,38,0,0,0,0,0,0,0,0,0,0,0,45,0,0,126,0,0,0,127,0,0,0,24,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,61,0,0,0,31,0,0,0,2,0,0,0,32,0,0,0,49,0,0,0,11,0,0,0,3,0,0,0,33,0,0,0,16,0,0,0,50,0,0,0,62,0,0,0,128,0,0,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,0,0,0,0,0,0,0,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,68,97,116,97,0,0,0,0,0,49,53,98,116,67,111,109,112,111,117,110,100,83,104,97,112,101,0,0,0,0,0,0,0,0,83,0,0,232,44,0,0,152,53,0,0,0,0,0,0,67,111,109,112,111,117,110,100,0,0,0,0,0,0,0,0,0,0,0,0,104,46,0,0,129,0,0,0,130,0,0,0,25,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,63,0,0,0,24,0,0,0,3,0,0,0,34,0,0,0,64,0,0,0,10,0,0,0,2,0,0,0,35,0,0,0,17,0,0,0,50,0,0,0,24,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,136,46,0,0,129,0,0,0,131,0,0,0,25,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,63,0,0,0,24,0,0,0,3,0,0,0,37,0,0,0,65,0,0,0,10,0,0,0,2,0,0,0,35,0,0,0,17,0,0,0,50,0,0,0,24,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,168,46,0,0,129,0,0,0,132,0,0,0,25,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,63,0,0,0,24,0,0,0,3,0,0,0,38,0,0,0,66,0,0,0,10,0,0,0,2,0,0,0,35,0,0,0,17,0,0,0,50,0,0,0,24,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,49,49,98,116,67,111,110,101,83,104,97,112,101,0,0,0,0,83,0,0,88,46,0,0,216,53,0,0,0,0,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,90,0,0,0,83,0,0,120,46,0,0,104,46,0,0,0,0,0,0,49,50,98,116,67,111,110,101,83,104,97,112,101,88,0,0,0,83,0,0,152,46,0,0,104,46,0,0,0,0,0,0,67,111,110,101,88,0,0,0,67,111,110,101,90,0,0,0,98,116,67,111,110,101,83,104,97,112,101,68,97,116,97,0,67,111,110,101,0,0,0,0,0,0,0,0,88,47,0,0,129,0,0,0,133,0,0,0,27,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,48,0,0,0,24,0,0,0,4,0,0,0,39,0,0,0,49,0,0,0,12,0,0,0,4,0,0,0,26,0,0,0,15,0,0,0,50,0,0,0,27,0,0,0,28,0,0,0,3,0,0,0,28,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,49,51,98,116,83,112,104,101,114,101,83,104,97,112,101,0,0,83,0,0,72,47,0,0,216,53,0,0,0,0,0,0,83,80,72,69,82,69,0,0,0,0,0,0,8,48,0,0,134,0,0,0,135,0,0,0,29,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,67,0,0,0,40,0,0,0,5,0,0,0,41,0,0,0,49,0,0,0,13,0,0,0,5,0,0,0,42,0,0,0,18,0,0,0,50,0,0,0,30,0,0,0,29,0,0,0,30,0,0,0,68,0,0,0,69,0,0,0,0,0,0,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,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,0,0,0,0,0,0,0,0,83,0,0,232,47,0,0,128,50,0,0,0,0,0,0,66,86,72,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,0,208,48,0,0,136,0,0,0,137,0,0,0,31,0,0,0,0,0,0,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,0,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,216,82,0,0,176,48,0,0,0,83,0,0,64,48,0,0,200,48,0,0,0,0,0,0,0,0,0,0,112,49,0,0,136,0,0,0,138,0,0,0,32,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,248,48,0,0,200,48,0,0,0,0,0,0,0,0,0,0,0,50,0,0,136,0,0,0,139,0,0,0,33,0,0,0,0,0,0,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,0,83,0,0,152,49,0,0,200,48,0,0,0,0,0,0,0,0,0,0,128,50,0,0,140,0,0,0,141,0,0,0,29,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,70,0,0,0,40,0,0,0,5,0,0,0,43,0,0,0,49,0,0,0,13,0,0,0,5,0,0,0,44,0,0,0,19,0,0,0,50,0,0,0,31,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,49,57,98,116,84,114,105,97,110,103,108,101,77,101,115,104,83,104,97,112,101,0,0,0,0,83,0,0,104,50,0,0,40,58,0,0,0,0,0,0,84,82,73,65,78,71,76,69,77,69,83,72,0,0,0,0,0,0,0,0,208,50,0,0,81,0,0,0,142,0,0,0,32,0,0,0,0,0,0,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,0,83,0,0,184,50,0,0,208,54,0,0,0,0,0,0,0,0,0,0,96,51,0,0,143,0,0,0,144,0,0,0,33,0,0,0,0,0,0,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,0,0,0,83,0,0,248,50,0,0,0,55,0,0,0,0,0,0,0,0,0,0,216,51,0,0,145,0,0,0,146,0,0,0,34,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,71,0,0,0,45,0,0,0,6,0,0,0,46,0,0,0,49,0,0,0,13,0,0,0,5,0,0,0,47,0,0,0,20,0,0,0,50,0,0,0,35,0,0,0,0,0,0,0,49,56,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,0,0,0,0,0,83,0,0,192,51,0,0,40,58,0,0,0,0,0,0,98,116,83,116,97,116,105,99,80,108,97,110,101,83,104,97,112,101,68,97,116,97,0,0,83,84,65,84,73,67,80,76,65,78,69,0,0,0,0,0,0,0,0,0,32,53,0,0,85,0,0,0,147,0,0,0,25,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,48,0,0,0,24,0,0,0,7,0,0,0,1,0,0,0,49,0,0,0,10,0,0,0,2,0,0,0,26,0,0,0,15,0,0,0,50,0,0,0,12,0,0,0,34,0,0,0,3,0,0,0,36,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,12,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,0,53,0,0,216,53,0,0,0,0,0,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,0,0,0,0,83,0,0,48,53,0,0,32,53,0,0,0,0,0,0,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,68,97,116,97,0,0,0,0,49,54,98,116,67,111,108,108,105,115,105,111,110,83,104,97,112,101,0,0,0,0,0,0,216,82,0,0,128,53,0,0,49,51,98,116,67,111,110,118,101,120,83,104,97,112,101,0,0,83,0,0,160,53,0,0,152,53,0,0,0,0,0,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,0,83,0,0,192,53,0,0,176,53,0,0,0,0,0,0,0,0,0,0,160,54,0,0,148,0,0,0,149,0,0,0,37,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,72,0,0,0,24,0,0,0,7,0,0,0,48,0,0,0,49,0,0,0,10,0,0,0,2,0,0,0,49,0,0,0,21,0,0,0,50,0,0,0,35,0,0,0,36,0,0,0,3,0,0,0,38,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,39,0,0,0,37,0,0,0,52,0,0,0,40,0,0,0,2,0,0,0,1,0,0,0,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,68,97,116,97,0,0,0,49,55,98,116,67,111,110,118,101,120,72,117,108,108,83,104,97,112,101,0,0,0,0,0,0,83,0,0,136,54,0,0,88,53,0,0,0,0,0,0,67,111,110,118,101,120,0,0,49,56,98,116,84,114,105,97,110,103,108,101,67,97,108,108,98,97,99,107,0,0,0,0,216,82,0,0,184,54,0,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,0,0,0,0,0,0,216,82,0,0,216,54,0,0,0,0,0,0,88,56,0,0,129,0,0,0,150,0,0,0,41,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,73,0,0,0,24,0,0,0,8,0,0,0,53,0,0,0,74,0,0,0,14,0,0,0,2,0,0,0,54,0,0,0,22,0,0,0,50,0,0,0,12,0,0,0,38,0,0,0,3,0,0,0,42,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,128,56,0,0,129,0,0,0,151,0,0,0,41,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,73,0,0,0,24,0,0,0,8,0,0,0,55,0,0,0,74,0,0,0,14,0,0,0,2,0,0,0,54,0,0,0,22,0,0,0,50,0,0,0,12,0,0,0,38,0,0,0,3,0,0,0,42,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,168,56,0,0,129,0,0,0,152,0,0,0,41,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,73,0,0,0,24,0,0,0,8,0,0,0,56,0,0,0,74,0,0,0,14,0,0,0,2,0,0,0,54,0,0,0,22,0,0,0,50,0,0,0,12,0,0,0,38,0,0,0,3,0,0,0,42,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,0,0,0,0,49,52,98,116,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,0,83,0,0,64,56,0,0,216,53,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,88,0,0,0,0,0,0,0,0,83,0,0,104,56,0,0,88,56,0,0,0,0,0,0,49,53,98,116,67,97,112,115,117,108,101,83,104,97,112,101,90,0,0,0,0,0,0,0,0,83,0,0,144,56,0,0,88,56,0,0,0,0,0,0,67,97,112,115,117,108,101,90,0,0,0,0,0,0,0,0,67,97,112,115,117,108,101,88,0,0,0,0,0,0,0,0,98,116,67,97,112,115,117,108,101,83,104,97,112,101,68,97,116,97,0,0,0,0,0,0,67,97,112,115,117,108,101,83,104,97,112,101,0,0,0,0,0,0,0,0,168,57,0,0,85,0,0,0,153,0,0,0,37,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,75,0,0,0,57,0,0,0,7,0,0,0,58,0,0,0,49,0,0,0,10,0,0,0,2,0,0,0,26,0,0,0,15,0,0,0,50,0,0,0,39,0,0,0,40,0,0,0,3,0,0,0,43,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,12,0,0,0,59,0,0,0,60,0,0,0,44,0,0,0,41,0,0,0,61,0,0,0,45,0,0,0,3,0,0,0,0,0,0,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,0,0,0,0,0,83,0,0,136,57,0,0,88,53,0,0,0,0,0,0,67,111,110,118,101,120,84,114,105,109,101,115,104,0,0,0,0,0,0,0,0,58,0,0,143,0,0,0,154,0,0,0,46,0,0,0,0,0,0,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,0,0,0,0,83,0,0,224,57,0,0,0,55,0,0,0,0,0,0,49,52,98,116,67,111,110,99,97,118,101,83,104,97,112,101,0,0,0,0,0,0,0,0,0,83,0,0,16,58,0,0,152,53,0,0,0,0,0,0,0,0,0,0,208,58,0,0,85,0,0,0,155,0,0,0,47,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,76,0,0,0,24,0,0,0,9,0,0,0,62,0,0,0,49,0,0,0,15,0,0,0,2,0,0,0,26,0,0,0,15,0,0,0,50,0,0,0,42,0,0,0,43,0,0,0,3,0,0,0,48,0,0,0,14,0,0,0,63,0,0,0,44,0,0,0,12,0,0,0,64,0,0,0,65,0,0,0,49,0,0,0,45,0,0,0,66,0,0,0,50,0,0,0,4,0,0,0,46,0,0,0,49,48,98,116,66,111,120,83,104,97,112,101,0,0,0,0,0,83,0,0,192,58,0,0,32,53,0,0,0,0,0,0,66,111,120,0,0,0,0,0,0,0,0,0,40,59,0,0,156,0,0,0,157,0,0,0,15,0,0,0,67,0,0,0,23,0,0,0,77,0,0,0,78,0,0,0,16,0,0,0,49,52,98,116,79,112,116,105,109,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,0,83,0,0,16,59,0,0,80,68,0,0,0,0,0,0,0,0,0,0,184,59,0,0,143,0,0,0,158,0,0,0,51,0,0,0,0,0,0,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,0,0,0,0,0,83,0,0,80,59,0,0,0,55,0,0,0,0,0,0,0,0,0,0,64,60,0,0,143,0,0,0,159,0,0,0,52,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,224,59,0,0,0,55,0,0,0,0,0,0,0,0,0,0,160,61,0,0,129,0,0,0,160,0,0,0,53,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,79,0,0,0,24,0,0,0,10,0,0,0,68,0,0,0,80,0,0,0,16,0,0,0,2,0,0,0,69,0,0,0,24,0,0,0,50,0,0,0,47,0,0,0,48,0,0,0,3,0,0,0,54,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,6,0,0,0,0,0,0,0,200,61,0,0,129,0,0,0,161,0,0,0,53,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,79,0,0,0,24,0,0,0,10,0,0,0,70,0,0,0,80,0,0,0,16,0,0,0,2,0,0,0,69,0,0,0,24,0,0,0,50,0,0,0,47,0,0,0,49,0,0,0,3,0,0,0,55,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,7,0,0,0,0,0,0,0,240,61,0,0,129,0,0,0,162,0,0,0,53,0,0,0,11,0,0,0,1,0,0,0,1,0,0,0,79,0,0,0,24,0,0,0,10,0,0,0,71,0,0,0,80,0,0,0,16,0,0,0,2,0,0,0,69,0,0,0,24,0,0,0,50,0,0,0,47,0,0,0,50,0,0,0,3,0,0,0,56,0,0,0,14,0,0,0,36,0,0,0,26,0,0,0,8,0,0,0,49,53,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,0,0,0,0,0,0,0,0,83,0,0,136,61,0,0,216,53,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,88,0,0,0,0,0,0,0,83,0,0,176,61,0,0,160,61,0,0,0,0,0,0,49,54,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,90,0,0,0,0,0,0,0,83,0,0,216,61,0,0,160,61,0,0,0,0,0,0,67,121,108,105,110,100,101,114,90,0,0,0,0,0,0,0,67,121,108,105,110,100,101,114,88,0,0,0,0,0,0,0,98,116,67,121,108,105,110,100,101,114,83,104,97,112,101,68,97,116,97,0,0,0,0,0,67,121,108,105,110,100,101,114,89,0,0,0,0,0,0,0,0,0,0,0,168,62,0,0,163,0,0,0,164,0,0,0,57,0,0,0,1,0,0,0,2,0,0,0,81,0,0,0,82,0,0,0,72,0,0,0,83,0,0,0,84,0,0,0,73,0,0,0,51,0,0,0,52,0,0,0,74,0,0,0,25,0,0,0,0,0,0,0,49,52,98,116,84,114,105,97,110,103,108,101,77,101,115,104,0,0,0,0,0,0,0,0,0,83,0,0,144,62,0,0,168,78,0,0,0,0,0,0,0,0,0,0,88,63,0,0,165,0,0,0,166,0,0,0,1,0,0,0,53,0,0,0,9,0,0,0,58,0,0,0,2,0,0,0,59,0,0,0,85,0,0,0,75,0,0,0,76,0,0,0,54,0,0,0,86,0,0,0,167,0,0,0,49,50,98,116,65,120,105,115,83,119,101,101,112,51,0,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,0,0,0,0,0,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,216,82,0,0,40,63,0,0,0,83,0,0,8,63,0,0,64,63,0,0,0,0,0,0,0,83,0,0,248,62,0,0,72,63,0,0,0,0,0,0,0,0,0,0,72,63,0,0,165,0,0,0,168,0,0,0,1,0,0,0,53,0,0,0,9,0,0,0,58,0,0,0,2,0,0,0,59,0,0,0,85,0,0,0,75,0,0,0,76,0,0,0,54,0,0,0,86,0,0,0,167,0,0,0,0,0,0,0,64,64,0,0,169,0,0,0,170,0,0,0,26,0,0,0,17,0,0,0,55,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,56,0,0,0,80,0,0,0,57,0,0,0,87,0,0,0,58,0,0,0,27,0,0,0,81,0,0,0,88,0,0,0,89,0,0,0,0,0,0,0,49,53,98,116,78,117,108,108,80,97,105,114,67,97,99,104,101,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,16,64,0,0,208,1,0,0,0,0,0,0,0,83,0,0,248,63,0,0,48,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,64,0,0,171,0,0,0,172,0,0,0,28,0,0,0,18,0,0,0,59,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,60,0,0,0,85,0,0,0,61,0,0,0,90,0,0,0,62,0,0,0,29,0,0,0,86,0,0,0,91,0,0,0,92,0,0,0,0,0,0,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,0,0,83,0,0,192,64,0,0,48,64,0,0,0,0,0,0,0,0,0,0,144,65,0,0,58,0,0,0,173,0,0,0,19,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,8,65,0,0,152,22,0,0,0,0,0,0,0,0,0,0,40,66,0,0,58,0,0,0,174,0,0,0,20,0,0,0,0,0,0,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,0,0,0,83,0,0,184,65,0,0,152,22,0,0,0,0,0,0,0,0,0,0,144,66,0,0,175,0,0,0,176,0,0,0,2,0,0,0,63,0,0,0,10,0,0,0,60,0,0,0,3,0,0,0,61,0,0,0,93,0,0,0,87,0,0,0,88,0,0,0,64,0,0,0,94,0,0,0,177,0,0,0,49,54,98,116,68,98,118,116,66,114,111,97,100,112,104,97,115,101,0,0,0,0,0,0,0,83,0,0,120,66,0,0,64,63,0,0,0,0,0,0,0,0,0,0,224,66,0,0,107,0,0,0,178,0,0,0,18,0,0,0,95,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,50,48,66,114,111,97,100,112,104,97,115,101,65,97,98,98,84,101,115,116,101,114,0,0,0,83,0,0,200,66,0,0,168,38,0,0,0,0,0,0,0,0,0,0,48,67,0,0,107,0,0,0,179,0,0,0,18,0,0,0,96,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,49,57,66,114,111,97,100,112,104,97,115,101,82,97,121,84,101,115,116,101,114,0,0,0,0,83,0,0,24,67,0,0,168,38,0,0,0,0,0,0,0,0,0,0,128,67,0,0,107,0,0,0,180,0,0,0,65,0,0,0,97,0,0,0,5,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,49,56,98,116,68,98,118,116,84,114,101,101,67,111,108,108,105,100,101,114,0,0,0,0,0,83,0,0,104,67,0,0,168,38,0,0,0,0,0,0,49,50,98,116,68,105,115,112,97,116,99,104,101,114,0,0,216,82,0,0,144,67,0,0,0,0,0,0,80,68,0,0,181,0,0,0,182,0,0,0,15,0,0,0,67,0,0,0,23,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,116,79,112,116,105,109,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,81,117,97,110,116,105,122,101,100,66,118,104,78,111,100,101,68,97,116,97,0,0,98,116,66,118,104,83,117,98,116,114,101,101,73,110,102,111,68,97,116,97,0,0,0,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,49,52,98,116,81,117,97,110,116,105,122,101,100,66,118,104,0,0,0,0,0,0,0,0,216,82,0,0,56,68,0,0,0,0,0,0,192,68,0,0,81,0,0,0,183,0,0,0,22,0,0,0,1,0,0,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,0,0,0,0,0,83,0,0,112,68,0,0,208,54,0,0,0,0,0,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,0,0,83,0,0,160,68,0,0,208,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,73,0,0,184,0,0,0,185,0,0,0,1,0,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,216,82,0,0,248,72,0,0,0,83,0,0,208,72,0,0,32,73,0,0,0,0,0,0,0,0,0,0,8,74,0,0,89,0,0,0,186,0,0,0,66,0,0,0,67,0,0,0,8,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,88,73,0,0,48,31,0,0,0,0,0,0,0,0,0,0,80,74,0,0,187,0,0,0,188,0,0,0,1,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,48,74,0,0,72,75,0,0,0,0,0,0,0,0,0,0,160,74,0,0,184,0,0,0,189,0,0,0,2,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,120,74,0,0,32,73,0,0,0,0,0,0,0,0,0,0,224,74,0,0,187,0,0,0,190,0,0,0,2,0,0,0,0,0,0,0,49,53,98,116,71,106,107,67,111,110,118,101,120,67,97,115,116,0,0,0,0,0,0,0,0,83,0,0,200,74,0,0,72,75,0,0,0,0,0,0,0,0,0,0,40,75,0,0,89,0,0,0,191,0,0,0,68,0,0,0,69,0,0,0,9,0,0,0,0,0,0,0,49,54,98,116,80,111,105,110,116,67,111,108,108,101,99,116,111,114,0,0,0,0,0,0,0,83,0,0,16,75,0,0,48,31,0,0,0,0,0,0,49,50,98,116,67,111,110,118,101,120,67,97,115,116,0,0,216,82,0,0,56,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,75,0,0,187,0,0,0,192,0,0,0,3,0,0,0,0,0,0,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,0,0,0,83,0,0,128,75,0,0,72,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,76,0,0,193,0,0,0,194,0,0,0,11,0,0,0,0,0,0,0,49,55,98,116,71,106,107,80,97,105,114,68,101,116,101,99,116,111,114,0,0,0,0,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,0,216,82,0,0,240,75,0,0,0,83,0,0,216,75,0,0,24,76,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,80,76,0,0,208,27,0,0,0,0,0,0,0,0,0,0,192,76,0,0,195,0,0,0,196,0,0,0,12,0,0,0,8,0,0,0,98,0,0,0,0,0,0,0,49,54,98,116,69,109,112,116,121,65,108,103,111,114,105,116,104,109,0,0,0,0,0,0,0,83,0,0,168,76,0,0,208,27,0,0,0,0,0,0,0,0,0,0,24,77,0,0,197,0,0,0,198,0,0,0,13,0,0,0,9,0,0,0,99,0,0,0,0,0,0,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,0,0,0,0,0,0,83,0,0,240,76,0,0,120,76,0,0,0,0,0,0,0,0,0,0,88,77,0,0,193,0,0,0,199,0,0,0,14,0,0,0,0,0,0,0,49,54,98,116,66,111,120,66,111,120,68,101,116,101,99,116,111,114,0,0,0,0,0,0,0,83,0,0,64,77,0,0,24,76,0,0,0,0,0,0,0,0,0,0,160,77,0,0,193,0,0,0,200,0,0,0,15,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,0,0,128,77,0,0,24,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,78,0,0,201,0,0,0,202,0,0,0,30,0,0,0,31,0,0,0,89,0,0,0,0,0,0,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,0,0,0,0,0,0,216,82,0,0,232,77,0,0,0,0,0,0,56,78,0,0,203,0,0,0,204,0,0,0,49,56,98,116,67,111,110,118,101,120,80,111,108,121,104,101,100,114,111,110,0,0,0,0,216,82,0,0,32,78,0,0,0,0,0,0,168,78,0,0,205,0,0,0,206,0,0,0,57,0,0,0,1,0,0,0,2,0,0,0,81,0,0,0,82,0,0,0,72,0,0,0,100,0,0,0,101,0,0,0,73,0,0,0,51,0,0,0,52,0,0,0,74,0,0,0,25,0,0,0,0,0,0,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,0,0,0,0,83,0,0,136,78,0,0,128,79,0,0,0,0,0,0,98,116,73,110,116,73,110,100,101,120,68,97,116,97,0,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,0,0,0,0,0,98,116,67,104,97,114,73,110,100,101,120,84,114,105,112,108,101,116,68,97,116,97,0,0,98,116,86,101,99,116,111,114,51,70,108,111,97,116,68,97,116,97,0,0,0,0,0,0,98,116,86,101,99,116,111,114,51,68,111,117,98,108,101,68,97,116,97,0,0,0,0,0,98,116,77,101,115,104,80,97,114,116,68,97,116,97,0,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,0,0,0,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,0,0,0,0,0,0,216,82,0,0,96,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,111,111,116,0,0,0,0,144,79,0,0,0,0,0,0,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,117,110,99,97,117,103,104,116,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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,0,0,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,0,0,0,0,0,0,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,0,0,116,101,114,109,105,110,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,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,0,0,0,0,0,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,0,0,0,0,0,0,0,128,81,0,0,207,0,0,0,208,0,0,0,90,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,0,83,0,0,112,81,0,0,208,81,0,0,0,0,0,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,0,0,0,0,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,216,82,0,0,192,81,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,216,82,0,0,216,81,0,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,0,0,0,0,0,0,0,0,83,0,0,240,81,0,0,232,81,0,0,0,0,0,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,0,0,0,0,0,0,0,83,0,0,40,82,0,0,24,82,0,0,0,0,0,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,0,0,0,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,0,0,0,0,0,0,0,83,0,0,136,82,0,0,24,82,0,0,0,0,0,0,0,83,0,0,96,82,0,0,176,82,0,0,0,0,0,0,0,0,0,0,80,82,0,0,209,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,32,0,0,0,4,0,0,0,16,0,0,0,62,0,0,0,0,0,0,0,72,83,0,0,209,0,0,0,213,0,0,0,211,0,0,0,212,0,0,0,32,0,0,0,5,0,0,0,17,0,0,0,63,0,0,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,0,0,0,0,83,0,0,32,83,0,0,80,82,0,0,0,0,0,0,0,0,0,0,168,83,0,0,209,0,0,0,214,0,0,0,211,0,0,0,212,0,0,0,32,0,0,0,6,0,0,0,18,0,0,0,64,0,0,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,0,0,0,83,0,0,128,83,0,0,80,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}var _cosf=Math_cos;Module["_i64Subtract"]=_i64Subtract;var _fabsf=Math_abs;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>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 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 79: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 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 _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 _acosf=Math_acos;Module["_strlen"]=_strlen;var _sqrtf=Math_sqrt;var FS=undefined;var SOCKFS=undefined;function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fputc(c,stream){var chr=unSign(c&255);HEAP8[_fputc.ret>>0]=chr;var fd=_fileno(stream);var ret=_write(fd,_fputc.ret,1);if(ret==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return-1}else{return chr}}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}var _atan2f=Math_atan2;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}function ___cxa_guard_release(){}var _asinf=Math_asin;function ___cxa_guard_acquire(variable){if(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _emscripten_asm_const_double(code){var args=Array.prototype.slice.call(arguments,1);return+Runtime.getAsmConst(code,args.length).apply(null,args)}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}var _sinf=Math_sin;function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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)self.alloc(bytes);return ret}Module["_memmove"]=_memmove;function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function ___cxa_allocate_exception(size){return _malloc(size)}function ___errno_location(){return ___errno_state}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;function _llvm_trap(){abort("trap!")}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _UItoF=true;function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){var textIndex=format;var argIndex=0;function getNextArg(type){var ret;if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3])}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]]}else{type="i32";ret=HEAP32[varargs+argIndex>>2]}argIndex+=Runtime.getNativeFieldSize(type);return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _vfprintf(s,f,va_arg){return _fprintf(s,f,HEAP32[va_arg>>2])}var _stderr=allocate(1,"i32*",ALLOC_STATIC);___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;_fputc.ret=allocate([0],"i8",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE>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 Bc(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 Cc(a){a=a|0;E=a}function Dc(){return E|0}function Ec(a){a=a|0;return 52}function Fc(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+S(+b);f=+S(+c);h=+S(+d);b=+T(+b);c=+T(+c);d=+T(+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 Gc(a,b){a=a|0;b=b|0;var c=0;c=i;Hc(a,b);i=c;return}function Hc(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0,j=0.0,k=0,l=0;c=i;i=i+16|0;f=+g[a>>2];e=+g[a+20>>2];d=+g[a+40>>2];if(f+e+d>0.0){f=+Q(+(f+e+d+1.0));g[c+12>>2]=f*.5;j=(+g[a+36>>2]- +g[a+24>>2])*(.5/f);g[c>>2]=j;d=(+g[a+8>>2]- +g[a+32>>2])*(.5/f);g[c+4>>2]=d;e=(+g[a+16>>2]- +g[a+4>>2])*(.5/f);g[c+8>>2]=e;f=f*.5;g[b>>2]=j;h=b+4|0;g[h>>2]=d;h=b+8|0;g[h>>2]=e;h=b+12|0;g[h>>2]=f;i=c;return}if(f>>0)%3|0;k=((h+2|0)>>>0)%3|0;d=+Q(+(+g[a+(h<<4)+(h<<2)>>2]- +g[a+(l<<4)+(l<<2)>>2]- +g[a+(k<<4)+(k<<2)>>2]+1.0));g[c+(h<<2)>>2]=d*.5;g[c+12>>2]=(+g[a+(k<<4)+(l<<2)>>2]- +g[a+(l<<4)+(k<<2)>>2])*(.5/d);g[c+(l<<2)>>2]=(+g[a+(l<<4)+(h<<2)>>2]+ +g[a+(h<<4)+(l<<2)>>2])*(.5/d);g[c+(k<<2)>>2]=(+g[a+(k<<4)+(h<<2)>>2]+ +g[a+(h<<4)+(k<<2)>>2])*(.5/d);d=+g[c>>2];e=+g[c+4>>2];f=+g[c+8>>2];j=+g[c+12>>2];g[b>>2]=d;h=b+4|0;g[h>>2]=e;h=b+8|0;g[h>>2]=f;h=b+12|0;g[h>>2]=j;i=c;return}function Ic(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Jc(){var a=0,d=0,e=0;a=i;d=XE(8)|0;a:do if((d|0)==0){while(1){d=c[5158]|0;c[5158]=d+0;if((d|0)==0)break;sc[d&3]();d=XE(8)|0;if((d|0)!=0)break a}d=Ab(4)|0;c[d>>2]=20472;yb(d|0,20520,265)}while(0);e=d;c[e>>2]=0;c[e+4>>2]=0;b[d+4>>1]=1;b[d+6>>1]=-1;c[d>>2]=840;i=a;return d|0}function Kc(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0.0,l=0;l=i;k=+Vb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,j);i=l;return+k}function Lc(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Mc(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(95)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}Xs(e,a,b,1);i=d;return e|0}function Nc(a){a=a|0;ib(a|0)|0;yE()}function Oc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(95)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}Xs(f,a,b,d);i=e;return f|0}function Pc(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Qc(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Rc(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Sc(){var a=0,b=0;a=i;b=XE(196)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(196)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(0);Px(b,0);i=a;return b|0}function Tc(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Uc(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Vc(){var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(215)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[d>>2]=4024;a[d+20>>0]=1;c[d+16>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+40>>0]=1;c[d+36>>2]=0;c[d+28>>2]=0;c[d+32>>2]=0;a[d+60>>0]=1;c[d+56>>2]=0;c[d+48>>2]=0;c[d+52>>2]=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;a[d+160>>0]=1;c[d+156>>2]=0;c[d+148>>2]=0;c[d+152>>2]=0;a[d+180>>0]=1;c[d+176>>2]=0;c[d+168>>2]=0;c[d+172>>2]=0;c[d+192>>2]=0;i=b;return d|0}function Wc(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Xc(a){a=a|0;return+(+g[a>>2])}function Yc(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Zc(a){a=a|0;return c[a+4>>2]|0}function _c(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function $c(a){a=a|0;return c[a+8>>2]|0}function ad(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function bd(a){a=a|0;return+(+g[a+12>>2])}function cd(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function dd(b){b=b|0;return(a[b+16>>0]&1)!=0|0}function ed(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function fd(b){b=b|0;return(a[b+24>>0]&1)!=0|0}function gd(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function hd(b){b=b|0;return(a[b+25>>0]&1)!=0|0}function id(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function jd(b){b=b|0;return(a[b+26>>0]&1)!=0|0}function kd(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function ld(a){a=a|0;return+(+g[a+28>>2])}function md(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function nd(b){b=b|0;return(a[b+32>>0]&1)!=0|0}function od(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function pd(a){a=a|0;return+(+g[a+36>>2])}function qd(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function rd(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function sd(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(75)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e>>2]=6296;c[e+4>>2]=10;c[e+52>>2]=1;g[e+28>>2]=a;g[e+32>>2]=b*.5;g[e+36>>2]=a;g[e+40>>2]=0.0;i=d;return e|0}function td(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function ud(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function vd(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function wd(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function xd(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(135)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}Qr(e,a,b,16384,0,0);i=d;return e|0}function yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(135)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}Qr(f,a,b,d&65535,0,0);i=e;return f|0}function zd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;c[5004]=(c[5004]|0)+1;g=XE(135)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}Qr(g,a,b,d&65535,e,0);i=f;return g|0}function Ad(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;c[5004]=(c[5004]|0)+1;h=XE(135)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}Qr(h,a,b,d&65535,e,f);i=g;return h|0}function Bd(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Cd(){var b=0,d=0,e=0,f=0,h=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(307)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749400.0;h=d+188|0;e=d+204|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e>>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;e=d+236|0;c[d+240>>2]=0;g[d+244>>2]=1.0;h=d+248|0;f=d+4|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=d+8|0;h=d+24|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[h>>2]=1.0;h=d+28|0;f=d+44|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=d+48|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;a[d+280>>0]=1;c[d+276>>2]=0;c[d+268>>2]=0;c[d+272>>2]=0;c[e>>2]=4;c[d>>2]=13056;c[5004]=(c[5004]|0)+1;e=XE(95)|0;if((e|0)==0){f=0;h=d+284|0;c[h>>2]=f;i=b;return d|0}c[(e+19&-16)+ -4>>2]=e;if((e+19&-16|0)==0){f=0;h=d+284|0;c[h>>2]=f;i=b;return d|0}Oz(e+19&-16);f=e+19&-16;h=d+284|0;c[h>>2]=f;i=b;return d|0}function Dd(a){a=a|0;return c[a+192>>2]|0}function Ed(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Fd(a,b){a=a|0;b=b|0;var d=0;d=i;if(((c[a+216>>2]|0)+ -4|0)>>>0<2){i=d;return}c[a+216>>2]=b;i=d;return}function Gd(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Hd(a){a=a|0;var b=0;b=i;if((c[a+204>>2]&3|0)!=0){i=b;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function Id(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function Jd(a){a=a|0;a=c[a+216>>2]|0;return((a|0)==2?0:(a|0)!=5)|0}function Kd(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function Ld(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Md(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Nd(a){a=a|0;return a+4|0}function Od(a){a=a|0;return c[a+204>>2]|0}function Pd(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Qd(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];i=d;return}function Rd(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function Sd(a){a=a|0;return c[a+268>>2]|0}function Td(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function Ud(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+8>>2]&511](a);i=b;return}function Vd(b,d,e){b=+b;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;f=i;h=XE(140)|0;a:do if((h|0)==0){while(1){h=c[5158]|0;c[5158]=h+0;if((h|0)==0)break;sc[h&3]();h=XE(140)|0;if((h|0)!=0)break a}k=Ab(4)|0;c[k>>2]=20472;yb(k|0,20520,265)}while(0);g[h>>2]=b;c[h+4>>2]=d;d=h+8|0;j=h+56|0;k=d;do k=k+16|0;while((k|0)!=(j|0));c[h+72>>2]=e;j=h+76|0;k=h+100|0;c[j+0>>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;g[k>>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;an(d);i=f;return h|0}function Wd(b,d,e,f){b=+b;d=d|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0;h=i;j=XE(140)|0;a:do if((j|0)==0){while(1){j=c[5158]|0;c[5158]=j+0;if((j|0)==0)break;sc[j&3]();j=XE(140)|0;if((j|0)!=0)break a}l=Ab(4)|0;c[l>>2]=20472;yb(l|0,20520,265)}while(0);g[j>>2]=b;c[j+4>>2]=d;d=j+8|0;k=j+56|0;l=d;do l=l+16|0;while((l|0)!=(k|0));c[j+72>>2]=e;l=j+76|0;c[l+0>>2]=c[f+0>>2];c[l+4>>2]=c[f+4>>2];c[l+8>>2]=c[f+8>>2];c[l+12>>2]=c[f+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;an(d);i=h;return j|0}function Xd(a){a=a|0;return+(+g[a+92>>2])}function Yd(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function Zd(a){a=a|0;return+(+g[a+96>>2])}function _d(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function $d(a){a=a|0;return+(+g[a+100>>2])}function ae(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function be(a){a=a|0;return+(+g[a+104>>2])}function ce(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function de(a){a=a|0;return+(+g[a+108>>2])}function ee(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function fe(a){a=a|0;return+(+g[a+112>>2])}function ge(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function he(a){a=a|0;return+(+g[a+116>>2])}function ie(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function je(b){b=b|0;return(a[b+120>>0]&1)!=0|0}function ke(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function le(a){a=a|0;return+(+g[a+124>>2])}function me(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function ne(a){a=a|0;return+(+g[a+128>>2])}function oe(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function pe(a){a=a|0;return+(+g[a+132>>2])}function qe(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function re(a){a=a|0;return+(+g[a+136>>2])}function se(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function te(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function ue(a){a=a|0;return a+48|0}function ve(a){a=a|0;return a+32|0}function we(a){a=a|0;return a|0}function xe(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+0>>2]=c[b+0>>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];i=d;return}function ye(a){a=a|0;return a+16|0}function ze(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+16>>2]=c[b+0>>2];c[a+20>>2]=c[b+4>>2];c[a+24>>2]=c[b+8>>2];c[a+28>>2]=c[b+12>>2];i=d;return}function Ae(a){a=a|0;return a+32|0}function Be(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+32>>2]=c[b+0>>2];c[a+36>>2]=c[b+4>>2];c[a+40>>2]=c[b+8>>2];c[a+44>>2]=c[b+12>>2];i=d;return}function Ce(a){a=a|0;return a+48|0}function De(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+48>>2]=c[b+0>>2];c[a+52>>2]=c[b+4>>2];c[a+56>>2]=c[b+8>>2];c[a+60>>2]=c[b+12>>2];i=d;return}function Ee(a){a=a|0;return a+64|0}function Fe(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+64>>2]=c[b+0>>2];c[a+68>>2]=c[b+4>>2];c[a+72>>2]=c[b+8>>2];c[a+76>>2]=c[b+12>>2];i=d;return}function Ge(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function He(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,o=0,p=0;f=i;i=i+96|0;c[5004]=(c[5004]|0)+1;h=XE(1331)|0;if((h|0)==0)k=0;else{c[(h+19&-16)+ -4>>2]=h;k=h+19&-16}if((a[5024]|0)==0?(Ya(5024)|0)!=0:0){c[f+80>>2]=0;c[f+84>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;br(4408,0.0,0,0,f+80|0);bb(5024)}c[f+64>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=0;cr(4408,0.0,f+64|0);c[k+4>>2]=6;c[k+8>>2]=-1;c[k+12>>2]=-1;g[k+16>>2]=3.4028234663852886e+38;a[k+20>>0]=1;a[k+21>>0]=0;c[k+24>>2]=-1;j=k+28|0;c[j>>2]=4408;h=k+32|0;c[h>>2]=b;g[k+36>>2]=0.0;g[k+40>>2]=.30000001192092896;c[k+44>>2]=0;c[k>>2]=2368;l=k+112|0;c[l+0>>2]=c[d+0>>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];o=k+128|0;c[o+0>>2]=c[d+16>>2];c[o+4>>2]=c[d+20>>2];c[o+8>>2]=c[d+24>>2];c[o+12>>2]=c[d+28>>2];o=k+144|0;c[o+0>>2]=c[d+32>>2];c[o+4>>2]=c[d+36>>2];c[o+8>>2]=c[d+40>>2];c[o+12>>2]=c[d+44>>2];o=k+160|0;c[o+0>>2]=c[d+48>>2];c[o+4>>2]=c[d+52>>2];c[o+8>>2]=c[d+56>>2];c[o+12>>2]=c[d+60>>2];o=k+48|0;p=k+740|0;m=k+756|0;d=k+680|0;n=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(n|0));c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;g[m>>2]=.20000000298023224;g[k+760>>2]=.20000000298023224;g[k+764>>2]=.20000000298023224;n=k+768|0;p=k+728|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;g[p>>2]=.699999988079071;g[k+732>>2]=1.0;g[k+736>>2]=.5;a[k+788>>0]=0;g[k+792>>2]=0.0;g[k+808>>2]=0.0;a[k+789>>0]=0;g[k+796>>2]=0.0;g[k+812>>2]=0.0;a[k+790>>0]=0;g[k+800>>2]=0.0;g[k+816>>2]=0.0;g[k+928>>2]=0.0;g[k+876>>2]=0.0;g[k+880>>2]=.10000000149011612;g[k+884>>2]=300.0;g[k+868>>2]=1.0;g[k+872>>2]=-1.0;g[k+896>>2]=0.0;g[k+900>>2]=.20000000298023224;g[k+904>>2]=0.0;g[k+908>>2]=0.0;g[k+888>>2]=1.0;g[k+892>>2]=.5;c[k+924>>2]=0;g[k+916>>2]=0.0;a[k+912>>0]=0;g[k+992>>2]=0.0;g[k+940>>2]=0.0;g[k+944>>2]=.10000000149011612;g[k+948>>2]=300.0;g[k+932>>2]=1.0;g[k+936>>2]=-1.0;g[k+960>>2]=0.0;g[k+964>>2]=.20000000298023224;g[k+968>>2]=0.0;g[k+972>>2]=0.0;g[k+952>>2]=1.0;g[k+956>>2]=.5;c[k+988>>2]=0;g[k+980>>2]=0.0;a[k+976>>0]=0;g[k+1056>>2]=0.0;g[k+1004>>2]=0.0;g[k+1008>>2]=.10000000149011612;g[k+1012>>2]=300.0;g[k+996>>2]=1.0;g[k+1e3>>2]=-1.0;g[k+1024>>2]=0.0;g[k+1028>>2]=.20000000298023224;g[k+1032>>2]=0.0;g[k+1036>>2]=0.0;g[k+1016>>2]=1.0;g[k+1020>>2]=.5;c[k+1052>>2]=0;g[k+1044>>2]=0.0;a[k+1040>>0]=0;a[k+1300>>0]=e&1;a[k+1301>>0]=1;c[k+1304>>2]=0;a[k+1308>>0]=0;co(f,b+4|0,l);c[o+0>>2]=c[f+0>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];p=k+64|0;c[p+0>>2]=c[f+16>>2];c[p+4>>2]=c[f+20>>2];c[p+8>>2]=c[f+24>>2];c[p+12>>2]=c[f+28>>2];p=k+80|0;c[p+0>>2]=c[f+32>>2];c[p+4>>2]=c[f+36>>2];c[p+8>>2]=c[f+40>>2];c[p+12>>2]=c[f+44>>2];p=k+96|0;c[p+0>>2]=c[f+48>>2];c[p+4>>2]=c[f+52>>2];c[p+8>>2]=c[f+56>>2];c[p+12>>2]=c[f+60>>2];Kp(k,(c[j>>2]|0)+4|0,(c[h>>2]|0)+4|0);i=f;return k|0}function Ie(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;j=i;c[5004]=(c[5004]|0)+1;k=XE(1331)|0;if((k|0)==0)l=0;else{c[(k+19&-16)+ -4>>2]=k;l=k+19&-16}c[l+4>>2]=6;c[l+8>>2]=-1;c[l+12>>2]=-1;g[l+16>>2]=3.4028234663852886e+38;a[l+20>>0]=1;a[l+21>>0]=0;c[l+24>>2]=-1;k=l+28|0;c[k>>2]=b;b=l+32|0;c[b>>2]=d;g[l+36>>2]=0.0;g[l+40>>2]=.30000001192092896;c[l+44>>2]=0;c[l>>2]=2368;m=l+48|0;c[m+0>>2]=c[e+0>>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];m=l+64|0;c[m+0>>2]=c[e+16>>2];c[m+4>>2]=c[e+20>>2];c[m+8>>2]=c[e+24>>2];c[m+12>>2]=c[e+28>>2];m=l+80|0;c[m+0>>2]=c[e+32>>2];c[m+4>>2]=c[e+36>>2];c[m+8>>2]=c[e+40>>2];c[m+12>>2]=c[e+44>>2];m=l+96|0;c[m+0>>2]=c[e+48>>2];c[m+4>>2]=c[e+52>>2];c[m+8>>2]=c[e+56>>2];c[m+12>>2]=c[e+60>>2];e=l+112|0;c[e+0>>2]=c[f+0>>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=l+128|0;c[e+0>>2]=c[f+16>>2];c[e+4>>2]=c[f+20>>2];c[e+8>>2]=c[f+24>>2];c[e+12>>2]=c[f+28>>2];e=l+144|0;c[e+0>>2]=c[f+32>>2];c[e+4>>2]=c[f+36>>2];c[e+8>>2]=c[f+40>>2];c[e+12>>2]=c[f+44>>2];e=l+160|0;c[e+0>>2]=c[f+48>>2];c[e+4>>2]=c[f+52>>2];c[e+8>>2]=c[f+56>>2];c[e+12>>2]=c[f+60>>2];e=l+740|0;f=l+756|0;m=l+680|0;d=m+48|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(d|0));c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[f>>2]=.20000000298023224;g[l+760>>2]=.20000000298023224;g[l+764>>2]=.20000000298023224;f=l+768|0;m=l+728|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;g[m>>2]=.699999988079071;g[l+732>>2]=1.0;g[l+736>>2]=.5;a[l+788>>0]=0;g[l+792>>2]=0.0;g[l+808>>2]=0.0;a[l+789>>0]=0;g[l+796>>2]=0.0;g[l+812>>2]=0.0;a[l+790>>0]=0;g[l+800>>2]=0.0;g[l+816>>2]=0.0;g[l+928>>2]=0.0;g[l+876>>2]=0.0;g[l+880>>2]=.10000000149011612;g[l+884>>2]=300.0;g[l+868>>2]=1.0;g[l+872>>2]=-1.0;g[l+896>>2]=0.0;g[l+900>>2]=.20000000298023224;g[l+904>>2]=0.0;g[l+908>>2]=0.0;g[l+888>>2]=1.0;g[l+892>>2]=.5;c[l+924>>2]=0;g[l+916>>2]=0.0;a[l+912>>0]=0;g[l+992>>2]=0.0;g[l+940>>2]=0.0;g[l+944>>2]=.10000000149011612;g[l+948>>2]=300.0;g[l+932>>2]=1.0;g[l+936>>2]=-1.0;g[l+960>>2]=0.0;g[l+964>>2]=.20000000298023224;g[l+968>>2]=0.0;g[l+972>>2]=0.0;g[l+952>>2]=1.0;g[l+956>>2]=.5;c[l+988>>2]=0;g[l+980>>2]=0.0;a[l+976>>0]=0;g[l+1056>>2]=0.0;g[l+1004>>2]=0.0;g[l+1008>>2]=.10000000149011612;g[l+1012>>2]=300.0;g[l+996>>2]=1.0;g[l+1e3>>2]=-1.0;g[l+1024>>2]=0.0;g[l+1028>>2]=.20000000298023224;g[l+1032>>2]=0.0;g[l+1036>>2]=0.0;g[l+1016>>2]=1.0;g[l+1020>>2]=.5;c[l+1052>>2]=0;g[l+1044>>2]=0.0;a[l+1040>>0]=0;a[l+1300>>0]=h&1;a[l+1301>>0]=1;c[l+1304>>2]=0;a[l+1308>>0]=0;Kp(l,(c[k>>2]|0)+4|0,(c[b>>2]|0)+4|0);i=j;return l|0}function Je(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Ke(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Le(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Me(a){a=a|0;return c[a+192>>2]|0}function Ne(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Oe(a,b){a=a|0;b=b|0;var d=0;d=i;if(((c[a+216>>2]|0)+ -4|0)>>>0<2){i=d;return}c[a+216>>2]=b;i=d;return}function Pe(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Qe(a){a=a|0;var b=0;b=i;if((c[a+204>>2]&3|0)!=0){i=b;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function Re(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function Se(a){a=a|0;a=c[a+216>>2]|0;return((a|0)==2?0:(a|0)!=5)|0}function Te(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function Ue(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Ve(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function We(a){a=a|0;return a+4|0}function Xe(a){a=a|0;return c[a+204>>2]|0}function Ye(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Ze(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];i=d;return}function _e(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function $e(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+8>>2]&511](a);i=b;return}function af(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;f=i;c[5004]=(c[5004]|0)+1;h=XE(343)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}a[h+20>>0]=1;c[h+16>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+24>>2]=b;g[h+28>>2]=0.0;c[h+32>>2]=0;c[h+36>>2]=1;g[h+40>>2]=1.0;a[h+44>>0]=1;c[h+48>>2]=0;a[h+52>>0]=0;a[h+53>>0]=1;a[h+54>>0]=1;g[h+56>>2]=.03999999910593033;a[h+60>>0]=0;g[h+64>>2]=0.0;c[h+68>>2]=d;c[h+72>>2]=0;a[h+76>>0]=1;c[h+80>>2]=0;c[h+84>>2]=0;c[h+88>>2]=0;g[h+92>>2]=.6000000238418579;g[h+96>>2]=1.0;g[h+100>>2]=.30000001192092896;g[h+104>>2]=.01666666753590107;g[h+108>>2]=0.0;g[h+116>>2]=20.0;c[h+112>>2]=10;g[h+124>>2]=.20000000298023224;g[h+128>>2]=.800000011920929;g[h+132>>2]=0.0;g[h+120>>2]=1.0;c[h+136>>2]=1;g[h+140>>2]=-.03999999910593033;g[h+144>>2]=.10000000149011612;g[h+148>>2]=0.0;g[h+152>>2]=.8500000238418579;c[h+156>>2]=260;c[h+160>>2]=2;c[h+164>>2]=128;g[h+168>>2]=100.0;g[h+172>>2]=1.0000000150474662e+30;c[h>>2]=1392;a[h+192>>0]=1;c[h+188>>2]=0;c[h+180>>2]=0;c[h+184>>2]=0;d=h+196|0;c[d>>2]=0;j=h+200|0;c[j>>2]=e;a[h+224>>0]=1;c[h+220>>2]=0;c[h+212>>2]=0;c[h+216>>2]=0;a[h+244>>0]=1;c[h+240>>2]=0;c[h+232>>2]=0;c[h+236>>2]=0;g[h+248>>2]=0.0;g[h+252>>2]=-10.0;m=h+256|0;a[h+274>>0]=0;a[h+275>>0]=0;l=h+292|0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;a[l>>0]=1;c[h+288>>2]=0;c[h+280>>2]=0;c[h+284>>2]=0;c[h+296>>2]=0;a[h+300>>0]=1;a[h+320>>0]=1;c[h+316>>2]=0;c[h+308>>2]=0;c[h+312>>2]=0;if((e|0)==0){c[5004]=(c[5004]|0)+1;e=XE(215)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e>>2]=4024;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[j>>2]=e;a[h+273>>0]=1}else a[h+273>>0]=0;c[5004]=(c[5004]|0)+1;e=XE(87)|0;if((e|0)!=0?(k=e+19&-16,c[k+ -4>>2]=e,(e+19&-16|0)!=0):0){c[(e+19&-16)>>2]=16568;a[k+20>>0]=1;c[k+16>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[k+40>>0]=1;c[k+36>>2]=0;c[k+28>>2]=0;c[k+32>>2]=0;a[k+60>>0]=1;c[k+56>>2]=0;c[k+48>>2]=0;c[k+52>>2]=0;a[k+64>>0]=1;k=e+19&-16}else k=0;c[h+204>>2]=k;a[h+272>>0]=1;c[5004]=(c[5004]|0)+1;k=XE(107)|0;if((k|0)==0){m=0;c[d>>2]=m;i=f;return h|0}e=k+19&-16;c[e+ -4>>2]=k;if((k+19&-16|0)==0){m=0;c[d>>2]=m;i=f;return h|0}m=c[j>>2]|0;c[(k+19&-16)>>2]=2240;c[e+4>>2]=0;c[e+8>>2]=m;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=b;a[e+44>>0]=1;c[e+40>>2]=0;c[e+32>>2]=0;c[e+36>>2]=0;a[e+64>>0]=1;c[e+60>>2]=0;c[e+52>>2]=0;c[e+56>>2]=0;a[e+84>>0]=1;c[e+80>>2]=0;c[e+72>>2]=0;c[e+76>>2]=0;m=k+19&-16;c[d>>2]=m;i=f;return h|0}function bf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+72>>2]&127](a,b);i=d;return}function cf(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[24]|0)==0?(Ya(24)|0)!=0:0)bb(24);Nb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[2]=c[d+0>>2];c[3]=c[d+4>>2];c[4]=c[d+8>>2];c[5]=c[d+12>>2];i=d;return 8}function df(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+84>>2]&127](a,b);i=d;return}function ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);i=f;return}function ff(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+92>>2]&127](a,b);i=d;return}function gf(a,b){a=a|0;b=b|0;var d=0;d=i;rc[c[(c[a>>2]|0)+56>>2]&127](a,b,0);i=d;return}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;rc[c[(c[a>>2]|0)+56>>2]&127](a,b,d);i=e;return}function jf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+60>>2]&127](a,b);i=d;return}function kf(a,b){a=a|0;b=+b;var d=0;d=i;a=uc[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0;i=d;return a|0}function lf(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;a=uc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0;i=e;return a|0}function mf(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;var f=0;f=i;a=uc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0;i=f;return a|0}function nf(a){a=a|0;return c[a+24>>2]|0}function of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function pf(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Pb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function qf(a){a=a|0;return a+28|0}function rf(a,b){a=a|0;b=b|0;var d=0;d=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);i=d;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);i=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function uf(a){a=a|0;return c[a+68>>2]|0}function vf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;Eu(a,b,c,d,e,f);i=g;return}function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Gu(a,b,c,d);i=e;return}function xf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function yf(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function zf(b){b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(115)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;g[e+56>>2]=1.0;g[e+60>>2]=1.0;g[e+64>>2]=1.0;g[e+68>>2]=0.0;g[e+72>>2]=-1.0;g[e+76>>2]=-1.0;g[e+80>>2]=-1.0;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=10656;c[e+92>>2]=b;c[e+4>>2]=3;uA(e);i=d;return e|0}function Af(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(115)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}c[f+8>>2]=0;g[f+12>>2]=1.0;g[f+16>>2]=1.0;g[f+20>>2]=1.0;g[f+24>>2]=0.0;g[f+44>>2]=.03999999910593033;c[f+52>>2]=0;g[f+56>>2]=1.0;g[f+60>>2]=1.0;g[f+64>>2]=1.0;g[f+68>>2]=0.0;g[f+72>>2]=-1.0;g[f+76>>2]=-1.0;g[f+80>>2]=-1.0;g[f+84>>2]=0.0;a[f+88>>0]=0;c[f>>2]=10656;c[f+92>>2]=b;c[f+4>>2]=3;if(!d){i=e;return f|0}uA(f);i=e;return f|0}function Bf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Cf(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Df(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Ef(a){a=a|0;return+g[a+4>>2]<1.0|0}function Ff(a){a=a|0;return b[a+8>>1]|0}function Gf(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Hf(a){a=a|0;return b[a+10>>1]|0}function If(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function Jf(a){a=a|0;return+(+g[a+4>>2])}function Kf(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Lf(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Mf(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;e=i;c[5004]=(c[5004]|0)+1;f=XE(379)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}Or(f,3,b);c[f>>2]=2984;n=f+300|0;c[n+0>>2]=c[d+0>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];m=+g[d>>2];l=+g[d+4>>2];k=+g[d+8>>2];j=m*+g[b+20>>2]+l*+g[b+24>>2]+k*+g[b+28>>2]+ +g[b+56>>2];h=m*+g[b+36>>2]+l*+g[b+40>>2]+k*+g[b+44>>2]+ +g[b+60>>2];g[f+316>>2]=m*+g[b+4>>2]+l*+g[b+8>>2]+k*+g[b+12>>2]+ +g[b+52>>2];g[f+320>>2]=j;g[f+324>>2]=h;g[f+328>>2]=0.0;c[f+332>>2]=0;a[f+344>>0]=0;g[f+348>>2]=.30000001192092896;g[f+352>>2]=1.0;g[f+356>>2]=0.0;i=e;return f|0}function Nf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;h=i;c[5004]=(c[5004]|0)+1;j=XE(379)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}c[j+4>>2]=3;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3.4028234663852886e+38;a[j+20>>0]=1;a[j+21>>0]=0;c[j+24>>2]=-1;c[j+28>>2]=b;c[j+32>>2]=d;g[j+36>>2]=0.0;g[j+40>>2]=.30000001192092896;c[j+44>>2]=0;c[j>>2]=2984;d=j+300|0;c[d+0>>2]=c[e+0>>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=j+316|0;c[e+0>>2]=c[f+0>>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[j+332>>2]=0;a[j+344>>0]=0;g[j+348>>2]=.30000001192092896;g[j+352>>2]=1.0;g[j+356>>2]=0.0;i=h;return j|0}function Of(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+300>>2]=c[b+0>>2];c[a+304>>2]=c[b+4>>2];c[a+308>>2]=c[b+8>>2];c[a+312>>2]=c[b+12>>2];i=d;return}function Pf(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+316>>2]=c[b+0>>2];c[a+320>>2]=c[b+4>>2];c[a+324>>2]=c[b+8>>2];c[a+328>>2]=c[b+12>>2];i=d;return}function Qf(a){a=a|0;return a+300|0}function Rf(a){a=a|0;return a+316|0}function Sf(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Tf(a){a=a|0;return a+348|0}function Uf(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+348>>2]=c[b+0>>2];c[a+352>>2]=c[b+4>>2];c[a+356>>2]=c[b+8>>2];i=d;return}function Vf(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Wf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+8>>2]&127](a,b);i=d;return}function Xf(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function Yf(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Zf(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;f=i;i=i+96|0;c[5004]=(c[5004]|0)+1;h=XE(1147)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}if((a[5024]|0)==0?(Ya(5024)|0)!=0:0){c[f+80>>2]=0;c[f+84>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;br(4408,0.0,0,0,f+80|0);bb(5024)}c[f+64>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=0;cr(4408,0.0,f+64|0);c[h+4>>2]=7;c[h+8>>2]=-1;c[h+12>>2]=-1;g[h+16>>2]=3.4028234663852886e+38;a[h+20>>0]=1;a[h+21>>0]=0;c[h+24>>2]=-1;k=h+28|0;c[k>>2]=4408;j=h+32|0;c[j>>2]=b;g[h+36>>2]=0.0;g[h+40>>2]=.30000001192092896;c[h+44>>2]=0;c[h>>2]=4264;a[h+48>>0]=0;l=h+116|0;c[l+0>>2]=c[d+0>>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];m=h+132|0;c[m+0>>2]=c[d+16>>2];c[m+4>>2]=c[d+20>>2];c[m+8>>2]=c[d+24>>2];c[m+12>>2]=c[d+28>>2];m=h+148|0;c[m+0>>2]=c[d+32>>2];c[m+4>>2]=c[d+36>>2];c[m+8>>2]=c[d+40>>2];c[m+12>>2]=c[d+44>>2];m=h+164|0;c[m+0>>2]=c[d+48>>2];c[m+4>>2]=c[d+52>>2];c[m+8>>2]=c[d+56>>2];c[m+12>>2]=c[d+60>>2];a[h+180>>0]=e&1;d=h+52|0;co(f,b+4|0,l);c[d+0>>2]=c[f+0>>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=h+68|0;c[d+0>>2]=c[f+16>>2];c[d+4>>2]=c[f+20>>2];c[d+8>>2]=c[f+24>>2];c[d+12>>2]=c[f+28>>2];d=h+84|0;c[d+0>>2]=c[f+32>>2];c[d+4>>2]=c[f+36>>2];c[d+8>>2]=c[f+40>>2];c[d+12>>2]=c[f+44>>2];d=h+100|0;c[d+0>>2]=c[f+48>>2];c[d+4>>2]=c[f+52>>2];c[d+8>>2]=c[f+56>>2];c[d+12>>2]=c[f+60>>2];g[h+184>>2]=1.0;g[h+188>>2]=-1.0;g[h+192>>2]=0.0;g[h+196>>2]=0.0;g[h+200>>2]=1.0;g[h+204>>2]=.699999988079071;g[h+208>>2]=0.0;g[h+212>>2]=0.0;g[h+216>>2]=1.0;g[h+220>>2]=.699999988079071;g[h+224>>2]=0.0;g[h+228>>2]=0.0;g[h+264>>2]=1.0;g[h+268>>2]=.699999988079071;g[h+272>>2]=1.0;g[h+276>>2]=0.0;g[h+280>>2]=1.0;g[h+284>>2]=.699999988079071;g[h+288>>2]=1.0;g[h+292>>2]=0.0;g[h+232>>2]=1.0;g[h+236>>2]=.699999988079071;g[h+240>>2]=1.0;g[h+244>>2]=0.0;g[h+248>>2]=1.0;g[h+252>>2]=.699999988079071;g[h+256>>2]=1.0;g[h+260>>2]=0.0;a[h+1096>>0]=0;d=h+1100|0;g[h+1116>>2]=0.0;g[h+1120>>2]=0.0;g[h+1124>>2]=0.0;c[h+300>>2]=0;e=h+49|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+12>>0]=0;a[e>>0]=1;Fr(h,(c[k>>2]|0)+4|0,(c[j>>2]|0)+4|0);i=f;return h|0}function _f(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;j=i;c[5004]=(c[5004]|0)+1;k=XE(1147)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}c[k+4>>2]=7;c[k+8>>2]=-1;c[k+12>>2]=-1;g[k+16>>2]=3.4028234663852886e+38;a[k+20>>0]=1;a[k+21>>0]=0;c[k+24>>2]=-1;l=k+28|0;c[l>>2]=b;b=k+32|0;c[b>>2]=d;g[k+36>>2]=0.0;g[k+40>>2]=.30000001192092896;c[k+44>>2]=0;c[k>>2]=4264;a[k+48>>0]=0;d=k+52|0;c[d+0>>2]=c[e+0>>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+68|0;c[d+0>>2]=c[e+16>>2];c[d+4>>2]=c[e+20>>2];c[d+8>>2]=c[e+24>>2];c[d+12>>2]=c[e+28>>2];d=k+84|0;c[d+0>>2]=c[e+32>>2];c[d+4>>2]=c[e+36>>2];c[d+8>>2]=c[e+40>>2];c[d+12>>2]=c[e+44>>2];d=k+100|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];e=k+116|0;c[e+0>>2]=c[f+0>>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=k+132|0;c[e+0>>2]=c[f+16>>2];c[e+4>>2]=c[f+20>>2];c[e+8>>2]=c[f+24>>2];c[e+12>>2]=c[f+28>>2];e=k+148|0;c[e+0>>2]=c[f+32>>2];c[e+4>>2]=c[f+36>>2];c[e+8>>2]=c[f+40>>2];c[e+12>>2]=c[f+44>>2];e=k+164|0;c[e+0>>2]=c[f+48>>2];c[e+4>>2]=c[f+52>>2];c[e+8>>2]=c[f+56>>2];c[e+12>>2]=c[f+60>>2];a[k+180>>0]=h&1;g[k+184>>2]=1.0;g[k+188>>2]=-1.0;g[k+192>>2]=0.0;g[k+196>>2]=0.0;g[k+200>>2]=1.0;g[k+204>>2]=.699999988079071;g[k+208>>2]=0.0;g[k+212>>2]=0.0;g[k+216>>2]=1.0;g[k+220>>2]=.699999988079071;g[k+224>>2]=0.0;g[k+228>>2]=0.0;g[k+264>>2]=1.0;g[k+268>>2]=.699999988079071;g[k+272>>2]=1.0;g[k+276>>2]=0.0;g[k+280>>2]=1.0;g[k+284>>2]=.699999988079071;g[k+288>>2]=1.0;g[k+292>>2]=0.0;g[k+232>>2]=1.0;g[k+236>>2]=.699999988079071;g[k+240>>2]=1.0;g[k+244>>2]=0.0;g[k+248>>2]=1.0;g[k+252>>2]=.699999988079071;g[k+256>>2]=1.0;g[k+260>>2]=0.0;a[k+1096>>0]=0;f=k+1100|0;g[k+1116>>2]=0.0;g[k+1120>>2]=0.0;g[k+1124>>2]=0.0;c[k+300>>2]=0;h=k+49|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;a[f+12>>0]=0;a[h>>0]=1;Fr(k,(c[l>>2]|0)+4|0,(c[b>>2]|0)+4|0);i=j;return k|0}function $f(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function ag(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function bg(a,b){a=a|0;b=+b;var c=0;c=i;b=+ab(+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;i=c;return}function cg(a,b){a=a|0;b=+b;var c=0;c=i;b=+ab(+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;i=c;return}function dg(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function eg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function fg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(627)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}Or(f,5,b);c[f>>2]=1264;k=f+300|0;c[k+0>>2]=c[d+0>>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];j=f+316|0;c[j+0>>2]=c[d+16>>2];c[j+4>>2]=c[d+20>>2];c[j+8>>2]=c[d+24>>2];c[j+12>>2]=c[d+28>>2];h=f+332|0;c[h+0>>2]=c[d+32>>2];c[h+4>>2]=c[d+36>>2];c[h+8>>2]=c[d+40>>2];c[h+12>>2]=c[d+44>>2];b=f+348|0;c[b+0>>2]=c[d+48>>2];c[b+4>>2]=c[d+52>>2];c[b+8>>2]=c[d+56>>2];c[b+12>>2]=c[d+60>>2];b=f+364|0;d=f+524|0;a[f+527>>0]=0;c[b+0>>2]=c[k+0>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];b=f+380|0;c[b+0>>2]=c[j+0>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];b=f+396|0;c[b+0>>2]=c[h+0>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];b=f+412|0;a[d>>0]=0;a[f+525>>0]=0;a[f+526>>0]=0;a[f+552>>0]=0;d=f+572|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g[d>>2]=-1.0;g[f+444>>2]=999999984306749400.0;g[f+448>>2]=999999984306749400.0;g[f+452>>2]=999999984306749400.0;g[f+428>>2]=1.0;g[f+432>>2]=.30000001192092896;g[f+436>>2]=1.0;g[f+440>>2]=.009999999776482582;g[f+456>>2]=.05000000074505806;c[f+592>>2]=0;g[f+596>>2]=0.0;g[f+600>>2]=.699999988079071;g[f+604>>2]=0.0;i=e;return f|0}function gg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;h=i;c[5004]=(c[5004]|0)+1;j=XE(627)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}c[j+4>>2]=5;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3.4028234663852886e+38;a[j+20>>0]=1;a[j+21>>0]=0;c[j+24>>2]=-1;c[j+28>>2]=b;c[j+32>>2]=d;g[j+36>>2]=0.0;g[j+40>>2]=.30000001192092896;c[j+44>>2]=0;c[j>>2]=1264;d=j+300|0;c[d+0>>2]=c[e+0>>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=j+316|0;c[d+0>>2]=c[e+16>>2];c[d+4>>2]=c[e+20>>2];c[d+8>>2]=c[e+24>>2];c[d+12>>2]=c[e+28>>2];d=j+332|0;c[d+0>>2]=c[e+32>>2];c[d+4>>2]=c[e+36>>2];c[d+8>>2]=c[e+40>>2];c[d+12>>2]=c[e+44>>2];d=j+348|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];e=j+364|0;c[e+0>>2]=c[f+0>>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=j+380|0;c[e+0>>2]=c[f+16>>2];c[e+4>>2]=c[f+20>>2];c[e+8>>2]=c[f+24>>2];c[e+12>>2]=c[f+28>>2];e=j+396|0;c[e+0>>2]=c[f+32>>2];c[e+4>>2]=c[f+36>>2];c[e+8>>2]=c[f+40>>2];c[e+12>>2]=c[f+44>>2];e=j+412|0;c[e+0>>2]=c[f+48>>2];c[e+4>>2]=c[f+52>>2];c[e+8>>2]=c[f+56>>2];c[e+12>>2]=c[f+60>>2];f=j+524|0;a[j+552>>0]=0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;g[j+572>>2]=-1.0;g[j+444>>2]=999999984306749400.0;g[j+448>>2]=999999984306749400.0;g[j+452>>2]=999999984306749400.0;g[j+428>>2]=1.0;g[j+432>>2]=.30000001192092896;g[j+436>>2]=1.0;g[j+440>>2]=.009999999776482582;g[j+456>>2]=.05000000074505806;c[j+592>>2]=0;g[j+596>>2]=0.0;g[j+600>>2]=.699999988079071;g[j+604>>2]=0.0;i=h;return j|0}function hg(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=i;if((b|0)==4)g[a+448>>2]=c;else if((b|0)==3)g[a+452>>2]=c;else if((b|0)==5)g[a+444>>2]=c;i=d;return}function ig(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function jg(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function kg(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function lg(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function mg(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function ng(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;Hc(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+20>>2];m=-+g[c+24>>2];l=+g[c+28>>2];f=+g[b>>2];n=+g[b+12>>2];k=+g[b+8>>2];j=+g[b+4>>2];Hc(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+36>>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+40>>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+44>>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;to(a,c+32|0);i=c;return}function og(a,b){a=a|0;b=b|0;var c=0;c=i;to(a,b);i=c;return}function pg(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function qg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function rg(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(95)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e>>2]=9704;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;c[e+64>>2]=0;c[e+68>>2]=1;c[e+72>>2]=2;g[e+28>>2]=a;g[e+32>>2]=b;g[e+36>>2]=a;g[e+52>>2]=a/+Q(+(a*a+b*b));i=d;return e|0}function sg(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function tg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function ug(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function vg(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function wg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function xg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function yg(){var a=0,b=0;a=i;i=i+32|0;b=XE(92)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(92)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(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;py(b,a);i=a;return b|0}function zg(a){a=a|0;var b=0,d=0;b=i;d=XE(92)|0;a:do if((d|0)==0){while(1){d=c[5158]|0;c[5158]=d+0;if((d|0)==0)break;sc[d&3]();d=XE(92)|0;if((d|0)!=0)break a}d=Ab(4)|0;c[d>>2]=20472;yb(d|0,20520,265)}while(0);py(d,a);i=b;return d|0}function Ag(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Bg(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0.0,l=0;l=i;k=+Vb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,j);i=l;return+k}function Cg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Dg(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(95)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;g[e+52>>2]=a/+Q(+(a*a+b*b));c[e>>2]=9808;c[e+64>>2]=0;c[e+68>>2]=2;c[e+72>>2]=1;g[e+28>>2]=a;g[e+36>>2]=b;g[e+32>>2]=a;i=d;return e|0}function Eg(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Fg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Gg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Hg(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(95)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;g[e+56>>2]=a;g[e+60>>2]=b;c[e+4>>2]=11;g[e+52>>2]=a/+Q(+(a*a+b*b));c[e>>2]=9912;c[e+64>>2]=1;c[e+68>>2]=0;c[e+72>>2]=2;g[e+32>>2]=a;g[e+28>>2]=b;g[e+36>>2]=a;i=d;return e|0}function Ig(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Jg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Kg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Lg(){var a=0,b=0;a=i;c[5004]=(c[5004]|0)+1;b=XE(191)|0;if((b|0)==0)b=0;else{c[(b+19&-16)+ -4>>2]=b;b=b+19&-16}KB(b,1,1);i=a;return b|0}function Mg(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(191)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}KB(d,a,1);i=b;return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(191)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}KB(e,a,b);i=d;return e|0}function Og(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;LB(a,MB(a,b,0)|0);LB(a,MB(a,d,0)|0);LB(a,MB(a,e,0)|0);i=f;return}function Pg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=c[a+32>>2]|0;c[h>>2]=(c[h>>2]|0)+1;LB(a,MB(a,b,f)|0);LB(a,MB(a,d,f)|0);LB(a,MB(a,e,f)|0);i=g;return}function Qg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Rg(){var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(131)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;g[d+56>>2]=1.0;g[d+60>>2]=1.0;g[d+64>>2]=1.0;g[d+68>>2]=0.0;g[d+72>>2]=-1.0;g[d+76>>2]=-1.0;g[d+80>>2]=-1.0;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=10376;a[d+108>>0]=1;c[d+104>>2]=0;c[d+100>>2]=0;c[d+4>>2]=4;c[d+96>>2]=0;uA(d);i=b;return d|0}function Sg(a,b){a=a|0;b=b|0;var c=0;c=i;ww(a,b,1);i=c;return}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;ww(a,b,c);i=d;return}function Ug(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Vg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Wg(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Xg(){var b=0,d=0,e=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(791)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[d>>2]=1025;c[d+116>>2]=0;a[d+120>>0]=0;e=d+124|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d+300>>2]=0;a[d+304>>0]=0;e=d+308|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d+484>>2]=0;a[d+488>>0]=0;e=d+492|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d+668>>2]=0;a[d+672>>0]=0;e=d+676|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[d+740>>2]=0;c[d+744>>2]=0;c[d+748>>2]=0;c[d+768>>2]=0;i=b;return d|0}function Yg(a){a=a|0;return c[a+740>>2]|0}function Zg(a){a=a|0;return c[a+744>>2]|0}function _g(a){a=a|0;return c[a+748>>2]|0}function $g(a,b){a=a|0;b=b|0;return a+(b*184|0)+4|0}function ah(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function bh(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0;b=i;c[5004]=(c[5004]|0)+1;d=XE(75)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[d+8>>2]=0;h=d+12|0;g[h>>2]=1.0;e=d+16|0;g[e>>2]=1.0;f=d+20|0;g[f>>2]=1.0;g[d+24>>2]=0.0;j=d+44|0;g[j>>2]=.03999999910593033;c[d+52>>2]=0;c[d>>2]=5448;c[d+4>>2]=0;l=+g[a>>2];m=+g[a+4>>2];k=+g[a+8>>2];if(l>2]*.10000000149011612;if(k<.03999999910593033){r=+Js(d);p=+$b[c[(c[d>>2]|0)+48>>2]&15](d);m=+$b[c[(c[d>>2]|0)+48>>2]&15](d);q=d+28|0;r=r+ +g[q>>2];o=d+32|0;p=p+ +g[o>>2];n=d+36|0;m=m+ +g[n>>2];g[j>>2]=k;k=+$b[c[(c[d>>2]|0)+48>>2]&15](d);l=+$b[c[(c[d>>2]|0)+48>>2]&15](d);m=m- +$b[c[(c[d>>2]|0)+48>>2]&15](d);g[q>>2]=r-k;g[o>>2]=p-l;g[n>>2]=m;g[d+40>>2]=0.0;j=c[d>>2]|0}else j=5448|0;m=+$b[c[j+48>>2]&15](d);p=+$b[c[(c[d>>2]|0)+48>>2]&15](d);r=+$b[c[(c[d>>2]|0)+48>>2]&15](d);p=+g[a+4>>2]*+g[e>>2]-p;r=+g[a+8>>2]*+g[f>>2]-r;g[d+28>>2]=+g[a>>2]*+g[h>>2]-m;g[d+32>>2]=p;g[d+36>>2]=r;g[d+40>>2]=0.0;i=b;return d|0}function ch(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function dh(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function eh(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function fh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=XE(5260)|0;a:do if((f|0)==0){while(1){e=c[5158]|0;c[5158]=e+0;if((e|0)==0)break;sc[e&3]();f=XE(5260)|0;if((f|0)!=0)break a}g=Ab(4)|0;c[g>>2]=20472;yb(g|0,20520,265)}while(0);c[f>>2]=6808;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]=13504;e=f+5256|0;c[e>>2]=b;c[f+60>>2]=69;c[f+64>>2]=Pb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[f+68>>2]=Pb[c[(c[b>>2]|0)+8>>2]&127](b)|0;b=0;do{g=0;do{h=c[e>>2]|0;c[f+(b*144|0)+(g<<2)+72>>2]=Yb[c[(c[h>>2]|0)+16>>2]&31](h,b,g)|0;g=g+1|0}while((g|0)<36);b=b+1|0}while((b|0)<36);i=d;return f|0}function gh(a){a=a|0;var b=0;b=i;a=Pb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function hh(a,b){a=a|0;b=b|0;var d=0;d=i;a=gc[c[(c[a>>2]|0)+40>>2]&31](a,b)|0;i=d;return a|0}function ih(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function jh(){var a=0,b=0;a=i;b=XE(24)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(24)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(0);g[b>>2]=5.880000114440918;g[b+4>>2]=.8299999833106995;g[b+8>>2]=.8799999952316284;g[b+12>>2]=500.0;g[b+16>>2]=10.5;g[b+20>>2]=6.0e3;i=a;return b|0}function kh(a){a=a|0;return+(+g[a>>2])}function lh(a,b){a=a|0;b=+b;g[a>>2]=b;return}function mh(a){a=a|0;return+(+g[a+4>>2])}function nh(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function oh(a){a=a|0;return+(+g[a+8>>2])}function ph(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function qh(a){a=a|0;return+(+g[a+12>>2])}function rh(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function sh(a){a=a|0;return+(+g[a+16>>2])}function th(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function uh(a){a=a|0;return+(+g[a+20>>2])}function vh(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function wh(){var a=0,b=0;a=i;c[5004]=(c[5004]|0)+1;b=XE(111)|0;if((b|0)==0)b=0;else{c[(b+19&-16)+ -4>>2]=b;b=b+19&-16}Ev(b,1);i=a;return b|0}function xh(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(111)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}Ev(d,a);i=b;return d|0}function yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0;j=i;i=i+128|0;c[b+68>>2]=(c[b+68>>2]|0)+1;c[j+0>>2]=c[d+0>>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];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];c[j+32>>2]=c[d+32>>2];c[j+36>>2]=c[d+36>>2];c[j+40>>2]=c[d+40>>2];c[j+44>>2]=c[d+44>>2];c[j+48>>2]=c[d+48>>2];c[j+52>>2]=c[d+52>>2];c[j+56>>2]=c[d+56>>2];c[j+60>>2]=c[d+60>>2];f=c[e+4>>2]|0;h=+$b[c[(c[e>>2]|0)+48>>2]&15](e);vc[c[(c[e>>2]|0)+8>>2]&127](e,d,j+112|0,j+96|0);p=+g[j+112>>2];if(+g[b+32>>2]>p)g[b+32>>2]=p;p=+g[j+96>>2];if(+g[b+48>>2]>2]=p;p=+g[j+116>>2];if(+g[b+36>>2]>p)g[b+36>>2]=p;p=+g[j+100>>2];if(+g[b+52>>2]>2]=p;p=+g[j+120>>2];if(+g[b+40>>2]>p)g[b+40>>2]=p;p=+g[j+104>>2];if(+g[b+56>>2]>2]=p;d=c[b+64>>2]|0;if((d|0)==0){d=b+16|0;l=0}else{c[j+64>>2]=c[j+112>>2];c[j+68>>2]=c[j+116>>2];c[j+72>>2]=c[j+120>>2];c[j+76>>2]=c[j+124>>2];c[j+80>>2]=c[j+96>>2];c[j+84>>2]=c[j+100>>2];c[j+88>>2]=c[j+104>>2];c[j+92>>2]=c[j+108>>2];m=c[b+16>>2]|0;l=c[d+4>>2]|0;if((l|0)==0){c[5004]=(c[5004]|0)+1;o=XE(63)|0;if((o|0)!=0?(c[(o+19&-16)+ -4>>2]=o,(o+19&-16|0)!=0):0){l=(o+19&-16)+0|0;n=l+44|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));l=o+19&-16}else l=0}else c[d+4>>2]=0;c[l+32>>2]=0;c[l+36>>2]=m;c[l+40>>2]=0;c[l+0>>2]=c[j+64>>2];c[l+4>>2]=c[j+68>>2];c[l+8>>2]=c[j+72>>2];c[l+12>>2]=c[j+76>>2];c[l+16>>2]=c[j+80>>2];c[l+20>>2]=c[j+84>>2];c[l+24>>2]=c[j+88>>2];c[l+28>>2]=c[j+92>>2];Nx(d,c[d>>2]|0,l);c[d+12>>2]=(c[d+12>>2]|0)+1;d=b+16|0}o=c[d>>2]|0;if((o|0)==(c[b+20>>2]|0)?(k=(o|0)==0?1:o<<1,(o|0)<(k|0)):0){if((k|0)==0)m=0;else{c[5004]=(c[5004]|0)+1;m=XE((k*80|3)+16|0)|0;if((m|0)==0)m=0;else{c[(m+19&-16)+ -4>>2]=m;m=m+19&-16}o=c[d>>2]|0}if((o|0)>0){n=0;do{q=m+(n*80|0)|0;r=c[b+24>>2]|0;s=r+(n*80|0)|0;c[q+0>>2]=c[s+0>>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=m+(n*80|0)+16|0;s=r+(n*80|0)+16|0;c[q+0>>2]=c[s+0>>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=m+(n*80|0)+32|0;s=r+(n*80|0)+32|0;c[q+0>>2]=c[s+0>>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=m+(n*80|0)+48|0;s=r+(n*80|0)+48|0;c[q+0>>2]=c[s+0>>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=m+(n*80|0)+64|0;r=r+(n*80|0)+64|0;c[q+0>>2]=c[r+0>>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];n=n+1|0}while((n|0)!=(o|0))}n=c[b+24>>2]|0;if((n|0)!=0){if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[n+ -4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=m;c[b+20>>2]=k;o=c[d>>2]|0}s=c[b+24>>2]|0;r=s+(o*80|0)|0;c[r+0>>2]=c[j+0>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];c[r+12>>2]=c[j+12>>2];r=s+(o*80|0)+16|0;c[r+0>>2]=c[j+16>>2];c[r+4>>2]=c[j+20>>2];c[r+8>>2]=c[j+24>>2];c[r+12>>2]=c[j+28>>2];r=s+(o*80|0)+32|0;c[r+0>>2]=c[j+32>>2];c[r+4>>2]=c[j+36>>2];c[r+8>>2]=c[j+40>>2];c[r+12>>2]=c[j+44>>2];r=s+(o*80|0)+48|0;c[r+0>>2]=c[j+48>>2];c[r+4>>2]=c[j+52>>2];c[r+8>>2]=c[j+56>>2];c[r+12>>2]=c[j+60>>2];s=s+(o*80|0)+64|0;c[s>>2]=e;c[s+4>>2]=f;g[s+8>>2]=h;c[s+12>>2]=l;c[d>>2]=(c[d>>2]|0)+1;i=j;return}function zh(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Ah(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Bh(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Ch(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;e=i;f=XE(80)|0;a:do if((f|0)==0){while(1){f=c[5158]|0;c[5158]=f+0;if((f|0)==0)break;sc[f&3]();f=XE(80)|0;if((f|0)!=0)break a}f=Ab(4)|0;c[f>>2]=20472;yb(f|0,20520,265)}while(0);g[f+4>>2]=1.0;b[f+8>>1]=1;b[f+10>>1]=-1;c[f>>2]=688;h=f+12|0;c[h+0>>2]=c[a+0>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=f+28|0;c[a+0>>2]=c[d+0>>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];c[f+76>>2]=0;i=e;return f|0}function Dh(a){a=a|0;return+g[a+4>>2]<1.0|0}function Eh(a){a=a|0;return a+12|0}function Fh(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+12>>2]=c[b+0>>2];c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+8>>2];c[a+24>>2]=c[b+12>>2];i=d;return}function Gh(a){a=a|0;return a+28|0}function Hh(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+28>>2]=c[b+0>>2];c[a+32>>2]=c[b+4>>2];c[a+36>>2]=c[b+8>>2];c[a+40>>2]=c[b+12>>2];i=d;return}function Ih(a){a=a|0;return a+44|0}function Jh(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+44>>2]=c[b+0>>2];c[a+48>>2]=c[b+4>>2];c[a+52>>2]=c[b+8>>2];c[a+56>>2]=c[b+12>>2];i=d;return}function Kh(a){a=a|0;return a+60|0}function Lh(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+60>>2]=c[b+0>>2];c[a+64>>2]=c[b+4>>2];c[a+68>>2]=c[b+8>>2];c[a+72>>2]=c[b+12>>2];i=d;return}function Mh(a){a=a|0;return b[a+8>>1]|0}function Nh(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Oh(a){a=a|0;return b[a+10>>1]|0}function Ph(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function Qh(a){a=a|0;return+(+g[a+4>>2])}function Rh(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Sh(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Th(){var a=0,b=0;a=i;c[5004]=(c[5004]|0)+1;b=XE(219)|0;if((b|0)==0)b=0;else{c[(b+19&-16)+ -4>>2]=b;b=b+19&-16}Vh();Vh();Uh(b,464,464);i=a;return b|0}function Uh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;c[a>>2]=600;f=a+4|0;do f=f+16|0;while((f|0)!=(a+52|0));c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];f=a+68|0;do f=f+16|0;while((f|0)!=(a+116|0));c[a+68>>2]=c[d+0>>2];c[a+72>>2]=c[d+4>>2];c[a+76>>2]=c[d+8>>2];c[a+80>>2]=c[d+12>>2];c[a+84>>2]=c[d+16>>2];c[a+88>>2]=c[d+20>>2];c[a+92>>2]=c[d+24>>2];c[a+96>>2]=c[d+28>>2];c[a+100>>2]=c[d+32>>2];c[a+104>>2]=c[d+36>>2];c[a+108>>2]=c[d+40>>2];c[a+112>>2]=c[d+44>>2];c[a+116>>2]=c[d+48>>2];c[a+120>>2]=c[d+52>>2];c[a+124>>2]=c[d+56>>2];c[a+128>>2]=c[d+60>>2];d=a+132|0;do d=d+16|0;while((d|0)!=(a+180|0));c[a+132>>2]=c[b+0>>2];c[a+136>>2]=c[b+4>>2];c[a+140>>2]=c[b+8>>2];c[a+144>>2]=c[b+12>>2];c[a+148>>2]=c[b+16>>2];c[a+152>>2]=c[b+20>>2];c[a+156>>2]=c[b+24>>2];c[a+160>>2]=c[b+28>>2];c[a+164>>2]=c[b+32>>2];c[a+168>>2]=c[b+36>>2];c[a+172>>2]=c[b+40>>2];c[a+176>>2]=c[b+44>>2];c[a+180>>2]=c[b+48>>2];c[a+184>>2]=c[b+52>>2];c[a+188>>2]=c[b+56>>2];c[a+192>>2]=c[b+60>>2];c[a+196>>2]=0;i=e;return}function Vh(){var b=0,d=0;b=i;i=i+48|0;if((a[528]|0)!=0){i=b;return}if((Ya(528)|0)==0){i=b;return}if((a[584]|0)==0?(Ya(584)|0)!=0: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;Zn(536,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);bb(584);d=464}else d=464;do d=d+16|0;while((d|0)!=512);c[116]=c[134];c[117]=c[135];c[118]=c[136];c[119]=c[137];c[120]=c[138];c[121]=c[139];c[122]=c[140];c[123]=c[141];c[124]=c[142];c[125]=c[143];c[126]=c[144];c[127]=c[145];c[128]=0;c[129]=0;c[130]=0;c[131]=0;bb(528);i=b;return}function Wh(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(219)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}Vh();Uh(d,a,464);i=b;return d|0}function Xh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(219)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}Uh(e,a,b);i=d;return e|0}function Yh(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+8>>2]&127](a,b);i=d;return}function Zh(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function _h(a){a=a|0;return a+4|0}function $h(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];i=d;return}function ai(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function bi(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function ci(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function di(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function ei(a){a=a|0;var b=0;b=i;a=Pb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function fi(a,b){a=a|0;b=b|0;var d=0;d=i;a=gc[c[(c[a>>2]|0)+40>>2]&31](a,b)|0;i=d;return a|0}function gi(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function hi(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;e=i;f=XE(84)|0;a:do if((f|0)==0){while(1){f=c[5158]|0;c[5158]=f+0;if((f|0)==0)break;sc[f&3]();f=XE(84)|0;if((f|0)!=0)break a}f=Ab(4)|0;c[f>>2]=20472;yb(f|0,20520,265)}while(0);g[f+4>>2]=1.0;c[f+8>>2]=0;b[f+12>>1]=1;b[f+14>>1]=-1;c[f+16>>2]=0;c[f>>2]=336;h=f+20|0;c[h+0>>2]=c[a+0>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=f+36|0;c[a+0>>2]=c[d+0>>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];i=e;return f|0}function ii(a){a=a|0;return(c[a+8>>2]|0)!=0|0}function ji(a){a=a|0;return a+20|0}function ki(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+20>>2]=c[b+0>>2];c[a+24>>2]=c[b+4>>2];c[a+28>>2]=c[b+8>>2];c[a+32>>2]=c[b+12>>2];i=d;return}function li(a){a=a|0;return a+36|0}function mi(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+36>>2]=c[b+0>>2];c[a+40>>2]=c[b+4>>2];c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];i=d;return}function ni(a){a=a|0;return a+52|0}function oi(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+52>>2]=c[b+0>>2];c[a+56>>2]=c[b+4>>2];c[a+60>>2]=c[b+8>>2];c[a+64>>2]=c[b+12>>2];i=d;return}function pi(a){a=a|0;return a+68|0}function qi(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+68>>2]=c[b+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];i=d;return}function ri(a){a=a|0;return b[a+12>>1]|0}function si(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function ti(a){a=a|0;return b[a+14>>1]|0}function ui(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function vi(a){a=a|0;return c[a+8>>2]|0}function wi(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function xi(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function yi(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function zi(a){a=a|0;return c[a+24>>2]|0}function Ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function Bi(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Pb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function Ci(a){a=a|0;return a+28|0}function Di(a,b){a=a|0;b=b|0;var d=0;d=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);i=d;return}function Ei(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);i=e;return}function Fi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function Gi(a){a=a|0;return c[a+68>>2]|0}function Hi(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;Eu(a,b,c,d,e,f);i=g;return}function Ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Gu(a,b,c,d);i=e;return}function Ji(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Ki(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(75)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+4>>2]=10;c[e>>2]=6400;c[e+52>>2]=0;g[e+28>>2]=b*.5;g[e+32>>2]=a;g[e+36>>2]=a;g[e+40>>2]=0.0;i=d;return e|0}function Li(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Mi(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Ni(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Oi(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;f=i;h=XE(16)|0;a:do if((h|0)==0){while(1){h=c[5158]|0;c[5158]=h+0;if((h|0)==0)break;sc[h&3]();h=XE(16)|0;if((h|0)!=0)break a}h=Ab(4)|0;c[h>>2]=20472;yb(h|0,20520,265)}while(0);g[h>>2]=a;g[h+4>>2]=b;g[h+8>>2]=d;g[h+12>>2]=e;i=f;return h|0}function Pi(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 Qi(a){a=a|0;return+(+g[a>>2])}function Ri(a){a=a|0;return+(+g[a+4>>2])}function Si(a){a=a|0;return+(+g[a+8>>2])}function Ti(a){a=a|0;return+(+g[a+12>>2])}function Ui(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Vi(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Wi(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Xi(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Yi(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Zi(a,b){a=+a;b=+b;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(75)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+4>>2]=10;c[e>>2]=6504;c[e+52>>2]=2;g[e+28>>2]=a;g[e+32>>2]=a;g[e+36>>2]=b*.5;g[e+40>>2]=0.0;i=d;return e|0}function _i(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function $i(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function aj(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function bj(a){a=a|0;var b=0,d=0;b=i;d=XE(8)|0;a:do if((d|0)==0){while(1){d=c[5158]|0;c[5158]=d+0;if((d|0)==0)break;sc[d&3]();d=XE(8)|0;if((d|0)!=0)break a}d=Ab(4)|0;c[d>>2]=20472;yb(d|0,20520,265)}while(0);c[d>>2]=3832;c[d+4>>2]=a;i=b;return d|0}function cj(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function dj(a){a=a|0;return(c[a+8>>2]|0)!=0|0}function ej(a){a=a|0;return b[a+12>>1]|0}function fj(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function gj(a){a=a|0;return b[a+14>>1]|0}function hj(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function ij(a){a=a|0;return c[a+8>>2]|0}function jj(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function kj(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function lj(a){a=a|0;return+(+g[a+216>>2])}function mj(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function nj(a){a=a|0;return+(+g[a+228>>2])}function oj(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function pj(a){a=a|0;return+(+g[a+244>>2])}function qj(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function rj(a){a=a|0;return+(+g[a+204>>2])}function sj(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function tj(a){a=a|0;return+(+g[a+212>>2])}function uj(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function vj(a){a=a|0;return+(+g[a+220>>2])}function wj(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function xj(a){a=a|0;return+(+g[a+224>>2])}function yj(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function zj(a){a=a|0;return+(+g[a+232>>2])}function Aj(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function Bj(a){a=a|0;return+(+g[a+248>>2])}function Cj(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function Dj(a){a=a|0;return+(+g[a+208>>2])}function Ej(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function Fj(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Gj(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Hj(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Ij(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Jj(){var a=0,b=0;a=i;c[5004]=(c[5004]|0)+1;b=XE(35)|0;if((b|0)==0){b=0;i=a;return b|0}c[(b+19&-16)+ -4>>2]=b;b=b+19&-16;i=a;return b|0}function Kj(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;f=i;c[5004]=(c[5004]|0)+1;h=XE(35)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}g[h>>2]=a;g[h+4>>2]=b;g[h+8>>2]=d;g[h+12>>2]=e;i=f;return h|0}function Lj(a){a=a|0;return+(+g[a+12>>2])}function Mj(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 Nj(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];b=+Q(+(d*d+c*c+b*b));return+b}function Oj(a){a=a|0;return+(+g[a>>2])}function Pj(a){a=a|0;return+(+g[a+4>>2])}function Qj(a){a=a|0;return+(+g[a+8>>2])}function Rj(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Sj(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Tj(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Uj(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 Vj(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Wj(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0,k=0;f=i;c[5004]=(c[5004]|0)+1;h=XE(203)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}c[h>>2]=2632;a[h+144>>0]=1;c[h+140>>2]=0;c[h+132>>2]=0;c[h+136>>2]=0;c[h+176>>2]=1;g[h+56>>2]=.019999999552965164;k=h+60|0;j=h+170|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[j>>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;i=f;return h|0}function Xj(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0,j=0,k=0;h=i;c[5004]=(c[5004]|0)+1;j=XE(203)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}c[j>>2]=2632;a[j+144>>0]=1;c[j+140>>2]=0;c[j+132>>2]=0;c[j+136>>2]=0;c[j+176>>2]=f;g[j+56>>2]=.019999999552965164;k=j+60|0;f=j+170|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;a[f>>0]=1;c[j+8>>2]=b;g[j+52>>2]=e;g[j+48>>2]=0.0;c[j+12>>2]=d;a[j+171>>0]=1;g[j+172>>2]=0.0;g[j+16>>2]=0.0;g[j+20>>2]=0.0;g[j+44>>2]=29.399999618530273;g[j+24>>2]=55.0;g[j+28>>2]=10.0;a[j+168>>0]=0;a[j+169>>0]=0;a[j+180>>0]=1;g[j+36>>2]=.7853981852531433;g[j+40>>2]=.7071067690849304;g[j+108>>2]=0.0;a[j+181>>0]=0;a[j+182>>0]=0;i=h;return j|0}function Yj(a,b){a=a|0;b=b|0;if((b|0)<0)b=0;else b=(b|0)>2?2:b;c[a+176>>2]=b;return}function Zj(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+16>>2]&127](a,b);i=d;return}function _j(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;tc[c[(c[a>>2]|0)+20>>2]&7](a,b,d);i=e;return}function $j(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+28>>2]&127](a,b);i=d;return}function ak(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+32>>2]&127](a,b);i=d;return}function bk(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;tc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);i=e;return}function ck(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function dk(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function ek(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function fk(a){a=a|0;var b=0;b=i;a=Pb[c[(c[a>>2]|0)+40>>2]&127](a)|0;i=b;return a|0}function gk(a){a=a|0;var b=0;b=i;Lb[c[(c[a>>2]|0)+44>>2]&511](a);i=b;return}function hk(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function ik(a){a=a|0;return+(+g[a+44>>2])}function jk(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+S(+b);return}function kk(a){a=a|0;return+(+g[a+36>>2])}function lk(a){a=a|0;return c[a+8>>2]|0}function mk(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function nk(a){a=a|0;var b=0;b=i;a=Pb[c[(c[a>>2]|0)+48>>2]&127](a)|0;i=b;return a|0}function ok(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function pk(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;d=i;c[5004]=(c[5004]|0)+1;e=XE(103)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}f=e+4|0;c[f>>2]=35;c[e+8>>2]=0;g[e+12>>2]=0.0;c[e>>2]=16992;m=+g[a>>2];l=+g[a+4>>2];k=+g[a+8>>2];h=+g[a+12>>2];j=1.0/+Q(+(m*m+l*l+k*k));g[e+48>>2]=m*j;g[e+52>>2]=l*j;g[e+56>>2]=k*j;g[e+60>>2]=h;g[e+64>>2]=b;a=e+68|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[f>>2]=28;i=d;return e|0}function qk(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function rk(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function sk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function tk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function uk(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+60>>2]&127](a,b);i=d;return}function vk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function wk(){var a=0,b=0;a=i;c[5004]=(c[5004]|0)+1;b=XE(35)|0;if((b|0)==0){b=0;i=a;return b|0}c[(b+19&-16)+ -4>>2]=b;b=b+19&-16;i=a;return b|0}function xk(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(35)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=0.0;i=e;return f|0}function yk(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];b=+Q(+(d*d+c*c+b*b));return+b}function zk(a){a=a|0;return+(+g[a>>2])}function Ak(a){a=a|0;return+(+g[a+4>>2])}function Bk(a){a=a|0;return+(+g[a+8>>2])}function Ck(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Dk(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Ek(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Fk(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 Gk(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 Hk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Ik(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Jk(a){a=+a;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(71)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;c[d>>2]=16680;c[d+4>>2]=8;g[d+28>>2]=a;g[d+44>>2]=a;i=b;return d|0}function Kk(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Lk(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Mk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Nk(){var a=0,b=0;a=i;b=XE(24)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(24)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=4096;c[b+12>>2]=4096;c[b+16>>2]=0;c[b+20>>2]=1;i=a;return b|0}function Ok(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Pk(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(783)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}bq(e,a,b,0);i=d;return e|0}function Qk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;c[5004]=(c[5004]|0)+1;f=XE(783)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}bq(f,a,b,d);i=e;return f|0}function Rk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;h=i;c[5004]=(c[5004]|0)+1;j=XE(783)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}c[j+4>>2]=4;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3.4028234663852886e+38;a[j+20>>0]=1;a[j+21>>0]=0;c[j+24>>2]=-1;c[j+28>>2]=b;c[j+32>>2]=d;g[j+36>>2]=0.0;g[j+40>>2]=.30000001192092896;c[j+44>>2]=0;c[j>>2]=2504;d=j+552|0;c[d+0>>2]=c[e+0>>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=j+568|0;c[d+0>>2]=c[e+16>>2];c[d+4>>2]=c[e+20>>2];c[d+8>>2]=c[e+24>>2];c[d+12>>2]=c[e+28>>2];d=j+584|0;c[d+0>>2]=c[e+32>>2];c[d+4>>2]=c[e+36>>2];c[d+8>>2]=c[e+40>>2];c[d+12>>2]=c[e+44>>2];d=j+600|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];e=j+616|0;c[e+0>>2]=c[f+0>>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=j+632|0;c[e+0>>2]=c[f+16>>2];c[e+4>>2]=c[f+20>>2];c[e+8>>2]=c[f+24>>2];c[e+12>>2]=c[f+28>>2];e=j+648|0;c[e+0>>2]=c[f+32>>2];c[e+4>>2]=c[f+36>>2];c[e+8>>2]=c[f+40>>2];c[e+12>>2]=c[f+44>>2];e=j+664|0;c[e+0>>2]=c[f+48>>2];c[e+4>>2]=c[f+52>>2];c[e+8>>2]=c[f+56>>2];c[e+12>>2]=c[f+60>>2];g[j+688>>2]=0.0;g[j+692>>2]=-1.0;g[j+696>>2]=.8999999761581421;g[j+700>>2]=.30000001192092896;g[j+704>>2]=1.0;g[j+708>>2]=0.0;g[j+712>>2]=0.0;a[j+716>>0]=0;a[j+736>>0]=0;a[j+737>>0]=0;a[j+738>>0]=0;a[j+739>>0]=1;a[j+740>>0]=0;c[j+748>>2]=0;g[j+732>>2]=1.0;i=h;return j|0}function Sk(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;j=i;c[5004]=(c[5004]|0)+1;k=XE(783)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}c[k+4>>2]=4;c[k+8>>2]=-1;c[k+12>>2]=-1;g[k+16>>2]=3.4028234663852886e+38;a[k+20>>0]=1;a[k+21>>0]=0;c[k+24>>2]=-1;c[k+28>>2]=b;c[k+32>>2]=d;g[k+36>>2]=0.0;g[k+40>>2]=.30000001192092896;c[k+44>>2]=0;c[k>>2]=2504;d=k+552|0;c[d+0>>2]=c[e+0>>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+568|0;c[d+0>>2]=c[e+16>>2];c[d+4>>2]=c[e+20>>2];c[d+8>>2]=c[e+24>>2];c[d+12>>2]=c[e+28>>2];d=k+584|0;c[d+0>>2]=c[e+32>>2];c[d+4>>2]=c[e+36>>2];c[d+8>>2]=c[e+40>>2];c[d+12>>2]=c[e+44>>2];d=k+600|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];e=k+616|0;c[e+0>>2]=c[f+0>>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=k+632|0;c[e+0>>2]=c[f+16>>2];c[e+4>>2]=c[f+20>>2];c[e+8>>2]=c[f+24>>2];c[e+12>>2]=c[f+28>>2];e=k+648|0;c[e+0>>2]=c[f+32>>2];c[e+4>>2]=c[f+36>>2];c[e+8>>2]=c[f+40>>2];c[e+12>>2]=c[f+44>>2];e=k+664|0;c[e+0>>2]=c[f+48>>2];c[e+4>>2]=c[f+52>>2];c[e+8>>2]=c[f+56>>2];c[e+12>>2]=c[f+60>>2];g[k+688>>2]=0.0;g[k+692>>2]=-1.0;g[k+696>>2]=.8999999761581421;g[k+700>>2]=.30000001192092896;g[k+704>>2]=1.0;g[k+708>>2]=0.0;g[k+712>>2]=0.0;a[k+716>>0]=0;a[k+736>>0]=0;a[k+737>>0]=0;a[k+738>>0]=0;a[k+739>>0]=1;a[k+740>>0]=h&1;c[k+748>>2]=0;g[k+732>>2]=h?-1.0:1.0;i=j;return k|0}function Tk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;c[5004]=(c[5004]|0)+1;j=XE(783)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}aq(j,a,b,d,e,f,g,0);i=h;return j|0}function Uk(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;j=i;c[5004]=(c[5004]|0)+1;k=XE(783)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}aq(k,a,b,d,e,f,g,h);i=j;return k|0}function Vk(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=i;g[a+692>>2]=(c-b)*.5;b=+ab(+((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;i=f;return}function Wk(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var h=0;h=i;g[a+692>>2]=(c-b)*.5;b=+ab(+((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;i=h;return}function Xk(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Yk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Zk(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function _k(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function $k(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function al(){var a=0,b=0;a=i;b=XE(12)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(12)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(0);g[b>>2]=.30000001192092896;g[b+4>>2]=1.0;g[b+8>>2]=0.0;i=a;return b|0}function bl(a){a=a|0;return+(+g[a>>2])}function cl(a,b){a=a|0;b=+b;g[a>>2]=b;return}function dl(a){a=a|0;return+(+g[a+4>>2])}function el(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function fl(a){a=a|0;return+(+g[a+8>>2])}function gl(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function hl(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function il(){var b=0,d=0,e=0,f=0,h=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(303)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749400.0;h=d+188|0;e=d+204|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[e>>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;e=d+236|0;c[d+240>>2]=0;g[d+244>>2]=1.0;h=d+248|0;f=d+4|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=d+8|0;h=d+24|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[h>>2]=1.0;h=d+28|0;f=d+44|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=d+48|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d>>2]=13008;a[d+280>>0]=1;c[d+276>>2]=0;c[d+268>>2]=0;c[d+272>>2]=0;c[e>>2]=4;i=b;return d|0}function jl(a){a=a|0;return c[a+268>>2]|0}function kl(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function ll(a){a=a|0;return c[a+192>>2]|0}function ml(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function nl(a,b){a=a|0;b=b|0;var d=0;d=i;if(((c[a+216>>2]|0)+ -4|0)>>>0<2){i=d;return}c[a+216>>2]=b;i=d;return}function ol(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function pl(a){a=a|0;var b=0;b=i;if((c[a+204>>2]&3|0)!=0){i=b;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function ql(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function rl(a){a=a|0;a=c[a+216>>2]|0;return((a|0)==2?0:(a|0)!=5)|0}function sl(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function tl(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function ul(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function vl(a){a=a|0;return a+4|0}function wl(a){a=a|0;return c[a+204>>2]|0}function xl(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function yl(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];i=d;return}function zl(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function Al(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+8>>2]&511](a);i=b;return}function Bl(a){a=a|0;return c[a>>2]|0}function Cl(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Dl(a){a=a|0;return c[a+4>>2]|0}function El(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Fl(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Gl(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Hl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=i;f=XE(152)|0;a:do if((f|0)==0){while(1){f=c[5158]|0;c[5158]=f+0;if((f|0)==0)break;sc[f&3]();f=XE(152)|0;if((f|0)!=0)break a}f=Ab(4)|0;c[f>>2]=20472;yb(f|0,20520,265)}while(0);c[f>>2]=3752;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;c[f+100>>2]=e;g[f+104>>2]=0.0;a[f+148>>0]=1;c[f+144>>2]=0;c[f+136>>2]=0;c[f+140>>2]=0;c[f+116>>2]=d;c[f+120>>2]=0;c[f+124>>2]=2;c[f+128>>2]=1;g[f+112>>2]=0.0;g[f+108>>2]=0.0;i=b;return f|0}function Il(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 Jl(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 Kl(a,b){a=a|0;b=b|0;return(c[a+144>>2]|0)+(b*284|0)+92|0}function Ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;Rq(c[a+116>>2]|0,c[a+144>>2]|0,b,d);i=e;return}function Ml(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.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0;m=i;i=i+288|0;c[m+144>>2]=c[d+0>>2];c[m+148>>2]=c[d+4>>2];c[m+152>>2]=c[d+8>>2];c[m+156>>2]=c[d+12>>2];w=m+160|0;c[w+0>>2]=c[e+0>>2];c[w+4>>2]=c[e+4>>2];c[w+8>>2]=c[e+8>>2];c[w+12>>2]=c[e+12>>2];v=m+176|0;c[v+0>>2]=c[f+0>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];o=+g[k>>2];p=+g[k+4>>2];q=+g[k+8>>2];r=+g[k+16>>2];n=+g[k+12>>2];t=+g[k+20>>2];c[m+0>>2]=c[m+144>>2];c[m+4>>2]=c[m+148>>2];c[m+8>>2]=c[m+152>>2];c[m+12>>2]=c[m+156>>2];c[m+16>>2]=c[w+0>>2];c[m+20>>2]=c[w+4>>2];c[m+24>>2]=c[w+8>>2];c[m+28>>2]=c[w+12>>2];c[m+32>>2]=c[v+0>>2];c[m+36>>2]=c[v+4>>2];c[m+40>>2]=c[v+8>>2];c[m+44>>2]=c[v+12>>2];v=c[b+136>>2]|0;if((v|0)==(c[b+140>>2]|0)?(s=(v|0)==0?1:v<<1,(v|0)<(s|0)):0){if((s|0)==0)d=0;else{c[5004]=(c[5004]|0)+1;k=XE((s*284|3)+16|0)|0;if((k|0)==0)d=0;else{c[(k+19&-16)+ -4>>2]=k;d=k+19&-16}v=c[b+136>>2]|0}if((v|0)>0){w=0;do{k=d+(w*284|0)|0;if((k|0)!=0){u=c[b+144>>2]|0;e=k+0|0;k=u+(w*284|0)+0|0;f=e+92|0;do{c[e>>2]=c[k>>2];e=e+4|0;k=k+4|0}while((e|0)<(f|0));e=d+(w*284|0)+92|0;k=u+(w*284|0)+92|0;c[e+0>>2]=c[k+0>>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];e=d+(w*284|0)+108|0;k=u+(w*284|0)+108|0;c[e+0>>2]=c[k+0>>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];e=d+(w*284|0)+124|0;k=u+(w*284|0)+124|0;c[e+0>>2]=c[k+0>>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];e=d+(w*284|0)+140|0;k=u+(w*284|0)+140|0;c[e+0>>2]=c[k+0>>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];e=d+(w*284|0)+156|0;k=u+(w*284|0)+156|0;f=e+128|0;do{c[e>>2]=c[k>>2];e=e+4|0;k=k+4|0}while((e|0)<(f|0))}w=w+1|0}while((w|0)!=(v|0))}k=c[b+144>>2]|0;if((k|0)!=0){if((a[b+148>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=d;c[b+140>>2]=s;v=c[b+136>>2]|0}s=c[b+144>>2]|0;k=s+(v*284|0)|0;if((k|0)==0){w=v;d=s;v=w+1|0;c[b+136>>2]=v;w=d+(w*284|0)|0;d=b+116|0;v=c[d>>2]|0;Qq(v,w,0);v=c[b+136>>2]|0;v=v+ -1|0;d=c[d>>2]|0;u=c[b+144>>2]|0;Rq(d,u,v,0);i=m;return w|0}e=k+0|0;k=m+48|0;f=e+92|0;do{c[e>>2]=c[k>>2];e=e+4|0;k=k+4|0}while((e|0)<(f|0));e=s+(v*284|0)+92|0;c[e+0>>2]=c[m+240>>2];c[e+4>>2]=c[m+244>>2];c[e+8>>2]=c[m+248>>2];c[e+12>>2]=c[m+252>>2];e=s+(v*284|0)+108|0;c[e+0>>2]=c[m+224>>2];c[e+4>>2]=c[m+228>>2];c[e+8>>2]=c[m+232>>2];c[e+12>>2]=c[m+236>>2];e=s+(v*284|0)+124|0;c[e+0>>2]=c[m+208>>2];c[e+4>>2]=c[m+212>>2];c[e+8>>2]=c[m+216>>2];c[e+12>>2]=c[m+220>>2];e=s+(v*284|0)+140|0;c[e+0>>2]=c[m+192>>2];c[e+4>>2]=c[m+196>>2];c[e+8>>2]=c[m+200>>2];c[e+12>>2]=c[m+204>>2];s=s+(v*284|0)+156|0;e=s+0|0;k=m+0|0;f=e+48|0;do{c[e>>2]=c[k>>2];e=e+4|0;k=k+4|0}while((e|0)<(f|0));g[s+48>>2]=h;g[s+52>>2]=n;g[s+56>>2]=j;g[s+60>>2]=o;g[s+64>>2]=p;g[s+68>>2]=q;g[s+72>>2]=r;g[s+76>>2]=0.0;g[s+80>>2]=0.0;g[s+84>>2]=0.0;g[s+88>>2]=.10000000149011612;g[s+92>>2]=t;g[s+96>>2]=0.0;g[s+100>>2]=0.0;a[s+104>>0]=l&1;e=s+105|0;k=m+256|0;f=e+23|0;do{a[e>>0]=a[k>>0]|0;e=e+1|0;k=k+1|0}while((e|0)<(f|0));w=c[b+136>>2]|0;d=c[b+144>>2]|0;v=w+1|0;c[b+136>>2]=v;w=d+(w*284|0)|0;d=b+116|0;v=c[d>>2]|0;Qq(v,w,0);v=c[b+136>>2]|0;v=v+ -1|0;d=c[d>>2]|0;u=c[b+144>>2]|0;Rq(d,u,v,0);i=m;return w|0}function Nl(a){a=a|0;return c[a+136>>2]|0}function Ol(a){a=a|0;return c[a+116>>2]|0}function Pl(a,b){a=a|0;b=b|0;return(c[a+144>>2]|0)+(b*284|0)|0}function Ql(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 Rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);i=f;return}function Sl(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0;h=i;j=XE(44)|0;a:do if((j|0)==0){while(1){j=c[5158]|0;c[5158]=j+0;if((j|0)==0)break;sc[j&3]();j=XE(44)|0;if((j|0)!=0)break a}j=Ab(4)|0;c[j>>2]=20472;yb(j|0,20520,265)}while(0);c[j>>2]=a;c[j+4>>2]=b;b=j+8|0;c[b+0>>2]=c[d+0>>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];d=j+24|0;c[d+0>>2]=c[e+0>>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];g[j+40>>2]=f;i=h;return j|0}function Ul(a){a=a|0;return c[a>>2]|0}function Vl(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Wl(a){a=a|0;return c[a+4>>2]|0}function Xl(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Yl(a){a=a|0;return a+8|0}function Zl(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+8>>2]=c[b+0>>2];c[a+12>>2]=c[b+4>>2];c[a+16>>2]=c[b+8>>2];c[a+20>>2]=c[b+12>>2];i=d;return}function _l(a){a=a|0;return a+24|0}function $l(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+24>>2]=c[b+0>>2];c[a+28>>2]=c[b+4>>2];c[a+32>>2]=c[b+8>>2];c[a+36>>2]=c[b+12>>2];i=d;return}function am(a){a=a|0;return+(+g[a+40>>2])}function bm(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function cm(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function dm(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function em(b){b=b|0;var d=0,e=0,f=0,h=0;d=i;c[5004]=(c[5004]|0)+1;e=XE(635)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}g[e+164>>2]=1.0;g[e+168>>2]=1.0;g[e+172>>2]=1.0;g[e+176>>2]=0.0;c[e+180>>2]=0;g[e+184>>2]=999999984306749400.0;f=e+188|0;h=e+204|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[h>>2]=1;c[e+208>>2]=-1;c[e+212>>2]=-1;c[e+216>>2]=1;g[e+220>>2]=0.0;g[e+224>>2]=.5;g[e+228>>2]=0.0;g[e+232>>2]=0.0;c[e+236>>2]=1;c[e+240>>2]=0;g[e+244>>2]=1.0;h=e+248|0;f=e+4|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=e+8|0;h=e+24|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[h>>2]=1.0;h=e+28|0;f=e+44|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;g[f>>2]=1.0;f=e+48|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[e>>2]=3912;a[e+500>>0]=1;c[e+496>>2]=0;c[e+488>>2]=0;c[e+492>>2]=0;ar(e,b);i=d;return e|0}function fm(a){a=a|0;return a+4|0}function gm(a,b){a=a|0;b=b|0;var c=0;c=i;dr(a,b);i=c;return}function hm(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function im(a,b,c){a=a|0;b=+b;c=+c;if(b<0.0)b=0.0;else b=b>1.0?1.0:b;g[a+444>>2]=b;if(c<0.0)c=0.0;else c=c>1.0?1.0:c;g[a+448>>2]=c;return}function jm(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=i;cr(a,b,c);i=d;return}function km(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0;d=i;c[a+348>>2]=c[b+0>>2];c[a+352>>2]=c[b+4>>2];c[a+356>>2]=c[b+8>>2];c[a+360>>2]=c[b+12>>2];h=+g[a+344>>2];f=+g[a+352>>2]*h;e=+g[a+356>>2]*h;g[a+560>>2]=+g[a+348>>2]*h;g[a+564>>2]=f;g[a+568>>2]=e;g[a+572>>2]=0.0;i=d;return}function lm(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 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,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 nm(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 om(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 pm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;qm(a,b,c);i=d;return}function qm(a,b,c){a=a|0;b=b|0;c=c|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.0;d=i;if(!(+g[a+344>>2]!=0.0)){i=d;return}sm(a,b);h=+g[b>>2]*+g[a+348>>2];k=+g[b+4>>2]*+g[a+352>>2];m=+g[b+8>>2]*+g[a+356>>2];j=+g[c+4>>2];n=+g[c+8>>2];l=+g[c>>2];f=(+g[a+280>>2]*(j*m-n*k)+ +g[a+284>>2]*(n*h-l*m)+ +g[a+288>>2]*(l*k-j*h))*+g[a+548>>2];e=(+g[a+296>>2]*(j*m-n*k)+ +g[a+300>>2]*(n*h-l*m)+ +g[a+304>>2]*(l*k-j*h))*+g[a+552>>2];g[a+328>>2]=+g[a+328>>2]+(+g[a+264>>2]*(j*m-n*k)+ +g[a+268>>2]*(n*h-l*m)+ +g[a+272>>2]*(l*k-j*h))*+g[a+544>>2];g[a+332>>2]=+g[a+332>>2]+f;g[a+336>>2]=+g[a+336>>2]+e;i=d;return}function rm(a,b){a=a|0;b=b|0;var c=0;c=i;sm(a,b);i=c;return}function sm(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 tm(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*n*h+m*m*e+l*l*c;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]=n*h*k+m*e*j+l*c*i;g[a+284>>2]=k*h*k+j*e*j+i*c*i;g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=n*h*f+m*e*d+l*c*b;g[a+300>>2]=k*h*f+j*e*d+i*c*b;g[a+304>>2]=f*h*f+d*e*d+b*c*b;g[a+308>>2]=0.0;return}function um(a){a=a|0;return a+312|0}function vm(a){a=a|0;return a+328|0}function wm(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b+0>>2];c[a+316>>2]=c[b+4>>2];c[a+320>>2]=c[b+8>>2];c[a+324>>2]=c[b+12>>2];i=d;return}function xm(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b+0>>2];c[a+332>>2]=c[b+4>>2];c[a+336>>2]=c[b+8>>2];c[a+340>>2]=c[b+12>>2];i=d;return}function ym(a){a=a|0;return c[a+480>>2]|0}function zm(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b+0>>2];c[a+548>>2]=c[b+4>>2];c[a+552>>2]=c[b+8>>2];c[a+556>>2]=c[b+12>>2];i=d;return}function Am(a,b){a=a|0;b=b|0;if((c[b+236>>2]&2|0)==0)b=0;return b|0}function Bm(a){a=a|0;return c[a+192>>2]|0}function Cm(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Dm(a,b){a=a|0;b=b|0;var d=0;d=i;if(((c[a+216>>2]|0)+ -4|0)>>>0<2){i=d;return}c[a+216>>2]=b;i=d;return}function Em(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Fm(a){a=a|0;var b=0;b=i;if((c[a+204>>2]&3|0)!=0){i=b;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function Gm(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if(!(((c[a+216>>2]|0)+ -4|0)>>>0<2))c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function Hm(a){a=a|0;a=c[a+216>>2]|0;return((a|0)==2?0:(a|0)!=5)|0}function Im(a){a=a|0;return(c[a+204>>2]&2|0)!=0|0}function Jm(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Km(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Lm(a){a=a|0;return a+4|0}function Mm(a){a=a|0;return c[a+204>>2]|0}function Nm(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Om(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];i=d;return}function Pm(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function Qm(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+8>>2]&511](a);i=b;return}function Rm(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(75)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}jx(d,a);c[d>>2]=11032;c[d+52>>2]=0;i=b;return d|0}function Sm(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Tm(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Um(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Vm(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(75)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}jx(d,a);c[d>>2]=11136;c[d+52>>2]=2;i=b;return d|0}function Wm(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Xm(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Ym(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Zm(){var a=0,b=0,d=0,e=0;a=i;e=XE(64)|0;a:do if((e|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();e=XE(64)|0;if((e|0)!=0)break a}e=Ab(4)|0;c[e>>2]=20472;yb(e|0,20520,265)}while(0);b=e+48|0;d=e;do d=d+16|0;while((d|0)!=(b|0));i=a;return e|0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=XE(64)|0;a:do if((e|0)==0){while(1){e=c[5158]|0;c[5158]=e+0;if((e|0)==0)break;sc[e&3]();e=XE(64)|0;if((e|0)!=0)break a}g=Ab(4)|0;c[g>>2]=20472;yb(g|0,20520,265)}while(0);f=e+48|0;g=e;do g=g+16|0;while((g|0)!=(f|0));Un(e,a);c[f+0>>2]=c[b+0>>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];i=d;return e|0}function $m(a){a=a|0;var b=0;b=i;an(a);i=b;return}function an(a){a=a|0;var b=0;b=i;g[a>>2]=1.0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;g[a+20>>2]=1.0;c[a+24>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;g[a+40>>2]=1.0;g[a+44>>2]=0.0;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;i=b;return}function bn(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+48>>2]=c[b+0>>2];c[a+52>>2]=c[b+4>>2];c[a+56>>2]=c[b+8>>2];c[a+60>>2]=c[b+12>>2];i=d;return}function cn(a,b){a=a|0;b=b|0;var c=0;c=i;Un(a,b);i=c;return}function dn(a){a=a|0;return a+48|0}function en(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[48]|0)==0?(Ya(48)|0)!=0:0)bb(48);Hc(b,d);c[8]=c[d+0>>2];c[9]=c[d+4>>2];c[10]=c[d+8>>2];c[11]=c[d+12>>2];i=d;return 32}function fn(a){a=a|0;return a|0}function gn(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function hn(a){a=a|0;return c[a+24>>2]|0}function jn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function kn(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Pb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function ln(a){a=a|0;return a+28|0}function mn(a,b){a=a|0;b=b|0;var d=0;d=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);i=d;return}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);i=e;return}function on(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function pn(a){a=a|0;return c[a+68>>2]|0}function qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;Eu(a,b,c,d,e,f);i=g;return}function rn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Gu(a,b,c,d);i=e;return}function sn(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function tn(a){a=a|0;return+(+g[a>>2])}function un(a){a=a|0;return+(+g[a+4>>2])}function vn(a){a=a|0;return+(+g[a+8>>2])}function wn(a){a=a|0;return+(+g[a+12>>2])}function xn(a,b){a=a|0;b=+b;g[a>>2]=b;return}function yn(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function zn(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function An(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Bn(a){a=a|0;var b=0;b=i;if((a|0)!=0)YE(a);i=b;return}function Cn(a){a=a|0;var b=0,d=0;b=i;c[5004]=(c[5004]|0)+1;d=XE(75)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}jx(d,a);i=b;return d|0}function Dn(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function En(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Ub[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Fn(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Gn(){var a=0,b=0,d=0;a=i;b=XE(4)|0;if((b|0)!=0){d=b;c[d>>2]=192;i=a;return d|0}while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0){b=4;break}sc[b&3]();d=XE(4)|0;if((d|0)!=0){b=5;break}}if((b|0)==4){d=Ab(4)|0;c[d>>2]=20472;yb(d|0,20520,265)}else if((b|0)==5){c[d>>2]=192;i=a;return d|0}return 0}function Hn(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function In(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Jn(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Lb[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Kn(a){a=a|0;return}function Ln(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Mn(a){a=a|0;return}function Nn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function On(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Pn(a){a=a|0;return}function Qn(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=i;f=c[b>>2]|0;e=c[d>>2]|0;if((c[f+236>>2]|0)!=4)f=0;if((c[e+236>>2]|0)!=4)e=0;if((f|0)!=0)rc[c[(c[f>>2]|0)+28>>2]&127](f,d,b);if((e|0)==0){i=a;return 0}rc[c[(c[e>>2]|0)+28>>2]&127](e,b,d);i=a;return 0}function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=i;g=c[b>>2]|0;f=c[d>>2]|0;if((c[g+236>>2]|0)!=4)g=0;if((c[f+236>>2]|0)!=4)f=0;if((g|0)!=0)vc[c[(c[g>>2]|0)+32>>2]&127](g,d,e,b);if((f|0)==0){i=a;return 0}vc[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);i=a;return 0}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;return}function Un(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 Vn(a){a=a|0;return}function Wn(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Xn(a,c){a=a|0;c=c|0;var d=0;d=i;if((b[c+4>>1]&b[a+14>>1])<<16>>16==0){c=0;i=d;return c|0}c=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function Yn(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;g[a+4>>2]=+g[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+56>>2]=c[b+12>>2];c[a+60>>2]=c[b+16>>2];c[a+64>>2]=c[b+20>>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]+k*+g[a+40>>2];g[a+76>>2]=(1.0-k)*+g[a+28>>2]+k*+g[a+44>>2];return+(+g[b+24>>2])}function Zn(a,b,c,d,e,f,h,j,k,l){a=a|0;b=b|0;c=c|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;n=i;m=a;do m=m+16|0;while((m|0)!=(a+48|0));g[a>>2]=+g[b>>2];g[a+4>>2]=+g[c>>2];g[a+8>>2]=+g[d>>2];g[a+12>>2]=0.0;g[a+16>>2]=+g[e>>2];g[a+20>>2]=+g[f>>2];g[a+24>>2]=+g[h>>2];g[a+28>>2]=0.0;g[a+32>>2]=+g[j>>2];g[a+36>>2]=+g[k>>2];g[a+40>>2]=+g[l>>2];g[a+44>>2]=0.0;i=n;return}function _n(a){a=a|0;return}function $n(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0.0,l=0.0;d=i;i=i+176|0;Zn(d+128|0,a+68|0,a+84|0,a+100|0,a+72|0,a+88|0,a+104|0,a+76|0,a+92|0,a+108|0);l=-+g[a+116>>2];k=-+g[a+120>>2];h=-+g[a+124>>2];e=+g[d+128>>2]*l+ +g[d+132>>2]*k+ +g[d+136>>2]*h;f=+g[d+144>>2]*l+ +g[d+148>>2]*k+ +g[d+152>>2]*h;h=+g[d+160>>2]*l+ +g[d+164>>2]*k+ +g[d+168>>2]*h;j=d;do j=j+16|0;while((j|0)!=(d+48|0));c[d+0>>2]=c[d+128>>2];c[d+4>>2]=c[d+132>>2];c[d+8>>2]=c[d+136>>2];c[d+12>>2]=c[d+140>>2];c[d+16>>2]=c[d+144>>2];c[d+20>>2]=c[d+148>>2];c[d+24>>2]=c[d+152>>2];c[d+28>>2]=c[d+156>>2];c[d+32>>2]=c[d+160>>2];c[d+36>>2]=c[d+164>>2];c[d+40>>2]=c[d+168>>2];c[d+44>>2]=c[d+172>>2];g[d+48>>2]=e;g[d+52>>2]=f;g[d+56>>2]=h;g[d+60>>2]=0.0;co(d+64|0,d,a+4|0);c[b+0>>2]=c[d+64>>2];c[b+4>>2]=c[d+68>>2];c[b+8>>2]=c[d+72>>2];c[b+12>>2]=c[d+76>>2];c[b+16>>2]=c[d+80>>2];c[b+20>>2]=c[d+84>>2];c[b+24>>2]=c[d+88>>2];c[b+28>>2]=c[d+92>>2];c[b+32>>2]=c[d+96>>2];c[b+36>>2]=c[d+100>>2];c[b+40>>2]=c[d+104>>2];c[b+44>>2]=c[d+108>>2];c[b+48>>2]=c[d+112>>2];c[b+52>>2]=c[d+116>>2];c[b+56>>2]=c[d+120>>2];c[b+60>>2]=c[d+124>>2];i=d;return}function bo(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;co(d,b,a+68|0);c[a+4>>2]=c[d+0>>2];c[a+8>>2]=c[d+4>>2];c[a+12>>2]=c[d+8>>2];c[a+16>>2]=c[d+12>>2];c[a+20>>2]=c[d+16>>2];c[a+24>>2]=c[d+20>>2];c[a+28>>2]=c[d+24>>2];c[a+32>>2]=c[d+28>>2];c[a+36>>2]=c[d+32>>2];c[a+40>>2]=c[d+36>>2];c[a+44>>2]=c[d+40>>2];c[a+48>>2]=c[d+44>>2];c[a+52>>2]=c[d+48>>2];c[a+56>>2]=c[d+52>>2];c[a+60>>2]=c[d+56>>2];c[a+64>>2]=c[d+60>>2];i=d;return}function co(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;e=i;i=i+96|0;s=+g[d>>2];h=+g[b>>2];r=+g[d+16>>2];j=+g[b+4>>2];q=+g[d+32>>2];l=+g[b+8>>2];g[e+80>>2]=s*h+r*j+q*l;p=+g[d+4>>2];o=+g[d+20>>2];n=+g[d+36>>2];g[e+76>>2]=p*h+o*j+n*l;m=+g[d+8>>2];f=+g[d+24>>2];k=+g[d+40>>2];g[e+72>>2]=m*h+f*j+k*l;l=+g[b+16>>2];j=+g[b+20>>2];h=+g[b+24>>2];g[e+68>>2]=s*l+r*j+q*h;g[e+64>>2]=p*l+o*j+n*h;g[e+60>>2]=m*l+f*j+k*h;h=+g[b+32>>2];j=+g[b+36>>2];l=+g[b+40>>2];g[e+56>>2]=s*h+r*j+q*l;g[e+52>>2]=p*h+o*j+n*l;g[e+48>>2]=m*h+f*j+k*l;Zn(e,e+80|0,e+76|0,e+72|0,e+68|0,e+64|0,e+60|0,e+56|0,e+52|0,e+48|0);l=+g[d+48>>2];k=+g[d+52>>2];j=+g[d+56>>2];f=l*+g[b>>2]+k*+g[b+4>>2]+j*+g[b+8>>2]+ +g[b+48>>2];h=l*+g[b+16>>2]+k*+g[b+20>>2]+j*+g[b+24>>2]+ +g[b+52>>2];j=l*+g[b+32>>2]+k*+g[b+36>>2]+j*+g[b+40>>2]+ +g[b+56>>2];b=a;do b=b+16|0;while((b|0)!=(a+48|0));c[a+0>>2]=c[e+0>>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+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+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];g[a+48>>2]=f;g[a+52>>2]=h;g[a+56>>2]=j;g[a+60>>2]=0.0;i=e;return}function eo(a){a=a|0;return}function fo(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function go(a,c){a=a|0;c=c|0;var d=0;d=i;if((b[c+4>>1]&b[a+10>>1])<<16>>16==0){c=0;i=d;return c|0}c=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function ho(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,l=0.0,m=0.0;e=i;g[a+4>>2]=+g[b+40>>2];f=c[b>>2]|0;c[a+76>>2]=f;if(d){c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2];d=a+60|0;a=b+24|0;c[d+0>>2]=c[a+0>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];h=+g[b+40>>2];i=e;return+h}else{m=+g[b+8>>2];l=+g[b+12>>2];k=+g[b+16>>2];j=+g[f+20>>2]*m+ +g[f+24>>2]*l+ +g[f+28>>2]*k;h=+g[f+36>>2]*m+ +g[f+40>>2]*l+ +g[f+44>>2]*k;g[a+44>>2]=+g[f+4>>2]*m+ +g[f+8>>2]*l+ +g[f+12>>2]*k;g[a+48>>2]=j;g[a+52>>2]=h;g[a+56>>2]=0.0;d=a+60|0;a=b+24|0;c[d+0>>2]=c[a+0>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];h=+g[b+40>>2];i=e;return+h}return 0.0}function io(a){a=a|0;return}function jo(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function ko(a,c){a=a|0;c=c|0;var d=0;d=i;if((b[c+4>>1]&b[a+6>>1])<<16>>16==0){c=0;i=d;return c|0}c=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function lo(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;var j=0.0,k=0;k=i;j=+Ta(960,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0);i=k;return+j}function mo(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0,l=0;e=i;if((a[b+527>>0]|0)!=0){c[d>>2]=0;c[d+4>>2]=0;i=e;return}c[d>>2]=3;c[d+4>>2]=3;l=c[b+28>>2]|0;k=c[b+32>>2]|0;no(b,l+4|0,k+4|0,l+264|0,k+264|0);if(((a[b+526>>0]|0)!=0?(f=c[d>>2]|0,c[d>>2]=f+1,h=c[d+4>>2]|0,c[d+4>>2]=h+ -1,j=+g[b+456>>2],+g[b+444>>2]>2]>2]=f+2;c[d+4>>2]=h+ -2}if((a[b+525>>0]|0)==0){i=e;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1;i=e;return}function no(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,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.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,R=0.0,U=0.0,W=0.0,X=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;j=i;i=i+272|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)!=0?(a[b+527>>0]|0)==0:0){ia=+g[b+556>>2];ba=+g[b+560>>2];ja=+g[b+564>>2];ca=+g[b+568>>2];ea=ia*(2.0/(ia*ia+ba*ba+ja*ja+ca*ca));la=ba*(2.0/(ia*ia+ba*ba+ja*ja+ca*ca));fa=ja*(2.0/(ia*ia+ba*ba+ja*ja+ca*ca));co(j+208|0,d,b+300|0);co(j+144|0,e,b+364|0);H=+g[j+144>>2];J=+g[j+148>>2];m=+g[j+152>>2];W=(1.0-(ba*la+ja*fa))*H+(ia*la+ca*fa)*J+(ia*fa-ca*la)*m;X=(ia*la-ca*fa)*H+(1.0-(ia*ea+ja*fa))*J+(ba*fa+ca*ea)*m;Z=(ia*fa+ca*la)*H+(ba*fa-ca*ea)*J+(1.0-(ia*ea+ba*la))*m;K=+g[j+160>>2];L=+g[j+164>>2];l=+g[j+168>>2];_=(1.0-(ba*la+ja*fa))*K+(ia*la+ca*fa)*L+(ia*fa-ca*la)*l;$=(ia*la-ca*fa)*K+(1.0-(ia*ea+ja*fa))*L+(ba*fa+ca*ea)*l;aa=(ia*fa+ca*la)*K+(ba*fa-ca*ea)*L+(1.0-(ia*ea+ba*la))*l;M=+g[j+176>>2];N=+g[j+180>>2];O=+g[j+184>>2];ha=(1.0-(ba*la+ja*fa))*M+(ia*la+ca*fa)*N+(ia*fa-ca*la)*O;ja=(ia*la-ca*fa)*M+(1.0-(ia*ea+ja*fa))*N+(ba*fa+ca*ea)*O;la=(ia*fa+ca*la)*M+(ba*fa-ca*ea)*N+(1.0-(ia*ea+ba*la))*O;ba=+g[j+208>>2];ea=+g[j+224>>2];ia=+g[j+240>>2];ca=+g[j+212>>2];fa=+g[j+228>>2];ka=+g[j+244>>2];da=+g[j+216>>2];ga=+g[j+232>>2];ma=+g[j+248>>2];R=-+g[j+256>>2];U=-+g[j+260>>2];k=-+g[j+264>>2];m=H*0.0+J*0.0+m*0.0+ +g[j+192>>2]+(Z*(da*R+ga*U+ma*k)+(W*(ba*R+ea*U+ia*k)+X*(ca*R+fa*U+ka*k)));l=K*0.0+L*0.0+l*0.0+ +g[j+196>>2]+(aa*(da*R+ga*U+ma*k)+(_*(ba*R+ea*U+ia*k)+$*(ca*R+fa*U+ka*k)));k=M*0.0+N*0.0+O*0.0+ +g[j+200>>2]+(la*(da*R+ga*U+ma*k)+(ha*(ba*R+ea*U+ia*k)+ja*(ca*R+fa*U+ka*k)));g[j+80>>2]=W*ba+X*ca+Z*da;g[j+84>>2]=W*ea+X*fa+Z*ga;g[j+88>>2]=W*ia+X*ka+Z*ma;g[j+92>>2]=0.0;g[j+96>>2]=_*ba+$*ca+aa*da;g[j+100>>2]=_*ea+$*fa+aa*ga;g[j+104>>2]=_*ia+$*ka+aa*ma;g[j+108>>2]=0.0;g[j+112>>2]=ha*ba+ja*ca+la*da;g[j+116>>2]=ha*ea+ja*fa+la*ga;g[j+120>>2]=ha*ia+ja*ka+la*ma;g[j+124>>2]=0.0;g[j+128>>2]=m;g[j+132>>2]=l;g[j+136>>2]=k;g[j+140>>2]=0.0;Hc(j+80|0,j+64|0);k=+g[j+64>>2];l=+g[j+68>>2];m=+g[j+72>>2];if(+P(+(k*k+l*l+m*m))<1.1920928955078125e-7){i=j;return}g[b+472>>2]=0.0;ma=1.0/+Q(+(k*k+l*l+m*m));g[b+460>>2]=k*ma;g[b+464>>2]=l*ma;g[b+468>>2]=m*ma;ma=+g[j+76>>2];ma=ma<-1.0?-1.0:ma;ma=+V(+(ma>1.0?1.0:ma))*2.0;g[b+504>>2]=ma;if(+P(+ma)<1.1920928955078125e-7){i=j;return}a[b+526>>0]=1;i=j;return}Hc(d,j+48|0);Hc(b+300|0,j+32|0);B=+g[j+60>>2];x=+g[j+32>>2];D=+g[j+48>>2];z=+g[j+44>>2];A=+g[j+52>>2];v=+g[j+40>>2];y=+g[j+56>>2];C=+g[j+36>>2];Hc(e,j+16|0);Hc(b+364|0,j);p=+g[j+28>>2];l=+g[j>>2];r=+g[j+16>>2];n=+g[j+12>>2];o=+g[j+20>>2];s=+g[j+8>>2];m=+g[j+24>>2];q=+g[j+4>>2];k=-(p*l+r*n+o*s-m*q);w=-(l*m+(n*o+p*q)-r*s);u=-(p*s+n*m+r*q-l*o);M=(B*x+D*z+A*v-y*C)*(p*n-l*r-o*q-s*m)+(B*z-x*D-A*C-v*y)*k+(B*v+z*y+D*C-x*A)*w-(x*y+(z*A+B*C)-D*v)*u;O=(B*x+D*z+A*v-y*C)*u+((x*y+(z*A+B*C)-D*v)*(p*n-l*r-o*q-s*m)+(B*z-x*D-A*C-v*y)*w)-(B*v+z*y+D*C-x*A)*k;H=(x*y+(z*A+B*C)-D*v)*k+((B*v+z*y+D*C-x*A)*(p*n-l*r-o*q-s*m)+(B*z-x*D-A*C-v*y)*u)-(B*x+D*z+A*v-y*C)*w;R=(B*z-x*D-A*C-v*y)*(p*n-l*r-o*q-s*m)-(B*x+D*z+A*v-y*C)*k-(x*y+(z*A+B*C)-D*v)*w-(B*v+z*y+D*C-x*A)*u;E=-M-O*0.0-H*0.0;G=(H+R*0.0-M*0.0)*-H+(R*(R+O*0.0-H*0.0)+E*-M)-(R*0.0+M*0.0-O)*-O;L=(R*0.0+M*0.0-O)*-M+(R*(H+R*0.0-M*0.0)+E*-O)-(R+O*0.0-H*0.0)*-H;E=(R+O*0.0-H*0.0)*-O+(R*(R*0.0+M*0.0-O)+E*-H)-(H+R*0.0-M*0.0)*-M;K=1.0/+Q(+(E*E+(G*G+L*L)));if(K*E*0.0+(K*L*0.0+K*G)<-.9999998807907104)if(+P(0.0)>.7071067690849304){F=0.0;E=t;N=t;G=0.0}else{F=-0.0;E=1.0;N=0.0;G=0.0}else{ma=+Q(+((K*E*0.0+(K*L*0.0+K*G)+1.0)*2.0));F=(K*E*0.0-K*L*0.0)*(1.0/ma);E=(K*G*0.0-K*E)*(1.0/ma);N=(K*L-K*G*0.0)*(1.0/ma);G=ma*.5}U=1.0/+Q(+(G*G+(N*N+(E*E+F*F))));K=F*U;L=E*U;N=N*U;U=G*U;ma=1.0/+Q(+((R*U-M*-K-O*-L-H*-N)*(R*U-M*-K-O*-L-H*-N)+((O*-K+(H*U+R*-N)-M*-L)*(O*-K+(H*U+R*-N)-M*-L)+((H*-L+(M*U+R*-K)-O*-N)*(H*-L+(M*U+R*-K)-O*-N)+(M*-N+(O*U+R*-L)-H*-K)*(M*-N+(O*U+R*-L)-H*-K)))));G=ma*(H*-L+(M*U+R*-K)-O*-N);F=ma*(M*-N+(O*U+R*-L)-H*-K);E=ma*(O*-K+(H*U+R*-N)-M*-L);H=ma*(R*U-M*-K-O*-L-H*-N);M=+g[b+444>>2];O=+g[b+456>>2];if(M>=O?(J=+g[b+448>>2],J>=O):0){O=U<-1.0?-1.0:U;O=+V(+(O>1.0?1.0:O))*2.0;if(O>1.1920928955078125e-7){U=1.0/+Q(+(N*N+(K*K+L*L)));if(+P(+(L*U))>1.1920928955078125e-7){R=+Q(+((N*U*N*U/(L*U*L*U)+1.0)/(1.0/(J*J)+N*U*N*U/(L*U*L*U)/(M*M))));L=L*U;N=N*U;K=K*U}else{R=M;L=L*U;N=N*U;K=K*U}}else{R=0.0;L=0.0;N=0.0;K=0.0}W=+g[b+428>>2];U=R*W;if(O>U){a[b+526>>0]=1;if(O>2]=R;g[b+504>>2]=O-U;if(+P(+L)>1.1920928955078125e-7){J=+P(+(L*-N/L*(J/M)));if(!(N<-0.0))J=-J;N=1.0/+Q(+(L*L+K*K+J*J));K=K*N;L=L*N;N=-(J*N)}la=-K;ka=-L;ja=-N;ha=(l*m+(n*o+p*q)-r*s)*ja+(p*n-l*r-o*q-s*m)*la-(p*s+n*m+r*q-l*o)*ka;ma=(p*n-l*r-o*q-s*m)*ka+(p*s+n*m+r*q-l*o)*la-(p*l+r*n+o*s-m*q)*ja;ia=(p*n-l*r-o*q-s*m)*ja+(p*l+r*n+o*s-m*q)*ka-(l*m+(n*o+p*q)-r*s)*la;ja=-((p*l+r*n+o*s-m*q)*la)-(l*m+(n*o+p*q)-r*s)*ka-(p*s+n*m+r*q-l*o)*ja;ka=ma*u+((p*n-l*r-o*q-s*m)*ha+ja*k)-ia*w;la=ia*k+((p*n-l*r-o*q-s*m)*ma+ja*w)-ha*u;ma=ha*w+((p*n-l*r-o*q-s*m)*ia+ja*u)-ma*k;g[b+460>>2]=ka;g[b+464>>2]=la;g[b+468>>2]=ma;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+540>>2]=0;c[b+544>>2]=0;c[b+548>>2]=0;g[b+492>>2]=1.0/(ka*(+g[f>>2]*ka+ +g[f+16>>2]*la+ +g[f+32>>2]*ma)+la*(ka*+g[f+4>>2]+la*+g[f+20>>2]+ma*+g[f+36>>2])+ma*(ka*+g[f+8>>2]+la*+g[f+24>>2]+ma*+g[f+40>>2])+(ka*(ka*+g[h>>2]+la*+g[h+16>>2]+ma*+g[h+32>>2])+la*(ka*+g[h+4>>2]+la*+g[h+20>>2]+ma*+g[h+36>>2])+ma*(ka*+g[h+8>>2]+la*+g[h+24>>2]+ma*+g[h+40>>2])))}}else I=23;a:do if((I|0)==23){N=+g[b+300>>2];R=+g[b+316>>2];K=+g[b+332>>2];Z=+g[d>>2];X=+g[d+4>>2];W=+g[d+8>>2];M=+g[d+16>>2];L=+g[d+20>>2];J=+g[d+24>>2];O=+g[d+32>>2];U=+g[d+36>>2];_=+g[d+40>>2];da=+g[b+304>>2];ca=+g[b+320>>2];ba=+g[b+336>>2];ga=+g[b+308>>2];fa=+g[b+324>>2];ea=+g[b+340>>2];ja=+g[b+364>>2];la=+g[b+380>>2];ha=+g[b+396>>2];$=ja*+g[e>>2]+la*+g[e+4>>2]+ha*+g[e+8>>2];aa=ja*+g[e+16>>2]+la*+g[e+20>>2]+ha*+g[e+24>>2];ha=ja*+g[e+32>>2]+la*+g[e+36>>2]+ha*+g[e+40>>2];la=(N*Z+R*X+K*W)*$+(N*M+R*L+K*J)*aa+(N*O+R*U+K*_)*ha;ja=(Z*da+X*ca+W*ba)*$+(M*da+L*ca+J*ba)*aa+(O*da+U*ca+_*ba)*ha;ia=(Z*ga+X*fa+W*ea)*$+(M*ga+L*fa+J*ea)*aa+(O*ga+U*fa+_*ea)*ha;ka=+g[b+444>>2];ma=+g[b+456>>2];do if(ka>2];if(ka>0]=1;g[b+460>>2]=-((N*O+R*U+K*_)*aa-(N*M+R*L+K*J)*ha);g[b+464>>2]=-((N*Z+R*X+K*W)*ha-(N*O+R*U+K*_)*$);g[b+468>>2]=-((N*M+R*L+K*J)*$-(N*Z+R*X+K*W)*aa);g[b+472>>2]=0.0;break a}if(+P(+la)<1.1920928955078125e-7?+P(+ia)<1.1920928955078125e-7:0)break;a[b+526>>0]=1;if(ka>=ma){ja=+Y(+ia,+la);if(ja>ka){la=+S(+ka);ja=0.0;ia=+T(+ka);break}if(ja<-ka){la=+S(+ka);ja=0.0;ia=-+T(+ka)}else ja=0.0}}else{if(+P(+la)<1.1920928955078125e-7?+P(+ja)<1.1920928955078125e-7:0)break;a[b+526>>0]=1;if(ka>=ma){ia=+Y(+ja,+la);if(ia>ka){la=+S(+ka);ja=+T(+ka);ia=0.0;break}if(ia<-ka){la=+S(+ka);ja=-+T(+ka);ia=0.0}else ia=0.0}}while(0);ka=(Z*ga+X*fa+W*ea)*ia+((Z*da+X*ca+W*ba)*ja+(N*Z+R*X+K*W)*la);Z=(M*ga+L*fa+J*ea)*ia+((M*da+L*ca+J*ba)*ja+(N*M+R*L+K*J)*la);ja=(O*ga+U*fa+_*ea)*ia+((O*da+U*ca+_*ba)*ja+(N*O+R*U+K*_)*la);la=1.0/+Q(+(ja*ja+(ka*ka+Z*Z)));g[b+472>>2]=0.0;ma=+Q(+((aa*la*ja-ha*la*Z)*(aa*la*ja-ha*la*Z)+(ha*la*ka-$*la*ja)*(ha*la*ka-$*la*ja)+($*la*Z-aa*la*ka)*($*la*Z-aa*la*ka)));g[b+504>>2]=ma;g[b+460>>2]=-((aa*la*ja-ha*la*Z)*(1.0/ma));g[b+464>>2]=-((ha*la*ka-$*la*ja)*(1.0/ma));g[b+468>>2]=-(($*la*Z-aa*la*ka)*(1.0/ma))}while(0);J=+g[b+452>>2];if(!(J>=0.0)){g[b+512>>2]=0.0;i=j;return}K=H<-1.0?-1.0:H;K=+V(+(K>1.0?1.0:K))*2.0;if(K>3.1415927410125732){H=H>1.0?-1.0:-H;H=+V(+(H>1.0?1.0:H))*2.0;G=-G;F=-F;E=-E}else H=K;g[b+512>>2]=H;if(H>1.1920928955078125e-7){ma=1.0/+Q(+(E*E+(F*F+G*G)));G=G*ma;F=F*ma;E=E*ma}L=+g[b+428>>2];if(H>J*L){a[b+525>>0]=1;K=H-J*L;if(H>2]=H;g[b+508>>2]=K;la=-G;ka=-F;ja=-E;ha=(l*m+(n*o+p*q)-r*s)*ja+(p*n-l*r-o*q-s*m)*la-(p*s+n*m+r*q-l*o)*ka;ma=(p*n-l*r-o*q-s*m)*ka+(p*s+n*m+r*q-l*o)*la-(p*l+r*n+o*s-m*q)*ja;ia=(p*n-l*r-o*q-s*m)*ja+(p*l+r*n+o*s-m*q)*ka-(l*m+(n*o+p*q)-r*s)*la;ja=-((p*l+r*n+o*s-m*q)*la)-(l*m+(n*o+p*q)-r*s)*ka-(p*s+n*m+r*q-l*o)*ja;ka=ma*u+((p*n-l*r-o*q-s*m)*ha+ja*k)-ia*w;la=ia*k+((p*n-l*r-o*q-s*m)*ma+ja*w)-ha*u;ma=ha*w+((p*n-l*r-o*q-s*m)*ia+ja*u)-ma*k;g[b+476>>2]=ka;g[b+480>>2]=la;g[b+484>>2]=ma;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(ka*(+g[f>>2]*ka+ +g[f+16>>2]*la+ +g[f+32>>2]*ma)+la*(ka*+g[f+4>>2]+la*+g[f+20>>2]+ma*+g[f+36>>2])+ma*(ka*+g[f+8>>2]+la*+g[f+24>>2]+ma*+g[f+40>>2])+(ka*(ka*+g[h>>2]+la*+g[h+16>>2]+ma*+g[h+32>>2])+la*(ka*+g[h+4>>2]+la*+g[h+20>>2]+ma*+g[h+36>>2])+ma*(ka*+g[h+8>>2]+la*+g[h+24>>2]+ma*+g[h+40>>2])))}if((a[b+526>>0]|0)==0){i=j;return}ha=-G;ma=-F;ja=-E;ga=(x*y+(z*A+B*C)-D*v)*ja+(B*z-x*D-A*C-v*y)*ha-(B*v+z*y+D*C-x*A)*ma;la=(B*z-x*D-A*C-v*y)*ma+(B*v+z*y+D*C-x*A)*ha-(B*x+D*z+A*v-y*C)*ja;ia=(B*z-x*D-A*C-v*y)*ja+(B*x+D*z+A*v-y*C)*ma-(x*y+(z*A+B*C)-D*v)*ha;ja=-((B*x+D*z+A*v-y*C)*ha)-(x*y+(z*A+B*C)-D*v)*ma-(B*v+z*y+D*C-x*A)*ja;ma=-(B*x+D*z+A*v-y*C);ha=-(x*y+(z*A+B*C)-D*v);ka=-(B*v+z*y+D*C-x*A);g[b+536>>2]=la*ka+((B*z-x*D-A*C-v*y)*ga+ja*ma)-ia*ha;g[b+540>>2]=ia*ma+((B*z-x*D-A*C-v*y)*la+ja*ha)-ga*ka;g[b+544>>2]=ga*ha+((B*z-x*D-A*C-v*y)*ia+ja*ka)-la*ma;g[b+548>>2]=0.0;i=j;return}function oo(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.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;e=i;i=i+64|0;k=c[b+28>>2]|0;o=c[b+32>>2]|0;no(b,k+4|0,o+4|0,k+264|0,o+264|0);l=c[d+8>>2]|0;g[l>>2]=1.0;m=c[d+24>>2]|0;g[l+(m+1<<2)>>2]=1.0;g[l+((m<<1)+2<<2)>>2]=1.0;q=+g[b+348>>2];w=+g[b+352>>2];t=+g[b+356>>2];u=+g[k+4>>2]*q+ +g[k+8>>2]*w+ +g[k+12>>2]*t;r=q*+g[k+20>>2]+w*+g[k+24>>2]+t*+g[k+28>>2];t=q*+g[k+36>>2]+w*+g[k+40>>2]+t*+g[k+44>>2];l=c[d+12>>2]|0;g[l>>2]=0.0;g[l+4>>2]=t;g[l+8>>2]=-r;g[l+12>>2]=0.0;g[l+(m<<2)>>2]=-t;g[l+(m+1<<2)>>2]=0.0;g[l+(m+2<<2)>>2]=u;g[l+(m+3<<2)>>2]=0.0;g[l+(m<<1<<2)>>2]=r;g[l+((m<<1|1)<<2)>>2]=-u;g[l+((m<<1)+2<<2)>>2]=0.0;g[l+((m<<1)+3<<2)>>2]=0.0;l=c[d+16>>2]|0;g[l>>2]=-1.0;g[l+(m+1<<2)>>2]=-1.0;g[l+((m<<1)+2<<2)>>2]=-1.0;w=+g[b+412>>2];q=+g[b+416>>2];p=+g[b+420>>2];v=+g[o+4>>2]*w+ +g[o+8>>2]*q+ +g[o+12>>2]*p;s=w*+g[o+20>>2]+q*+g[o+24>>2]+p*+g[o+28>>2];p=w*+g[o+36>>2]+q*+g[o+40>>2]+p*+g[o+44>>2];l=c[d+20>>2]|0;g[l>>2]=0.0;g[l+4>>2]=-p;g[l+8>>2]=s;g[l+12>>2]=0.0;g[l+(m<<2)>>2]=p;g[l+(m+1<<2)>>2]=0.0;g[l+(m+2<<2)>>2]=-v;g[l+(m+3<<2)>>2]=0.0;g[l+(m<<1<<2)>>2]=-s;g[l+((m<<1|1)<<2)>>2]=v;g[l+((m<<1)+2<<2)>>2]=0.0;g[l+((m<<1)+3<<2)>>2]=0.0;m=c[b+592>>2]|0;q=+g[((m&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];f=c[d+24>>2]|0;n=c[d+28>>2]|0;j=c[d+36>>2]|0;h=c[d+40>>2]|0;g[n>>2]=q*(v+ +g[o+52>>2]-u- +g[k+52>>2]);g[j>>2]=-3.4028234663852886e+38;g[h>>2]=3.4028234663852886e+38;if((m&1|0)==0){g[n+(f<<2)>>2]=q*(s+ +g[o+56>>2]-r- +g[k+56>>2]);g[j+(f<<2)>>2]=-3.4028234663852886e+38;g[h+(f<<2)>>2]=3.4028234663852886e+38;g[n+(f<<1<<2)>>2]=q*(p+ +g[o+60>>2]-t- +g[k+60>>2]);g[j+(f<<1<<2)>>2]=-3.4028234663852886e+38;g[h+(f<<1<<2)>>2]=3.4028234663852886e+38}else{x=c[d+32>>2]|0;g[x>>2]=+g[b+596>>2];g[n+(f<<2)>>2]=q*(s+ +g[o+56>>2]-r- +g[k+56>>2]);g[j+(f<<2)>>2]=-3.4028234663852886e+38;g[h+(f<<2)>>2]=3.4028234663852886e+38;g[x+(f<<2)>>2]=+g[b+596>>2];g[n+(f<<1<<2)>>2]=q*(p+ +g[o+60>>2]-t- +g[k+60>>2]);g[j+(f<<1<<2)>>2]=-3.4028234663852886e+38;g[h+(f<<1<<2)>>2]=3.4028234663852886e+38;g[x+(f<<1<<2)>>2]=+g[b+596>>2]}do if((a[b+526>>0]|0)==0)f=f*3|0;else{o=c[d+12>>2]|0;w=+g[b+456>>2];if(+g[b+444>>2]>2]>2];r=+g[e+20>>2];s=+g[e+36>>2];u=+g[e+8>>2];v=+g[e+24>>2];w=+g[e+40>>2];m=c[d+24>>2]|0;x=m+(f*3|0)|0;g[o+(f*3<<2)>>2]=q;g[o+((f*3|0)+1<<2)>>2]=r;g[o+((f*3|0)+2<<2)>>2]=s;g[o+(x<<2)>>2]=u;g[o+(x+1<<2)>>2]=v;g[o+(x+2<<2)>>2]=w;g[l+(f*3<<2)>>2]=-q;g[l+((f*3|0)+1<<2)>>2]=-r;g[l+((f*3|0)+2<<2)>>2]=-s;g[l+(x<<2)>>2]=-u;g[l+(x+1<<2)>>2]=-v;g[l+(x+2<<2)>>2]=-w;t=+g[d>>2]*+g[b+436>>2];n=c[d+28>>2]|0;g[n+(f*3<<2)>>2]=t*(q*+g[b+460>>2]+r*+g[b+464>>2]+s*+g[b+468>>2]);g[n+(x<<2)>>2]=t*(u*+g[b+460>>2]+v*+g[b+464>>2]+w*+g[b+468>>2]);j=c[d+36>>2]|0;g[j+(f*3<<2)>>2]=-3.4028234663852886e+38;h=c[d+40>>2]|0;g[h+(f*3<<2)>>2]=3.4028234663852886e+38;g[j+(x<<2)>>2]=-3.4028234663852886e+38;g[h+(x<<2)>>2]=3.4028234663852886e+38;f=m+x|0;break}w=+g[b+436>>2];u=w*+g[b+460>>2]*w;v=w*w*+g[b+464>>2];w=w*w*+g[b+468>>2];g[o+(f*3<<2)>>2]=u;g[o+((f*3|0)+1<<2)>>2]=v;g[o+((f*3|0)+2<<2)>>2]=w;g[l+(f*3<<2)>>2]=-u;g[l+((f*3|0)+1<<2)>>2]=-v;g[l+((f*3|0)+2<<2)>>2]=-w;g[n+(f*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if((m&4|0)!=0)g[(c[d+32>>2]|0)+(f*3<<2)>>2]=+g[b+604>>2];g[j+(f*3<<2)>>2]=0.0;g[h+(f*3<<2)>>2]=3.4028234663852886e+38;f=f+(f*3|0)|0}while(0);if((a[b+525>>0]|0)==0){i=e;return}w=+g[b+436>>2];u=w*+g[b+476>>2]*w;v=w*w*+g[b+480>>2];w=w*w*+g[b+484>>2];l=c[d+12>>2]|0;o=c[d+20>>2]|0;g[l+(f<<2)>>2]=u;m=f+1|0;g[l+(m<<2)>>2]=v;x=f+2|0;g[l+(x<<2)>>2]=w;g[o+(f<<2)>>2]=-u;g[o+(m<<2)>>2]=-v;g[o+(x<<2)>>2]=-w;g[n+(f<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if((c[b+592>>2]&4|0)!=0)g[(c[d+32>>2]|0)+(f<<2)>>2]=+g[b+604>>2];if(!(+g[b+452>>2]>0.0)){g[j+(f<<2)>>2]=-3.4028234663852886e+38;g[h+(f<<2)>>2]=3.4028234663852886e+38;i=e;return}d=j+(f<<2)|0;if(+g[b+508>>2]>0.0){g[d>>2]=0.0;g[h+(f<<2)>>2]=3.4028234663852886e+38;i=e;return}else{g[d>>2]=-3.4028234663852886e+38;g[h+(f<<2)>>2]=0.0;i=e;return}}function po(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.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.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;d=i;i=i+176|0;if((a[b+527>>0]|0)==0){i=d;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+580>>2]=0;c[b+584>>2]=0;c[b+588>>2]=0;a:do if((a[b+524>>0]|0)==0){L=c[b+28>>2]|0;A=+g[b+348>>2];z=+g[b+352>>2];f=+g[b+356>>2];e=A*+g[L+20>>2]+z*+g[L+24>>2]+f*+g[L+28>>2]+ +g[L+56>>2];y=c[b+32>>2]|0;j=+g[b+412>>2];k=+g[y+4>>2];l=+g[b+416>>2];m=+g[y+8>>2];n=+g[b+420>>2];x=+g[y+12>>2];q=+g[y+20>>2];r=+g[y+24>>2];s=+g[y+28>>2];u=+g[y+36>>2];v=+g[y+40>>2];w=+g[y+44>>2];p=+g[y+52>>2];t=+g[y+56>>2];o=+g[y+60>>2];B=j*q+l*r+n*s+t-e;h=A*+g[L+4>>2]+z*+g[L+8>>2]+f*+g[L+12>>2]+ +g[L+52>>2];f=A*+g[L+36>>2]+z*+g[L+40>>2]+f*+g[L+44>>2]+ +g[L+60>>2];z=j*k+l*m+n*x+p-h;A=j*u+l*v+n*w+o-f;if(z*z+B*B+A*A>1.1920928955078125e-7){K=1.0/+Q(+(z*z+B*B+A*A));g[d+128>>2]=z*K;g[d+132>>2]=B*K;g[d+136>>2]=A*K;g[d+140>>2]=0.0;A=A*K;B=B*K;z=z*K}else{g[d+128>>2]=1.0;g[d+132>>2]=0.0;g[d+136>>2]=0.0;g[d+140>>2]=0.0;A=0.0;B=0.0;z=1.0}if(+P(+A)>.7071067690849304){H=A*A+B*B;I=1.0/+Q(+H);g[d+144>>2]=0.0;K=-(I*A);g[d+148>>2]=K;J=I*B;g[d+152>>2]=J;g[d+160>>2]=H*I;g[d+164>>2]=-(z*J);g[d+168>>2]=z*K}else{J=z*z+B*B;K=1.0/+Q(+J);I=-(B*K);g[d+144>>2]=I;H=K*z;g[d+148>>2]=H;g[d+152>>2]=0.0;g[d+160>>2]=-(A*H);g[d+164>>2]=A*I;g[d+168>>2]=J*K}F=k;B=q;C=u;D=m;E=r;I=v;A=x;K=s;J=w;z=p;H=t;G=o;L=0;while(1){M=c[b+28>>2]|0;g[d+80>>2]=+g[M+4>>2];g[d+84>>2]=+g[M+20>>2];g[d+88>>2]=+g[M+36>>2];g[d+92>>2]=0.0;g[d+96>>2]=+g[M+8>>2];g[d+100>>2]=+g[M+24>>2];g[d+104>>2]=+g[M+40>>2];g[d+108>>2]=0.0;g[d+112>>2]=+g[M+12>>2];g[d+116>>2]=+g[M+28>>2];g[d+120>>2]=+g[M+44>>2];g[d+124>>2]=0.0;g[d+32>>2]=F;g[d+36>>2]=B;g[d+40>>2]=C;g[d+44>>2]=0.0;g[d+48>>2]=D;g[d+52>>2]=E;g[d+56>>2]=I;g[d+60>>2]=0.0;g[d+64>>2]=A;g[d+68>>2]=K;g[d+72>>2]=J;g[d+76>>2]=0.0;J=e- +g[M+56>>2];K=f- +g[M+60>>2];g[d+16>>2]=h- +g[M+52>>2];g[d+20>>2]=J;g[d+24>>2]=K;g[d+28>>2]=0.0;g[d>>2]=j*k+l*m+n*x+p-z;g[d+4>>2]=j*q+l*r+n*s+t-H;g[d+8>>2]=j*u+l*v+n*w+o-G;g[d+12>>2]=0.0;Co(b+(L*84|0)+48|0,d+80|0,d+32|0,d+16|0,d,d+128+(L<<4)|0,M+396|0,+g[M+344>>2],y+396|0,+g[y+344>>2]);L=L+1|0;if((L|0)==3){y=b+32|0;break a}y=c[b+32>>2]|0;F=+g[y+4>>2];B=+g[y+20>>2];C=+g[y+36>>2];D=+g[y+8>>2];E=+g[y+24>>2];I=+g[y+40>>2];A=+g[y+12>>2];K=+g[y+28>>2];J=+g[y+44>>2];z=+g[y+52>>2];H=+g[y+56>>2];G=+g[y+60>>2]}}else y=b+32|0;while(0);L=c[b+28>>2]|0;M=c[y>>2]|0;no(b,L+4|0,M+4|0,L+264|0,M+264|0);i=d;return}function qo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=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.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,O=0,P=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;h=i;i=i+448|0;if((a[b+527>>0]|0)==0){i=h;return}O=c[b+28>>2]|0;I=+g[b+348>>2];E=+g[b+352>>2];F=+g[b+356>>2];C=+g[O+52>>2];D=I*+g[O+4>>2]+E*+g[O+8>>2]+F*+g[O+12>>2]+C;z=+g[O+56>>2];B=I*+g[O+20>>2]+E*+g[O+24>>2]+F*+g[O+28>>2]+z;p=+g[O+60>>2];F=I*+g[O+36>>2]+E*+g[O+40>>2]+F*+g[O+44>>2]+p;O=c[b+32>>2]|0;E=+g[b+412>>2];I=+g[b+416>>2];y=+g[b+420>>2];w=+g[O+52>>2];v=E*+g[O+4>>2]+I*+g[O+8>>2]+y*+g[O+12>>2]+w;G=+g[O+56>>2];H=E*+g[O+20>>2]+I*+g[O+24>>2]+y*+g[O+28>>2]+G;u=+g[O+60>>2];y=E*+g[O+36>>2]+I*+g[O+40>>2]+y*+g[O+44>>2]+u;if((a[b+524>>0]|0)==0){s=+g[d+192>>2]+ +g[d+80>>2];t=+g[d+196>>2]+ +g[d+84>>2];r=+g[d+200>>2]+ +g[d+88>>2];I=+g[e+192>>2]+ +g[e+80>>2];E=+g[e+196>>2]+ +g[e+84>>2];A=+g[e+200>>2]+ +g[e+88>>2];x=+g[d+176>>2]+ +g[d+64>>2]+((F-p)*t-(B-z)*r)-(+g[e+176>>2]+ +g[e+64>>2]+((y-u)*E-(H-G)*A));A=+g[d+180>>2]+ +g[d+68>>2]+((D-C)*r-(F-p)*s)-(+g[e+180>>2]+ +g[e+68>>2]+((v-w)*A-(y-u)*I));E=+g[d+184>>2]+ +g[d+72>>2]+((B-z)*s-(D-C)*t)-(+g[e+184>>2]+ +g[e+72>>2]+((H-G)*I-(v-w)*E));n=c[d+240>>2]|0;j=0;do{q=1.0/+g[b+(j*84|0)+128>>2];m=b+(j*84|0)+48|0;s=+g[m>>2];k=b+(j*84|0)+52|0;r=+g[k>>2];l=b+(j*84|0)+56|0;t=+g[l>>2];t=q*(((D-v)*s+(B-H)*r+(F-y)*t)*-.30000001192092896/f)-q*(x*s+A*r+E*t);g[b+36>>2]=+g[b+36>>2]+t;r=+g[l>>2];s=+g[k>>2];q=+g[m>>2];o=c[b+28>>2]|0;I=+g[o+344>>2];if((n|0)!=0){S=((F-p)*q-(D-C)*r)*+g[o+300>>2]+((B-z)*r-(F-p)*s)*+g[o+296>>2]+((D-C)*s-(B-z)*q)*+g[o+304>>2];P=((F-p)*q-(D-C)*r)*+g[o+284>>2]+((B-z)*r-(F-p)*s)*+g[o+280>>2]+((D-C)*s-(B-z)*q)*+g[o+288>>2];R=((F-p)*q-(D-C)*r)*+g[o+268>>2]+((B-z)*r-(F-p)*s)*+g[o+264>>2]+((D-C)*s-(B-z)*q)*+g[o+272>>2];U=t*s*I*+g[d+116>>2];T=t*r*I*+g[d+120>>2];g[d+64>>2]=t*q*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];P=P*t*+g[d+100>>2];I=S*t*+g[d+104>>2];g[d+80>>2]=R*t*+g[d+96>>2]+ +g[d+80>>2];g[d+84>>2]=P+ +g[d+84>>2];g[d+88>>2]=I+ +g[d+88>>2]}o=c[b+32>>2]|0;I=+g[o+344>>2];if((c[e+240>>2]|0)!=0){U=((y-u)*q-(v-w)*r)*+g[o+300>>2]+((H-G)*r-(y-u)*s)*+g[o+296>>2]+((v-w)*s-(H-G)*q)*+g[o+304>>2];T=((y-u)*q-(v-w)*r)*+g[o+284>>2]+((H-G)*r-(y-u)*s)*+g[o+280>>2]+((v-w)*s-(H-G)*q)*+g[o+288>>2];S=((y-u)*q-(v-w)*r)*+g[o+268>>2]+((H-G)*r-(y-u)*s)*+g[o+264>>2]+((v-w)*s-(H-G)*q)*+g[o+272>>2];P=I*+g[k>>2]*-t*+g[e+116>>2];R=I*+g[l>>2]*-t*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*I*+g[m>>2]*-t+ +g[e+64>>2];g[e+68>>2]=P+ +g[e+68>>2];g[e+72>>2]=R+ +g[e+72>>2];T=T*+g[e+100>>2]*-t;U=U*+g[e+104>>2]*-t;g[e+80>>2]=S*+g[e+96>>2]*-t+ +g[e+80>>2];g[e+84>>2]=T+ +g[e+84>>2];g[e+88>>2]=U+ +g[e+88>>2]}j=j+1|0}while((j|0)!=3)}do if((a[b+552>>0]|0)==0){q=+g[b+440>>2];if(!(q>1.1920928955078125e-7)){n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0;break}z=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);B=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);A=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(z*z+B*B+A*A>1.1920928955078125e-7){U=1.0/+Q(+(z*z+B*B+A*A));j=c[b+28>>2]|0;p=+g[j+264>>2];x=+g[j+280>>2];u=+g[j+296>>2];s=+g[j+268>>2];y=+g[j+284>>2];v=+g[j+300>>2];r=+g[j+272>>2];w=+g[j+288>>2];t=+g[j+304>>2];j=c[b+32>>2]|0;U=q*(1.0/(z*U*(z*U*p+B*U*x+A*U*u)+B*U*(z*U*s+B*U*y+A*U*v)+A*U*(z*U*r+B*U*w+A*U*t)+(z*U*(z*U*+g[j+264>>2]+B*U*+g[j+280>>2]+A*U*+g[j+296>>2])+B*U*(z*U*+g[j+268>>2]+B*U*+g[j+284>>2]+A*U*+g[j+300>>2])+A*U*(z*U*+g[j+272>>2]+B*U*+g[j+288>>2]+A*U*+g[j+304>>2]))));q=+Q(+(A*U*A*U+(z*U*z*U+B*U*B*U)));z=1.0/q*z*U;B=1.0/q*B*U;A=1.0/q*A*U;if((c[d+240>>2]|0)!=0){U=q*0.0*+g[d+116>>2];T=q*0.0*+g[d+120>>2];g[d+64>>2]=q*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=(B*y+z*x+A*w)*q*+g[d+100>>2];U=(B*v+z*u+A*t)*q*+g[d+104>>2];g[d+80>>2]=(B*s+z*p+A*r)*q*+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];j=c[b+32>>2]|0}if((c[e+240>>2]|0)!=0){U=B*+g[j+300>>2]+z*+g[j+296>>2]+A*+g[j+304>>2];T=B*+g[j+284>>2]+z*+g[j+280>>2]+A*+g[j+288>>2];S=B*+g[j+268>>2]+z*+g[j+264>>2]+A*+g[j+272>>2];P=q*-0.0*+g[e+116>>2];R=q*-0.0*+g[e+120>>2];g[e+64>>2]=q*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=P+ +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];n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}else{n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}}else{n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}}else{N=c[b+28>>2]|0;c[h+352>>2]=c[N+4>>2];c[h+356>>2]=c[N+8>>2];c[h+360>>2]=c[N+12>>2];c[h+364>>2]=c[N+16>>2];c[h+368>>2]=c[N+20>>2];c[h+372>>2]=c[N+24>>2];c[h+376>>2]=c[N+28>>2];c[h+380>>2]=c[N+32>>2];c[h+384>>2]=c[N+36>>2];c[h+388>>2]=c[N+40>>2];c[h+392>>2]=c[N+44>>2];c[h+396>>2]=c[N+48>>2];c[h+400>>2]=c[N+52>>2];c[h+404>>2]=c[N+56>>2];c[h+408>>2]=c[N+60>>2];c[h+412>>2]=c[N+64>>2];N=c[b+32>>2]|0;c[h+288>>2]=c[N+4>>2];c[h+292>>2]=c[N+8>>2];c[h+296>>2]=c[N+12>>2];c[h+300>>2]=c[N+16>>2];c[h+304>>2]=c[N+20>>2];c[h+308>>2]=c[N+24>>2];c[h+312>>2]=c[N+28>>2];c[h+316>>2]=c[N+32>>2];c[h+320>>2]=c[N+36>>2];c[h+324>>2]=c[N+40>>2];c[h+328>>2]=c[N+44>>2];c[h+332>>2]=c[N+48>>2];c[h+336>>2]=c[N+52>>2];c[h+340>>2]=c[N+56>>2];c[h+344>>2]=c[N+60>>2];c[h+348>>2]=c[N+64>>2];S=+g[d+196>>2]+ +g[d+84>>2];C=+g[d+200>>2]+ +g[d+88>>2];g[h+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[h+276>>2]=S;g[h+280>>2]=C;g[h+284>>2]=0.0;C=+g[e+196>>2]+ +g[e+84>>2];S=+g[e+200>>2]+ +g[e+88>>2];g[h+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[h+260>>2]=C;g[h+264>>2]=S;g[h+268>>2]=0.0;g[h+192>>2]=1.0;N=h+196|0;c[N+0>>2]=0;c[N+4>>2]=0;c[N+8>>2]=0;c[N+12>>2]=0;g[h+212>>2]=1.0;O=h+216|0;c[O+0>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;g[h+232>>2]=1.0;L=h+236|0;c[L+0>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;ro(h+352|0,0.0,0.0,0.0,h+272|0,f,h+192|0);g[h+128>>2]=1.0;L=h+132|0;c[L+0>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;g[h+148>>2]=1.0;M=h+152|0;c[M+0>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;g[h+168>>2]=1.0;K=h+172|0;c[K+0>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;ro(h+288|0,0.0,0.0,0.0,h+256|0,f,h+128|0);S=+g[b+556>>2];C=+g[b+560>>2];T=+g[b+564>>2];D=+g[b+568>>2];G=S*(2.0/(S*S+C*C+T*T+D*D));r=C*(2.0/(S*S+C*C+T*T+D*D));H=T*(2.0/(S*S+C*C+T*T+D*D));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];w=(S*H-D*r)*Z+(V*(S*r+D*H)+W*(1.0-(C*r+T*H)));x=Z*(C*H+D*G)+(W*(S*r-D*H)+V*(1.0-(S*G+T*H)));y=W*(S*H+D*r)+V*(C*H-D*G)+Z*(1.0-(S*G+C*r));v=+g[b+380>>2];F=+g[b+384>>2];p=+g[b+388>>2];z=(1.0-(C*r+T*H))*v+(S*r+D*H)*F+(S*H-D*r)*p;A=(S*r-D*H)*v+(1.0-(S*G+T*H))*F+(C*H+D*G)*p;B=(S*H+D*r)*v+(C*H-D*G)*F+(1.0-(S*G+C*r))*p;P=+g[b+396>>2];q=+g[b+400>>2];s=+g[b+404>>2];R=(1.0-(C*r+T*H))*P+(S*r+D*H)*q+(S*H-D*r)*s;T=(S*r-D*H)*P+(1.0-(S*G+T*H))*q+(C*H+D*G)*s;r=(S*H+D*r)*P+(C*H-D*G)*q+(1.0-(S*G+C*r))*s;C=+g[b+300>>2];G=+g[b+316>>2];S=+g[b+332>>2];D=+g[b+304>>2];H=+g[b+320>>2];U=+g[b+336>>2];E=+g[b+308>>2];I=+g[b+324>>2];t=+g[b+340>>2];u=-+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]+(y*(E*u+I*aa+t*Y)+(w*(C*u+G*aa+S*Y)+x*(D*u+H*aa+U*Y)));p=v*0.0+F*0.0+p*0.0+ +g[b+416>>2]+(B*(E*u+I*aa+t*Y)+(z*(C*u+G*aa+S*Y)+A*(D*u+H*aa+U*Y)));Y=P*0.0+q*0.0+s*0.0+ +g[b+420>>2]+(r*(E*u+I*aa+t*Y)+(R*(C*u+G*aa+S*Y)+T*(D*u+H*aa+U*Y)));aa=+g[h+128>>2];u=+g[L>>2];s=+g[h+136>>2];q=+g[h+144>>2];P=+g[h+148>>2];F=+g[M>>2];v=+g[h+160>>2];V=+g[h+164>>2];W=+g[h+168>>2];X=s*Y+(aa*Z+u*p)+ +g[h+176>>2];_=Y*F+(q*Z+P*p)+ +g[h+180>>2];$=Z*v+p*V+Y*W+ +g[h+184>>2];g[h+64>>2]=(w*C+x*D+y*E)*aa+(z*C+A*D+B*E)*u+(R*C+T*D+r*E)*s;g[h+68>>2]=(w*G+x*H+y*I)*aa+(z*G+A*H+B*I)*u+(R*G+T*H+r*I)*s;g[h+72>>2]=(w*S+x*U+y*t)*aa+(z*S+A*U+B*t)*u+(R*S+T*U+r*t)*s;g[h+76>>2]=0.0;g[h+80>>2]=(w*C+x*D+y*E)*q+(z*C+A*D+B*E)*P+(R*C+T*D+r*E)*F;g[h+84>>2]=(w*G+x*H+y*I)*q+(z*G+A*H+B*I)*P+(R*G+T*H+r*I)*F;g[h+88>>2]=(w*S+x*U+y*t)*q+(z*S+A*U+B*t)*P+(R*S+T*U+r*t)*F;g[h+92>>2]=0.0;g[h+96>>2]=(w*C+x*D+y*E)*v+(z*C+A*D+B*E)*V+(R*C+T*D+r*E)*W;g[h+100>>2]=(w*G+x*H+y*I)*v+(z*G+A*H+B*I)*V+(R*G+T*H+r*I)*W;g[h+104>>2]=(w*S+x*U+y*t)*v+(z*S+A*U+B*t)*V+(R*S+T*U+r*t)*W;g[h+108>>2]=0.0;g[h+112>>2]=X;g[h+116>>2]=_;g[h+120>>2]=$;g[h+124>>2]=0.0;$=(R*C+T*D+r*E)*-Y+((w*C+x*D+y*E)*-Z+(z*C+A*D+B*E)*-p);_=(R*G+T*H+r*I)*-Y+((w*G+x*H+y*I)*-Z+(z*G+A*H+B*I)*-p);p=(R*S+T*U+r*t)*-Y+((w*S+x*U+y*t)*-Z+(z*S+A*U+B*t)*-p);Z=+g[h+192>>2];Y=+g[N>>2];X=+g[h+200>>2];W=+g[h+208>>2];V=+g[h+212>>2];v=+g[O>>2];F=+g[h+224>>2];P=+g[h+228>>2];q=+g[h+232>>2];s=$*Z+_*Y+p*X+ +g[h+240>>2];u=$*W+_*V+p*v+ +g[h+244>>2];p=$*F+_*P+p*q+ +g[h+248>>2];g[h>>2]=(w*C+x*D+y*E)*Z+(w*G+x*H+y*I)*Y+(w*S+x*U+y*t)*X;g[h+4>>2]=(z*C+A*D+B*E)*Z+(z*G+A*H+B*I)*Y+(z*S+A*U+B*t)*X;g[h+8>>2]=(R*C+T*D+r*E)*Z+(R*G+T*H+r*I)*Y+(R*S+T*U+r*t)*X;g[h+12>>2]=0.0;g[h+16>>2]=(w*C+x*D+y*E)*W+(w*G+x*H+y*I)*V+(w*S+x*U+y*t)*v;g[h+20>>2]=(z*C+A*D+B*E)*W+(z*G+A*H+B*I)*V+(z*S+A*U+B*t)*v;g[h+24>>2]=(R*C+T*D+r*E)*W+(R*G+T*H+r*I)*V+(R*S+T*U+r*t)*v;g[h+28>>2]=0.0;g[h+32>>2]=(w*C+x*D+y*E)*F+(w*G+x*H+y*I)*P+(w*S+x*U+y*t)*q;g[h+36>>2]=(z*C+A*D+B*E)*F+(z*G+A*H+B*I)*P+(z*S+A*U+B*t)*q;g[h+40>>2]=(R*C+T*D+r*E)*F+(R*G+T*H+r*I)*P+(R*S+T*U+r*t)*q;g[h+44>>2]=0.0;g[h+48>>2]=s;g[h+52>>2]=u;g[h+56>>2]=p;g[h+60>>2]=0.0;Bo(h+352|0,h+64|0,h+424|0,h+416|0);p=+g[h+416>>2];u=1.0/f*+g[h+424>>2]*p;s=1.0/f*p*+g[h+428>>2];p=1.0/f*p*+g[h+432>>2];Bo(h+288|0,h,h+424|0,h+416|0);q=+g[h+416>>2];u=u- +g[h+272>>2];s=s- +g[h+276>>2];p=p- +g[h+280>>2];t=1.0/f*+g[h+424>>2]*q- +g[h+256>>2];r=1.0/f*q*+g[h+428>>2]- +g[h+260>>2];q=1.0/f*q*+g[h+432>>2]- +g[h+264>>2];if(u*u+s*s+p*p>1.1920928955078125e-7){x=1.0/+Q(+(u*u+s*s+p*p));O=c[b+28>>2]|0;A=u*x*(u*x*+g[O+264>>2]+s*x*+g[O+280>>2]+p*x*+g[O+296>>2])+s*x*(u*x*+g[O+268>>2]+s*x*+g[O+284>>2]+p*x*+g[O+300>>2])+p*x*(u*x*+g[O+272>>2]+s*x*+g[O+288>>2]+p*x*+g[O+304>>2]);v=u*x;y=s*x;x=p*x}else{A=0.0;v=0.0;y=0.0;x=0.0}if(t*t+r*r+q*q>1.1920928955078125e-7){w=1.0/+Q(+(t*t+r*r+q*q));O=c[b+32>>2]|0;z=t*w*(t*w*+g[O+264>>2]+r*w*+g[O+280>>2]+q*w*+g[O+296>>2])+r*w*(t*w*+g[O+268>>2]+r*w*+g[O+284>>2]+q*w*+g[O+300>>2])+q*w*(t*w*+g[O+272>>2]+r*w*+g[O+288>>2]+q*w*+g[O+304>>2]);C=t*w;B=r*w;w=q*w}else{z=0.0;C=0.0;B=0.0;w=0.0}v=v*A+C*z;y=y*A+B*z;x=x*A+w*z;if(x*x+(v*v+y*y)>1.1920928955078125e-7){aa=1.0/+Q(+(x*x+(v*v+y*y)));k=c[b+28>>2]|0;w=v*aa*(v*aa*+g[k+264>>2]+y*aa*+g[k+280>>2]+x*aa*+g[k+296>>2])+y*aa*(v*aa*+g[k+268>>2]+y*aa*+g[k+284>>2]+x*aa*+g[k+300>>2])+x*aa*(v*aa*+g[k+272>>2]+y*aa*+g[k+288>>2]+x*aa*+g[k+304>>2]);j=c[b+32>>2]|0;v=v*aa*(v*aa*+g[j+264>>2]+y*aa*+g[j+280>>2]+x*aa*+g[j+296>>2])+y*aa*(v*aa*+g[j+268>>2]+y*aa*+g[j+284>>2]+x*aa*+g[j+300>>2])+x*aa*(v*aa*+g[j+272>>2]+y*aa*+g[j+288>>2]+x*aa*+g[j+304>>2]);t=1.0/((w+v)*(w+v))*(u*w-t*v);r=1.0/((w+v)*(w+v))*(s*w-r*v);p=1.0/((w+v)*(w+v))*(p*w-q*v);v=+g[b+572>>2];if(v>=0.0){if((a[b+553>>0]|0)!=0)v=v/w;s=+g[b+576>>2];q=+g[b+580>>2];u=+g[b+584>>2];w=+Q(+((t+s)*(t+s)+(r+q)*(r+q)+(p+u)*(p+u)));if(w>v){t=v*(t+s)*(1.0/w)-s;r=v*(r+q)*(1.0/w)-q;p=v*(p+u)*(1.0/w)-u}g[b+576>>2]=t+s;g[b+580>>2]=r+q;g[b+584>>2]=p+u}q=+Q(+(p*p+(r*r+t*t)));s=t*(1.0/q);r=r*(1.0/q);p=p*(1.0/q);if((c[d+240>>2]|0)!=0){aa=r*+g[k+300>>2]+s*+g[k+296>>2]+p*+g[k+304>>2];$=r*+g[k+284>>2]+s*+g[k+280>>2]+p*+g[k+288>>2];_=r*+g[k+268>>2]+s*+g[k+264>>2]+p*+g[k+272>>2];Y=q*0.0*+g[d+116>>2];Z=q*0.0*+g[d+120>>2];g[d+64>>2]=q*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];$=$*q*+g[d+100>>2];aa=aa*q*+g[d+104>>2];g[d+80>>2]=_*q*+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];j=c[b+32>>2]|0}if((c[e+240>>2]|0)!=0){aa=r*+g[j+300>>2]+s*+g[j+296>>2]+p*+g[j+304>>2];$=r*+g[j+284>>2]+s*+g[j+280>>2]+p*+g[j+288>>2];_=r*+g[j+268>>2]+s*+g[j+264>>2]+p*+g[j+272>>2];Y=q*-0.0*+g[e+116>>2];Z=q*-0.0*+g[e+120>>2];g[e+64>>2]=q*-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]*-q;aa=aa*+g[e+104>>2]*-q;g[e+80>>2]=_*+g[e+96>>2]*-q+ +g[e+80>>2];g[e+84>>2]=$+ +g[e+84>>2];g[e+88>>2]=aa+ +g[e+88>>2];n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}else{n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}}else{n=d+80|0;N=d+196|0;m=d+84|0;M=d+200|0;o=d+88|0;L=e+192|0;k=e+80|0;K=e+196|0;l=e+84|0;J=e+200|0;j=e+88|0;O=d+192|0}}while(0);p=+g[O>>2]+ +g[n>>2];q=+g[N>>2]+ +g[m>>2];r=+g[M>>2]+ +g[o>>2];s=+g[L>>2]+ +g[k>>2];t=+g[K>>2]+ +g[l>>2];u=+g[J>>2]+ +g[j>>2];if((a[b+526>>0]|0)!=0){z=+g[b+528>>2];w=z*+g[b+504>>2]*+g[b+432>>2]/f;x=+g[b+460>>2];y=+g[b+464>>2];v=+g[b+468>>2];if((s-p)*x+(t-q)*y+(u-r)*v>0.0)w=w+z*((s-p)*x+(t-q)*y+(u-r)*v)*+g[b+436>>2];_=+g[b+516>>2];Z=_+w*+g[b+492>>2];Z=Z>0.0?Z:0.0;g[b+516>>2]=Z;X=+g[b+536>>2];Y=+g[b+540>>2];$=+g[b+544>>2];aa=X*x*(Z-_)+y*(Z-_)*Y+v*(Z-_)*$;w=+Q(+((v*(Z-_)-$*aa)*(v*(Z-_)-$*aa)+((x*(Z-_)-X*aa)*(x*(Z-_)-X*aa)+(y*(Z-_)-Y*aa)*(y*(Z-_)-Y*aa))));x=1.0/w*(x*(Z-_)-X*aa);y=1.0/w*(y*(Z-_)-Y*aa);v=1.0/w*(v*(Z-_)-$*aa);J=c[b+28>>2]|0;if((c[d+240>>2]|0)!=0){aa=y*+g[J+300>>2]+x*+g[J+296>>2]+v*+g[J+304>>2];$=y*+g[J+284>>2]+x*+g[J+280>>2]+v*+g[J+288>>2];_=y*+g[J+268>>2]+x*+g[J+264>>2]+v*+g[J+272>>2];Y=w*0.0*+g[d+116>>2];Z=w*0.0*+g[d+120>>2];g[d+64>>2]=w*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];$=$*w*+g[d+100>>2];aa=aa*w*+g[d+104>>2];g[n>>2]=_*w*+g[d+96>>2]+ +g[n>>2];g[m>>2]=$+ +g[m>>2];g[o>>2]=aa+ +g[o>>2]}J=c[b+32>>2]|0;if((c[e+240>>2]|0)!=0){aa=y*+g[J+300>>2]+x*+g[J+296>>2]+v*+g[J+304>>2];$=y*+g[J+284>>2]+x*+g[J+280>>2]+v*+g[J+288>>2];_=y*+g[J+268>>2]+x*+g[J+264>>2]+v*+g[J+272>>2];Y=w*-0.0*+g[e+116>>2];Z=w*-0.0*+g[e+120>>2];g[e+64>>2]=w*-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]*-w;aa=aa*+g[e+104>>2]*-w;g[k>>2]=_*+g[e+96>>2]*-w+ +g[k>>2];g[l>>2]=$+ +g[l>>2];g[j>>2]=aa+ +g[j>>2]}}if((a[b+525>>0]|0)==0){i=h;return}x=+g[b+532>>2];y=x*+g[b+508>>2]*+g[b+432>>2]/f;v=+g[b+476>>2];w=+g[b+480>>2];f=+g[b+484>>2];if((s-p)*v+(t-q)*w+(u-r)*f>0.0)y=y+x*((s-p)*v+(t-q)*w+(u-r)*f)*+g[b+436>>2];p=+g[b+520>>2];q=p+y*+g[b+496>>2];q=q>0.0?q:0.0;g[b+520>>2]=q;J=c[b+28>>2]|0;if((c[d+240>>2]|0)!=0){aa=w*+g[J+300>>2]+v*+g[J+296>>2]+f*+g[J+304>>2];$=w*+g[J+284>>2]+v*+g[J+280>>2]+f*+g[J+288>>2];f=w*+g[J+268>>2]+v*+g[J+264>>2]+f*+g[J+272>>2];w=(q-p)*0.0*+g[d+116>>2];v=(q-p)*0.0*+g[d+120>>2];g[d+64>>2]=(q-p)*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=w+ +g[d+68>>2];g[d+72>>2]=v+ +g[d+72>>2];v=$*(q-p)*+g[d+100>>2];w=aa*(q-p)*+g[d+104>>2];g[n>>2]=f*(q-p)*+g[d+96>>2]+ +g[n>>2];g[m>>2]=v+ +g[m>>2];g[o>>2]=w+ +g[o>>2];w=+g[b+480>>2];v=+g[b+476>>2];f=+g[b+484>>2]}b=c[b+32>>2]|0;if((c[e+240>>2]|0)==0){i=h;return}aa=w*+g[b+300>>2]+v*+g[b+296>>2]+f*+g[b+304>>2];$=w*+g[b+284>>2]+v*+g[b+280>>2]+f*+g[b+288>>2];_=w*+g[b+268>>2]+v*+g[b+264>>2]+f*+g[b+272>>2];Y=(q-p)*-0.0*+g[e+116>>2];Z=(q-p)*-0.0*+g[e+120>>2];g[e+64>>2]=(q-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]*-(q-p);aa=aa*+g[e+104>>2]*-(q-p);g[k>>2]=_*+g[e+96>>2]*-(q-p)+ +g[k>>2];g[l>>2]=$+ +g[l>>2];g[j>>2]=aa+ +g[j>>2];i=h;return}function ro(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,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;j=i;i=i+16|0;c=c*f+ +g[a+52>>2];d=d*f+ +g[a+56>>2];g[h+48>>2]=b*f+ +g[a+48>>2];g[h+52>>2]=c;g[h+56>>2]=d;g[h+60>>2]=0.0;d=+g[e>>2];b=+g[e+4>>2];c=+g[e+8>>2];k=+Q(+(d*d+b*b+c*c));if(k*f>.7853981852531433)k=.7853981852531433/f;if(k<.0010000000474974513)l=f*.5-k*f*f*f*.02083333395421505*k;else l=+T(+(k*.5*f))/k;o=l*d;b=l*b;c=l*c;q=+S(+(k*f*.5));Hc(a,j);n=+g[j>>2];p=+g[j+12>>2];f=+g[j+8>>2];l=+g[j+4>>2];r=1.0/+Q(+((q*p-o*n-b*l-c*f)*(q*p-o*n-b*l-c*f)+((c*p+q*f+o*l-b*n)*(c*p+q*f+o*l-b*n)+((q*n+o*p+b*f-c*l)*(q*n+o*p+b*f-c*l)+(c*n+(b*p+q*l)-o*f)*(c*n+(b*p+q*l)-o*f)))));d=(q*n+o*p+b*f-c*l)*r;k=r*(c*n+(b*p+q*l)-o*f);m=r*(c*p+q*f+o*l-b*n);f=r*(q*p-o*n-b*l-c*f);c=d*(2.0/(f*f+(m*m+(d*d+k*k))));l=2.0/(f*f+(m*m+(d*d+k*k)))*k;b=2.0/(f*f+(m*m+(d*d+k*k)))*m;g[h>>2]=1.0-(m*b+k*l);g[h+4>>2]=d*l-f*b;g[h+8>>2]=d*b+f*l;g[h+12>>2]=0.0;g[h+16>>2]=f*b+d*l;g[h+20>>2]=1.0-(d*c+m*b);g[h+24>>2]=k*b-f*c;g[h+28>>2]=0.0;g[h+32>>2]=d*b-f*l;g[h+36>>2]=f*c+k*b;g[h+40>>2]=1.0-(d*c+k*l);g[h+44>>2]=0.0;i=j;return}function so(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,l=0.0;e=+S(+c);c=+T(+c);f=+g[b+444>>2];if(+P(+e)>1.1920928955078125e-7){j=+g[b+448>>2];h=c*c;i=e*e;f=+Q(+((c*c/(e*e)+1.0)/(1.0/(j*j)+c*c/(e*e)/(f*f))))}else{h=c*c;i=e*e}k=f*.5;j=+T(+k)/+Q(+(i+0.0+h));k=+S(+k);l=k*d+e*j*0.0-c*j*-0.0;i=k*0.0-c*j*d-j*0.0*0.0;f=k*0.0+j*0.0*0.0-e*j*d;h=-(j*0.0*d)-e*j*0.0-c*j*-0.0;g[a>>2]=c*j*i+(k*l+h*-(j*0.0))-f*-(e*j);g[a+4>>2]=f*-(j*0.0)+(k*i+h*-(e*j))-c*j*l;g[a+8>>2]=l*-(e*j)+(k*f+c*j*h)-i*-(j*0.0);g[a+12>>2]=0.0;return}function to(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,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,u=0.0;d=i;c[a+556>>2]=c[b+0>>2];c[a+560>>2]=c[b+4>>2];c[a+564>>2]=c[b+8>>2];c[a+568>>2]=c[b+12>>2];p=+g[a+568>>2];r=+g[a+560>>2];q=+g[a+564>>2];j=+g[a+556>>2];e=-j-r*0.0-q*0.0;h=(q+p*0.0-j*0.0)*-q+(p*(p+r*0.0-q*0.0)+e*-j)-(p*0.0+j*0.0-r)*-r;k=(p*0.0+j*0.0-r)*-j+(p*(q+p*0.0-j*0.0)+e*-r)-(p+r*0.0-q*0.0)*-q;e=(p+r*0.0-q*0.0)*-r+(p*(p*0.0+j*0.0-r)+e*-q)-(q+p*0.0-j*0.0)*-j;if(e*0.0+(k*0.0+h)<-.9999998807907104)if(+P(0.0)>.7071067690849304){f=0.0;e=t;k=t;h=0.0}else{f=-0.0;e=1.0;k=0.0;h=0.0}else{s=+Q(+((e*0.0+(k*0.0+h)+1.0)*2.0));f=(e*0.0-k*0.0)*(1.0/s);e=(h*0.0-e)*(1.0/s);k=(k-h*0.0)*(1.0/s);h=s*.5}s=1.0/+Q(+(h*h+(k*k+(e*e+f*f))));l=f*s;m=e*s;o=k*s;k=h*s;s=1.0/+Q(+((k*p-j*-l-r*-m-q*-o)*(k*p-j*-l-r*-m-q*-o)+((p*-o+k*q+r*-l-j*-m)*(p*-o+k*q+r*-l-j*-m)+((k*j+p*-l+q*-m-r*-o)*(k*j+p*-l+q*-m-r*-o)+(j*-o+(p*-m+k*r)-q*-l)*(j*-o+(p*-m+k*r)-q*-l)))));h=(k*j+p*-l+q*-m-r*-o)*s;e=s*(j*-o+(p*-m+k*r)-q*-l);f=s*(p*-o+k*q+r*-l-j*-m);j=s*(k*p-j*-l-r*-m-q*-o);s=+g[a+444>>2];if(s>=.05000000074505806?(n=+g[a+448>>2],n>=.05000000074505806):0){q=k<-1.0?-1.0:k;q=+V(+(q>1.0?1.0:q))*2.0;if(q>1.1920928955078125e-7){p=1.0/+Q(+(o*o+(l*l+m*m)));if(+P(+(m*p))>1.1920928955078125e-7){s=+Q(+((o*p*o*p/(m*p*m*p)+1.0)/(1.0/(n*n)+o*p*o*p/(m*p*m*p)/(s*s))));r=l*p;n=m*p;p=o*p}else{r=l*p;n=m*p;p=o*p}}else{s=0.0;r=0.0;n=0.0;p=0.0}if(+P(+q)>1.1920928955078125e-7){if(!(q>s)){k=-s;if(q>2];if(p>=.05000000074505806){r=j<-1.0?-1.0:j;r=+V(+(r>1.0?1.0:r))*2.0;if(r>3.1415927410125732){r=j>1.0?-1.0:-j;r=+V(+(r>1.0?1.0:r))*2.0;s=-h;n=-e;q=-f}else{s=h;n=e;q=f}if(r>1.1920928955078125e-7){u=1.0/+Q(+(q*q+(n*n+s*s)));s=s*u;n=n*u;q=q*u}if(+P(+r)>1.1920928955078125e-7){if(!(r>p))if(r<-p)p=-p;else p=r;j=p*.5;e=+T(+j)/+Q(+(q*q+(n*n+s*s)));h=s*e;j=+S(+j);f=q*e;e=n*e}}g[a+556>>2]=m*f+(l*j+k*h)-o*e;g[a+560>>2]=o*h+(m*j+k*e)-l*f;g[a+564>>2]=o*j+k*f+l*e-m*h;g[a+568>>2]=k*j-l*h-m*e-o*f;i=d;return}function uo(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if((b|0)==2|(b|0)==1)if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;i=f;return}else{g[a+432>>2]=d;i=f;return}else if((b|0)==4|(b|0)==3)if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;i=f;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;i=f;return}else{i=f;return}}function vo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=i;do if((b|0)==2|(b|0)==1){if(c>>>0<3){e=+g[a+600>>2];break}if((c+ -3|0)>>>0<3)e=+g[a+432>>2];else e=0.0}else if((b|0)==4|(b|0)==3){if(c>>>0<3){e=+g[a+596>>2];break}if((c+ -3|0)>>>0<3)e=+g[a+604>>2];else e=0.0}else e=0.0;while(0);i=d;return+e}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+300>>2]=c[b+0>>2];c[a+304>>2]=c[b+4>>2];c[a+308>>2]=c[b+8>>2];c[a+312>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+320>>2]=c[b+20>>2];c[a+324>>2]=c[b+24>>2];c[a+328>>2]=c[b+28>>2];c[a+332>>2]=c[b+32>>2];c[a+336>>2]=c[b+36>>2];c[a+340>>2]=c[b+40>>2];c[a+344>>2]=c[b+44>>2];c[a+348>>2]=c[b+48>>2];c[a+352>>2]=c[b+52>>2];c[a+356>>2]=c[b+56>>2];c[a+360>>2]=c[b+60>>2];c[a+364>>2]=c[d+0>>2];c[a+368>>2]=c[d+4>>2];c[a+372>>2]=c[d+8>>2];c[a+376>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+384>>2]=c[d+20>>2];c[a+388>>2]=c[d+24>>2];c[a+392>>2]=c[d+28>>2];c[a+396>>2]=c[d+32>>2];c[a+400>>2]=c[d+36>>2];c[a+404>>2]=c[d+40>>2];c[a+408>>2]=c[d+44>>2];c[a+412>>2]=c[d+48>>2];c[a+416>>2]=c[d+52>>2];c[a+420>>2]=c[d+56>>2];c[a+424>>2]=c[d+60>>2];Lb[c[(c[a>>2]|0)+8>>2]&511](a);i=e;return}function xo(a){a=a|0;return}function yo(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function zo(a){a=a|0;return 212}function Ao(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;Pr(a,b,c)|0;g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];g[b+76>>2]=+g[a+324>>2];g[b+80>>2]=+g[a+328>>2];g[b+84>>2]=+g[a+332>>2];g[b+88>>2]=+g[a+336>>2];g[b+92>>2]=+g[a+340>>2];g[b+96>>2]=+g[a+344>>2];g[b+100>>2]=+g[a+348>>2];g[b+104>>2]=+g[a+352>>2];g[b+108>>2]=+g[a+356>>2];g[b+112>>2]=+g[a+360>>2];g[b+116>>2]=+g[a+364>>2];g[b+120>>2]=+g[a+368>>2];g[b+124>>2]=+g[a+372>>2];g[b+128>>2]=+g[a+376>>2];g[b+132>>2]=+g[a+380>>2];g[b+136>>2]=+g[a+384>>2];g[b+140>>2]=+g[a+388>>2];g[b+144>>2]=+g[a+392>>2];g[b+148>>2]=+g[a+396>>2];g[b+152>>2]=+g[a+400>>2];g[b+156>>2]=+g[a+404>>2];g[b+160>>2]=+g[a+408>>2];g[b+164>>2]=+g[a+412>>2];g[b+168>>2]=+g[a+416>>2];g[b+172>>2]=+g[a+420>>2];g[b+176>>2]=+g[a+424>>2];g[b+180>>2]=+g[a+444>>2];g[b+184>>2]=+g[a+448>>2];g[b+188>>2]=+g[a+452>>2];g[b+192>>2]=+g[a+428>>2];g[b+196>>2]=+g[a+432>>2];g[b+200>>2]=+g[a+436>>2];g[b+204>>2]=+g[a+440>>2];i=d;return 1352}function Bo(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,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;e=i;i=i+64|0;f=+g[a+20>>2];t=+g[a+40>>2];o=+g[a+24>>2];r=+g[a+36>>2];s=+g[a+32>>2];h=+g[a+16>>2];l=+g[a>>2];j=+g[a+4>>2];p=+g[a+8>>2];m=1.0/((f*t-o*r)*l+j*(o*s-t*h)+(r*h-f*s)*p);z=+g[b>>2];y=+g[b+4>>2];x=+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];k=+g[b+40>>2];g[e+16>>2]=(f*t-o*r)*m*z+(o*s-t*h)*m*y+(r*h-f*s)*m*x;g[e+20>>2]=z*m*(r*p-t*j)+y*m*(t*l-s*p)+m*(s*j-r*l)*x;g[e+24>>2]=z*m*(o*j-f*p)+y*m*(h*p-o*l)+m*(f*l-h*j)*x;g[e+28>>2]=0.0;g[e+32>>2]=(f*t-o*r)*m*w+(o*s-t*h)*m*v+(r*h-f*s)*m*u;g[e+36>>2]=m*(r*p-t*j)*w+m*(t*l-s*p)*v+m*(s*j-r*l)*u;g[e+40>>2]=m*(o*j-f*p)*w+m*(h*p-o*l)*v+m*(f*l-h*j)*u;g[e+44>>2]=0.0;g[e+48>>2]=(f*t-o*r)*m*q+(o*s-t*h)*m*n+(r*h-f*s)*m*k;g[e+52>>2]=m*(r*p-t*j)*q+m*(t*l-s*p)*n+m*(s*j-r*l)*k;g[e+56>>2]=m*(o*j-f*p)*q+m*(h*p-o*l)*n+m*(f*l-h*j)*k;g[e+60>>2]=0.0;Hc(e+16|0,e);k=+g[e>>2];j=+g[e+4>>2];h=+g[e+8>>2];l=+g[e+12>>2];f=1.0/+Q(+(k*k+j*j+h*h+l*l));g[e>>2]=k*f;g[e+4>>2]=j*f;g[e+8>>2]=h*f;g[e+12>>2]=l*f;l=l*f<-1.0?-1.0:l*f;g[d>>2]=+V(+(l>1.0?1.0:l))*2.0;g[c>>2]=k*f;g[c+4>>2]=j*f;g[c+8>>2]=h*f;g[c+12>>2]=0.0;if(k*f*k*f+j*f*j*f+h*f*h*f<1.4210854715202004e-14){g[c>>2]=1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=e;return}else{z=1.0/+Q(+(k*f*k*f+j*f*j*f+h*f*h*f));g[c>>2]=k*f*z;g[c+4>>2]=z*j*f;g[c+8>>2]=z*h*f;i=e;return}}function Co(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;l=l|0;m=+m;var 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;n=i;c[a+0>>2]=c[h+0>>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];u=+g[e+4>>2];t=+g[a+8>>2];r=+g[e+8>>2];x=+g[a+4>>2];o=+g[a>>2];z=+g[e>>2];y=(u*t-r*x)*+g[b>>2]+ +g[b+4>>2]*(r*o-t*z)+(x*z-u*o)*+g[b+8>>2];w=(u*t-r*x)*+g[b+16>>2]+(r*o-t*z)*+g[b+20>>2]+(x*z-u*o)*+g[b+24>>2];u=(u*t-r*x)*+g[b+32>>2]+(r*o-t*z)*+g[b+36>>2]+(x*z-u*o)*+g[b+40>>2];g[a+16>>2]=y;g[a+20>>2]=w;g[a+24>>2]=u;g[a+28>>2]=0.0;z=+g[f+4>>2];r=+g[f+8>>2];v=+g[f>>2];s=+g[d>>2]*(z*-t-r*-x)+ +g[d+4>>2]*(r*-o-v*-t)+(v*-x-z*-o)*+g[d+8>>2];q=(z*-t-r*-x)*+g[d+16>>2]+(r*-o-v*-t)*+g[d+20>>2]+(v*-x-z*-o)*+g[d+24>>2];o=(z*-t-r*-x)*+g[d+32>>2]+(r*-o-v*-t)*+g[d+36>>2]+(v*-x-z*-o)*+g[d+40>>2];g[a+32>>2]=s;g[a+36>>2]=q;g[a+40>>2]=o;g[a+44>>2]=0.0;z=+g[j>>2]*y;x=+g[j+4>>2]*w;v=+g[j+8>>2]*u;g[a+48>>2]=z;g[a+52>>2]=x;g[a+56>>2]=v;g[a+60>>2]=0.0;t=+g[l>>2]*s;r=+g[l+4>>2]*q;p=+g[l+8>>2]*o;g[a+64>>2]=t;g[a+68>>2]=r;g[a+72>>2]=p;g[a+76>>2]=0.0;g[a+80>>2]=z*y+x*w+v*u+k+m+(t*s+r*q+p*o);i=n;return}function Do(a){a=a|0;var b=0;b=i;Eo(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Eo(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;c[b>>2]=1392;if((a[b+272>>0]|0)!=0?(g=c[b+204>>2]|0,Lb[c[c[g>>2]>>2]&511](g),g=c[b+204>>2]|0,(g|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[g+ -4>>2]|0)}g=c[b+196>>2]|0;if((g|0)!=0?(Lb[c[c[g>>2]>>2]&511](g),f=c[b+196>>2]|0,(f|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}if((a[b+273>>0]|0)!=0?(e=c[b+200>>2]|0,Lb[c[c[e>>2]>>2]&511](e),e=c[b+200>>2]|0,(e|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+316>>2]|0;if((e|0)!=0){if((a[b+320>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+288>>2]|0;if((e|0)!=0){if((a[b+292>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+240>>2]|0;if((e|0)!=0){if((a[b+244>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+220>>2]|0;if((e|0)!=0){if((a[b+224>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+188>>2]|0;if((e|0)==0){a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;g=b+184|0;c[g>>2]=0;ru(b);i=d;return}if((a[b+192>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+188>>2]=0;a[b+192>>0]=1;c[b+188>>2]=0;c[b+180>>2]=0;g=b+184|0;c[g>>2]=0;ru(b);i=d;return}function Fo(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;d=i;i=i+32|0;h=c[a+8>>2]|0;if((h|0)<=0){i=d;return}e=0;do{f=c[(c[a+16>>2]|0)+(e<<2)>>2]|0;if((!((f|0)==0?1:(c[f+236>>2]&2|0)==0)?(c[f+216>>2]|0)!=2:0)?!((c[f+204>>2]&2|0)==0|b!=0.0^1):0){h=c[f+480>>2]|0;if((h|0)==0)h=f+4|0;else{Nb[c[(c[h>>2]|0)+8>>2]&127](h,f+4|0);h=f+4|0}k=(+g[f+56>>2]- +g[f+120>>2])*(1.0/b);l=1.0/b*(+g[f+60>>2]- +g[f+124>>2]);g[f+312>>2]=(+g[f+52>>2]- +g[f+116>>2])*(1.0/b);g[f+316>>2]=k;g[f+320>>2]=l;g[f+324>>2]=0.0;Bo(f+68|0,h,d+8|0,d);l=+g[d>>2];k=1.0/b*l*+g[d+12>>2];j=1.0/b*l*+g[d+16>>2];g[f+328>>2]=1.0/b*+g[d+8>>2]*l;g[f+332>>2]=k;g[f+336>>2]=j;g[f+340>>2]=0.0;c[f+132>>2]=c[f+312>>2];c[f+136>>2]=c[f+316>>2];c[f+140>>2]=c[f+320>>2];c[f+144>>2]=c[f+324>>2];c[f+148>>2]=c[f+328>>2];c[f+152>>2]=c[f+332>>2];c[f+156>>2]=c[f+336>>2];c[f+160>>2]=c[f+340>>2];c[f+68>>2]=c[h+0>>2];c[f+72>>2]=c[h+4>>2];c[f+76>>2]=c[h+8>>2];c[f+80>>2]=c[h+12>>2];c[f+84>>2]=c[f+20>>2];c[f+88>>2]=c[f+24>>2];c[f+92>>2]=c[f+28>>2];c[f+96>>2]=c[f+32>>2];c[f+100>>2]=c[f+36>>2];c[f+104>>2]=c[f+40>>2];c[f+108>>2]=c[f+44>>2];c[f+112>>2]=c[f+48>>2];c[f+116>>2]=c[f+52>>2];c[f+120>>2]=c[f+56>>2];c[f+124>>2]=c[f+60>>2];c[f+128>>2]=c[f+64>>2];h=c[a+8>>2]|0}e=e+1|0}while((e|0)<(h|0));i=d;return}function Go(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,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,F=0,G=0.0,H=0.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,U=0.0,V=0.0,W=0.0;d=i;i=i+1024|0;oE(1576);Ku(b);a:do if((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Pb[c[(c[I>>2]|0)+48>>2]&127](I)|0)&6144|0)!=0):0){e=d+988|0;o=d+896|0;n=d+832|0;q=d+912|0;p=d+848|0;s=d+928|0;r=d+864|0;u=d+720|0;t=d+656|0;w=d+736|0;v=d+672|0;y=d+752|0;x=d+688|0;f=d+336|0;h=d+352|0;j=d+368|0;k=d+112|0;l=d+128|0;m=d+144|0;B=Pb[c[(c[b>>2]|0)+104>>2]&127](b)|0;b:while(1){z=B+ -1|0;if((B|0)<=0)break a;B=gc[c[(c[b>>2]|0)+108>>2]&31](b,z)|0;I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;I=(Pb[c[(c[I>>2]|0)+48>>2]&127](I)|0)>>>11;C=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;C=(Pb[c[(c[C>>2]|0)+48>>2]&127](C)|0)>>>12;A=+g[B+40>>2];if(A<=0.0){B=z;continue}switch(c[B+4>>2]|0){case 3:{g[d+944>>2]=1.0;c[d+948>>2]=0;c[d+952>>2]=0;c[d+956>>2]=0;c[d+960>>2]=0;g[d+964>>2]=1.0;c[d+968>>2]=0;c[d+972>>2]=0;c[d+976>>2]=0;c[d+980>>2]=0;g[d+984>>2]=1.0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;H=+g[B+300>>2];G=+g[B+304>>2];J=+g[B+308>>2];F=c[B+28>>2]|0;K=H*+g[F+20>>2]+G*+g[F+24>>2]+J*+g[F+28>>2]+ +g[F+56>>2];L=H*+g[F+36>>2]+G*+g[F+40>>2]+J*+g[F+44>>2]+ +g[F+60>>2];g[d+992>>2]=H*+g[F+4>>2]+G*+g[F+8>>2]+J*+g[F+12>>2]+ +g[F+52>>2];g[d+996>>2]=K;g[d+1e3>>2]=L;g[d+1004>>2]=0.0;F=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[F>>2]|0)+56>>2]&7](F,d+944|0,A);L=+g[B+316>>2];K=+g[B+320>>2];J=+g[B+324>>2];F=c[B+32>>2]|0;G=L*+g[F+20>>2]+K*+g[F+24>>2]+J*+g[F+28>>2]+ +g[F+56>>2];H=L*+g[F+36>>2]+K*+g[F+40>>2]+J*+g[F+44>>2]+ +g[F+60>>2];g[d+992>>2]=L*+g[F+4>>2]+K*+g[F+8>>2]+J*+g[F+12>>2]+ +g[F+52>>2];g[d+996>>2]=G;g[d+1e3>>2]=H;g[d+1004>>2]=0.0;if((I&1|0)==0){B=z;continue b}B=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[B>>2]|0)+56>>2]&7](B,d+944|0,A);B=z;continue b};case 4:{co(d+880|0,(c[B+28>>2]|0)+4|0,B+552|0);if((I&1|0)==0){co(d+816|0,(c[B+32>>2]|0)+4|0,B+616|0);c[d+880>>2]=c[d+816>>2];c[d+884>>2]=c[d+820>>2];c[d+888>>2]=c[d+824>>2];c[d+892>>2]=c[d+828>>2];c[o+0>>2]=c[n+0>>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[q+0>>2]=c[p+0>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[s+0>>2]=c[r+0>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2]}else{I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+880|0,A);co(d+816|0,(c[B+32>>2]|0)+4|0,B+616|0);c[d+880>>2]=c[d+816>>2];c[d+884>>2]=c[d+820>>2];c[d+888>>2]=c[d+824>>2];c[d+892>>2]=c[d+828>>2];c[o+0>>2]=c[n+0>>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[q+0>>2]=c[p+0>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[s+0>>2]=c[r+0>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+880|0,A)}G=+ab(+(+g[B+688>>2]- +g[B+692>>2]),6.2831854820251465);if(!(G<-3.1415927410125732)){if(G>3.1415927410125732)G=G+-6.2831854820251465}else G=G+6.2831854820251465;H=+ab(+(+g[B+688>>2]+ +g[B+692>>2]),6.2831854820251465);if(!(H<-3.1415927410125732)){if(H>3.1415927410125732)H=H+-6.2831854820251465}else H=H+6.2831854820251465;if(G==H){B=z;continue b}B=G>H;if((C&1|0)==0){B=z;continue b}g[d+800>>2]=+g[d+888>>2];g[d+804>>2]=+g[d+904>>2];g[d+808>>2]=+g[d+920>>2];g[d+812>>2]=0.0;g[d+784>>2]=+g[d+880>>2];g[d+788>>2]=+g[d+896>>2];g[d+792>>2]=+g[d+912>>2];g[d+796>>2]=0.0;I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;F=c[(c[I>>2]|0)+60>>2]|0;c[d+768>>2]=0;c[d+772>>2]=0;c[d+776>>2]=0;c[d+780>>2]=0;Wb[F&0](I,s,d+800|0,d+784|0,A,A,B?0.0:G,B?6.2831854820251465:H,d+768|0,B^1,10.0);B=z;continue b};case 5:{co(d+704|0,(c[B+28>>2]|0)+4|0,B+300|0);if((I&1|0)==0){co(d+640|0,(c[B+32>>2]|0)+4|0,B+364|0);c[d+704>>2]=c[d+640>>2];c[d+708>>2]=c[d+644>>2];c[d+712>>2]=c[d+648>>2];c[d+716>>2]=c[d+652>>2];c[u+0>>2]=c[t+0>>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];c[w+0>>2]=c[v+0>>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[y+0>>2]=c[x+0>>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]}else{I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+704|0,A);co(d+640|0,(c[B+32>>2]|0)+4|0,B+364|0);c[d+704>>2]=c[d+640>>2];c[d+708>>2]=c[d+644>>2];c[d+712>>2]=c[d+648>>2];c[d+716>>2]=c[d+652>>2];c[u+0>>2]=c[t+0>>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];c[w+0>>2]=c[v+0>>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[y+0>>2]=c[x+0>>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];I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+704|0,A)}if((C&1|0)==0){B=z;continue b}so(d+624|0,B,6.0868353843688965,A);G=+g[d+624>>2];H=+g[d+628>>2];J=+g[d+632>>2];K=G*+g[d+720>>2]+H*+g[d+724>>2]+J*+g[d+728>>2]+ +g[d+756>>2];L=G*+g[d+736>>2]+H*+g[d+740>>2]+J*+g[d+744>>2]+ +g[d+760>>2];g[d+624>>2]=G*+g[d+704>>2]+H*+g[d+708>>2]+J*+g[d+712>>2]+ +g[d+752>>2];g[d+628>>2]=K;g[d+632>>2]=L;g[d+636>>2]=0.0;C=0;do{so(d+608|0,B,+(C|0)*6.283185005187988*.03125,A);G=+g[d+608>>2];H=+g[d+612>>2];J=+g[d+616>>2];K=G*+g[d+720>>2]+H*+g[d+724>>2]+J*+g[d+728>>2]+ +g[d+756>>2];L=G*+g[d+736>>2]+H*+g[d+740>>2]+J*+g[d+744>>2]+ +g[d+760>>2];g[d+608>>2]=G*+g[d+704>>2]+H*+g[d+708>>2]+J*+g[d+712>>2]+ +g[d+752>>2];g[d+612>>2]=K;g[d+616>>2]=L;g[d+620>>2]=0.0;I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;F=c[(c[I>>2]|0)+8>>2]|0;c[d+592>>2]=0;c[d+596>>2]=0;c[d+600>>2]=0;c[d+604>>2]=0;vc[F&127](I,d+624|0,d+608|0,d+592|0);if((C&3|0)==0){I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;F=c[(c[I>>2]|0)+8>>2]|0;c[d+576>>2]=0;c[d+580>>2]=0;c[d+584>>2]=0;c[d+588>>2]=0;vc[F&127](I,y,d+608|0,d+576|0)}c[d+624>>2]=c[d+608>>2];c[d+628>>2]=c[d+612>>2];c[d+632>>2]=c[d+616>>2];c[d+636>>2]=c[d+620>>2];C=C+1|0}while((C|0)!=32);H=+g[B+452>>2];G=+g[B+512>>2];C=c[B+32>>2]|0;if(+g[C+344>>2]>0.0){co(d+512|0,C+4|0,B+364|0);c[d+704>>2]=c[d+512>>2];c[d+708>>2]=c[d+516>>2];c[d+712>>2]=c[d+520>>2];c[d+716>>2]=c[d+524>>2];c[u+0>>2]=c[d+528>>2];c[u+4>>2]=c[d+532>>2];c[u+8>>2]=c[d+536>>2];c[u+12>>2]=c[d+540>>2];c[w+0>>2]=c[d+544>>2];c[w+4>>2]=c[d+548>>2];c[w+8>>2]=c[d+552>>2];c[w+12>>2]=c[d+556>>2];c[y+0>>2]=c[d+560>>2];c[y+4>>2]=c[d+564>>2];c[y+8>>2]=c[d+568>>2];c[y+12>>2]=c[d+572>>2]}else{co(d+448|0,(c[B+28>>2]|0)+4|0,B+300|0);c[d+704>>2]=c[d+448>>2];c[d+708>>2]=c[d+452>>2];c[d+712>>2]=c[d+456>>2];c[d+716>>2]=c[d+460>>2];c[u+0>>2]=c[d+464>>2];c[u+4>>2]=c[d+468>>2];c[u+8>>2]=c[d+472>>2];c[u+12>>2]=c[d+476>>2];c[w+0>>2]=c[d+480>>2];c[w+4>>2]=c[d+484>>2];c[w+8>>2]=c[d+488>>2];c[w+12>>2]=c[d+492>>2];c[y+0>>2]=c[d+496>>2];c[y+4>>2]=c[d+500>>2];c[y+8>>2]=c[d+504>>2];c[y+12>>2]=c[d+508>>2]}c[d+432>>2]=c[y+0>>2];c[d+436>>2]=c[y+4>>2];c[d+440>>2]=c[y+8>>2];c[d+444>>2]=c[y+12>>2];g[d+416>>2]=+g[d+704>>2];g[d+420>>2]=+g[d+720>>2];g[d+424>>2]=+g[d+736>>2];g[d+428>>2]=0.0;g[d+400>>2]=+g[d+708>>2];g[d+404>>2]=+g[d+724>>2];g[d+408>>2]=+g[d+740>>2];g[d+412>>2]=0.0;B=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;I=c[(c[B>>2]|0)+60>>2]|0;c[d+384>>2]=0;c[d+388>>2]=0;c[d+392>>2]=0;c[d+396>>2]=0;Wb[I&0](B,d+432|0,d+416|0,d+400|0,A,A,-G-H,H-G,d+384|0,1,10.0);B=z;continue b};case 6:case 9:{c[d+320>>2]=c[B+1064>>2];c[d+324>>2]=c[B+1068>>2];c[d+328>>2]=c[B+1072>>2];c[d+332>>2]=c[B+1076>>2];E=B+1080|0;c[f+0>>2]=c[E+0>>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=B+1096|0;c[h+0>>2]=c[F+0>>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];D=B+1112|0;c[j+0>>2]=c[D+0>>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];if((I&1|0)==0){c[d+320>>2]=c[B+1128>>2];c[d+324>>2]=c[B+1132>>2];c[d+328>>2]=c[B+1136>>2];c[d+332>>2]=c[B+1140>>2];c[f+0>>2]=c[B+1144>>2];c[f+4>>2]=c[B+1148>>2];c[f+8>>2]=c[B+1152>>2];c[f+12>>2]=c[B+1156>>2];c[h+0>>2]=c[B+1160>>2];c[h+4>>2]=c[B+1164>>2];c[h+8>>2]=c[B+1168>>2];c[h+12>>2]=c[B+1172>>2];c[j+0>>2]=c[B+1176>>2];c[j+4>>2]=c[B+1180>>2];c[j+8>>2]=c[B+1184>>2];c[j+12>>2]=c[B+1188>>2]}else{I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+320|0,A);c[d+320>>2]=c[B+1128>>2];c[d+324>>2]=c[B+1132>>2];c[d+328>>2]=c[B+1136>>2];c[d+332>>2]=c[B+1140>>2];c[f+0>>2]=c[B+1144>>2];c[f+4>>2]=c[B+1148>>2];c[f+8>>2]=c[B+1152>>2];c[f+12>>2]=c[B+1156>>2];c[h+0>>2]=c[B+1160>>2];c[h+4>>2]=c[B+1164>>2];c[h+8>>2]=c[B+1168>>2];c[h+12>>2]=c[B+1172>>2];c[j+0>>2]=c[B+1176>>2];c[j+4>>2]=c[B+1180>>2];c[j+8>>2]=c[B+1184>>2];c[j+12>>2]=c[B+1188>>2];I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[I>>2]|0)+56>>2]&7](I,d+320|0,A)}if((C&1|0)==0){B=z;continue b}c[d+320>>2]=c[B+1064>>2];c[d+324>>2]=c[B+1068>>2];c[d+328>>2]=c[B+1072>>2];c[d+332>>2]=c[B+1076>>2];c[f+0>>2]=c[E+0>>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];c[h+0>>2]=c[F+0>>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[j+0>>2]=c[D+0>>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];C=B+1176|0;g[d+304>>2]=+g[d+328>>2];g[d+308>>2]=+g[d+344>>2];g[d+312>>2]=+g[d+360>>2];g[d+316>>2]=0.0;g[d+288>>2]=+g[d+320>>2];g[d+292>>2]=+g[d+336>>2];g[d+296>>2]=+g[d+352>>2];g[d+300>>2]=0.0;J=+g[B+932>>2];H=+g[B+936>>2];L=+g[B+996>>2];M=+g[B+1e3>>2];I=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;O=c[(c[I>>2]|0)+64>>2]|0;c[d+272>>2]=0;c[d+276>>2]=0;c[d+280>>2]=0;c[d+284>>2]=0;mc[O&0](I,C,d+304|0,d+288|0,A*.8999999761581421,J,H,L,M,d+272|0,10.0,1);M=+g[d+324>>2];L=+g[d+340>>2];H=+g[d+356>>2];g[d+288>>2]=M;g[d+292>>2]=L;g[d+296>>2]=H;g[d+300>>2]=0.0;J=+g[B+1196>>2];K=+g[B+1200>>2];G=+S(+J);J=+T(+J);N=+S(+K);K=+T(+K);g[d+256>>2]=G*N*M+G*K*L-J*H;g[d+260>>2]=N*L-K*M;g[d+264>>2]=J*N*M+J*K*L+G*H;c[d+320>>2]=c[B+1128>>2];c[d+324>>2]=c[B+1132>>2];c[d+328>>2]=c[B+1136>>2];c[d+332>>2]=c[B+1140>>2];c[f+0>>2]=c[B+1144>>2];c[f+4>>2]=c[B+1148>>2];c[f+8>>2]=c[B+1152>>2];c[f+12>>2]=c[B+1156>>2];c[h+0>>2]=c[B+1160>>2];c[h+4>>2]=c[B+1164>>2];c[h+8>>2]=c[B+1168>>2];c[h+12>>2]=c[B+1172>>2];c[j+0>>2]=c[C+0>>2];c[j+4>>2]=c[C+4>>2];c[j+8>>2]=c[C+8>>2];c[j+12>>2]=c[C+12>>2];H=-+g[d+336>>2];G=-+g[d+352>>2];g[d+240>>2]=-+g[d+320>>2];g[d+244>>2]=H;g[d+248>>2]=G;g[d+252>>2]=0.0;G=+g[B+868>>2];H=+g[B+872>>2];if(!(G>H)){if(G>2]|0)+20>>2]&127](b)|0;I=c[(c[O>>2]|0)+60>>2]|0;c[d+208>>2]=0;c[d+212>>2]=0;c[d+216>>2]=0;c[d+220>>2]=0;Wb[I&0](O,C,d+240|0,d+256|0,A,A,G,H,d+208|0,1,10.0)}}else{O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;I=c[(c[O>>2]|0)+60>>2]|0;c[d+224>>2]=0;c[d+228>>2]=0;c[d+232>>2]=0;c[d+236>>2]=0;Wb[I&0](O,C,d+240|0,d+256|0,A,A,-3.1415927410125732,3.1415927410125732,d+224|0,0,10.0)}c[d+320>>2]=c[B+1064>>2];c[d+324>>2]=c[B+1068>>2];c[d+328>>2]=c[B+1072>>2];c[d+332>>2]=c[B+1076>>2];c[f+0>>2]=c[E+0>>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];c[h+0>>2]=c[F+0>>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[j+0>>2]=c[D+0>>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];c[d+192>>2]=c[B+680>>2];c[d+196>>2]=c[B+684>>2];c[d+200>>2]=c[B+688>>2];c[d+204>>2]=c[B+692>>2];c[d+176>>2]=c[B+696>>2];c[d+180>>2]=c[B+700>>2];c[d+184>>2]=c[B+704>>2];c[d+188>>2]=c[B+708>>2];B=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;O=c[(c[B>>2]|0)+72>>2]|0;c[d+160>>2]=0;c[d+164>>2]=0;c[d+168>>2]=0;c[d+172>>2]=0;Jb[O&31](B,d+192|0,d+176|0,d+320|0,d+160|0);B=z;continue b};case 7:{c[d+96>>2]=c[B+824>>2];c[d+100>>2]=c[B+828>>2];c[d+104>>2]=c[B+832>>2];c[d+108>>2]=c[B+836>>2];c[k+0>>2]=c[B+840>>2];c[k+4>>2]=c[B+844>>2];c[k+8>>2]=c[B+848>>2];c[k+12>>2]=c[B+852>>2];c[l+0>>2]=c[B+856>>2];c[l+4>>2]=c[B+860>>2];c[l+8>>2]=c[B+864>>2];c[l+12>>2]=c[B+868>>2];c[m+0>>2]=c[B+872>>2];c[m+4>>2]=c[B+876>>2];c[m+8>>2]=c[B+880>>2];c[m+12>>2]=c[B+884>>2];if((I&1|0)==0){c[d+96>>2]=c[B+888>>2];c[d+100>>2]=c[B+892>>2];c[d+104>>2]=c[B+896>>2];c[d+108>>2]=c[B+900>>2];c[k+0>>2]=c[B+904>>2];c[k+4>>2]=c[B+908>>2];c[k+8>>2]=c[B+912>>2];c[k+12>>2]=c[B+916>>2];c[l+0>>2]=c[B+920>>2];c[l+4>>2]=c[B+924>>2];c[l+8>>2]=c[B+928>>2];c[l+12>>2]=c[B+932>>2];c[m+0>>2]=c[B+936>>2];c[m+4>>2]=c[B+940>>2];c[m+8>>2]=c[B+944>>2];c[m+12>>2]=c[B+948>>2]}else{O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[O>>2]|0)+56>>2]&7](O,d+96|0,A);c[d+96>>2]=c[B+888>>2];c[d+100>>2]=c[B+892>>2];c[d+104>>2]=c[B+896>>2];c[d+108>>2]=c[B+900>>2];c[k+0>>2]=c[B+904>>2];c[k+4>>2]=c[B+908>>2];c[k+8>>2]=c[B+912>>2];c[k+12>>2]=c[B+916>>2];c[l+0>>2]=c[B+920>>2];c[l+4>>2]=c[B+924>>2];c[l+8>>2]=c[B+928>>2];c[l+12>>2]=c[B+932>>2];c[m+0>>2]=c[B+936>>2];c[m+4>>2]=c[B+940>>2];c[m+8>>2]=c[B+944>>2];c[m+12>>2]=c[B+948>>2];O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;tc[c[(c[O>>2]|0)+56>>2]&7](O,d+96|0,A)}if((C&1|0)==0){B=z;continue b}O=(a[B+180>>0]|0)!=0?B+824|0:B+888|0;H=+g[O>>2];L=+g[O+4>>2];J=+g[O+16>>2];N=+g[O+20>>2];K=+g[O+32>>2];M=+g[O+36>>2];W=+g[O+48>>2];U=+g[O+52>>2];Q=+g[O+56>>2];G=+g[B+184>>2];V=+g[O+8>>2]*0.0;R=+g[O+24>>2]*0.0;P=+g[O+40>>2]*0.0;g[d+80>>2]=W+(V+(L*0.0+H*G));g[d+84>>2]=U+(R+(N*0.0+J*G));g[d+88>>2]=Q+(P+(M*0.0+K*G));g[d+92>>2]=0.0;G=+g[B+188>>2];g[d+64>>2]=W+(V+(L*0.0+H*G));g[d+68>>2]=U+(R+(N*0.0+J*G));g[d+72>>2]=Q+(P+(M*0.0+K*G));g[d+76>>2]=0.0;O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;I=c[(c[O>>2]|0)+8>>2]|0;c[d+48>>2]=0;c[d+52>>2]=0;c[d+56>>2]=0;c[d+60>>2]=0;vc[I&127](O,d+80|0,d+64|0,d+48|0);g[d+32>>2]=H;g[d+36>>2]=J;g[d+40>>2]=K;g[d+44>>2]=0.0;g[d+16>>2]=L;g[d+20>>2]=N;g[d+24>>2]=M;g[d+28>>2]=0.0;M=+g[B+192>>2];N=+g[B+196>>2];O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;I=c[(c[O>>2]|0)+60>>2]|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;Wb[I&0](O,B+936|0,d+32|0,d+16|0,A,A,M,N,d,1,10.0);B=z;continue b};default:{B=z;continue b}}}}while(0);if(((((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Pb[c[(c[O>>2]|0)+48>>2]&127](O)|0)&16387|0)!=0):0)?(Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0:0)?(O=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Pb[c[(c[O>>2]|0)+48>>2]&127](O)|0)!=0):0)?(c[b+280>>2]|0)>0:0){e=0;do{O=c[(c[b+288>>2]|0)+(e<<2)>>2]|0;Nb[c[(c[O>>2]|0)+12>>2]&127](O,c[b+72>>2]|0);e=e+1|0}while((e|0)<(c[b+280>>2]|0))}b=c[5022]|0;O=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=O;if((O|0)!=0){i=d;return}do if((c[b+4>>2]|0)!=0){Eb(d+1008|0,0)|0;O=c[5008]|0;g[b+8>>2]=+(((c[d+1012>>2]|0)-(c[O+4>>2]|0)+(((c[d+1008>>2]|0)-(c[O>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=d;return}}while(0);c[5022]=c[b+20>>2];i=d;return}function Ho(a){a=a|0;var b=0,d=0,e=0;b=i;if((c[a+232>>2]|0)<=0){i=b;return}d=0;do{e=(c[(c[a+240>>2]|0)+(d<<2)>>2]|0)+412|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;d=d+1|0}while((d|0)<(c[a+232>>2]|0));i=b;return}function Io(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0.0,k=0.0;b=i;d=c[a+232>>2]|0;if((d|0)<=0){i=b;return}a=c[a+240>>2]|0;e=0;do{f=c[a+(e<<2)>>2]|0;h=c[f+216>>2]|0;if(!((h|0)==2|(h|0)==5)?(c[f+204>>2]&3|0)==0:0){k=+g[f+368>>2]*+g[f+352>>2];j=+g[f+372>>2]*+g[f+356>>2];g[f+412>>2]=+g[f+364>>2]*+g[f+348>>2]+ +g[f+412>>2];g[f+416>>2]=k+ +g[f+416>>2];g[f+420>>2]=j+ +g[f+420>>2]}e=e+1|0}while((e|0)<(d|0));i=b;return}function Jo(b){b=b|0;var d=0,e=0.0,f=0.0,h=0,j=0,k=0,l=0;d=i;i=i+144|0;oE(1592);if((a[b+274>>0]|0)==0){k=c[b+232>>2]|0;if((k|0)>0){h=0;do{j=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;l=c[j+216>>2]|0;if((!((l|0)==2|(l|0)==5)?(c[j+480>>2]|0)!=0:0)?(c[j+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(e=+g[b+268>>2],e!=0.0):0)f=+g[b+264>>2]-e;else f=+g[b+264>>2]*+g[j+244>>2];ro(j+68|0,+g[j+132>>2],+g[j+136>>2],+g[j+140>>2],j+148|0,f,d);k=c[j+480>>2]|0;Nb[c[(c[k>>2]|0)+12>>2]&127](k,d);k=c[b+232>>2]|0}h=h+1|0}while((h|0)<(k|0))}}else{k=c[b+8>>2]|0;if((k|0)>0){h=0;do{j=c[(c[b+16>>2]|0)+(h<<2)>>2]|0;if((!((j|0)==0?1:(c[j+236>>2]&2|0)==0)?(c[j+480>>2]|0)!=0:0)?(c[j+204>>2]&3|0)==0:0){if((a[b+300>>0]|0)!=0?(f=+g[b+268>>2],f!=0.0):0)e=+g[b+264>>2]-f;else e=+g[b+264>>2]*+g[j+244>>2];ro(j+68|0,+g[j+132>>2],+g[j+136>>2],+g[j+140>>2],j+148|0,e,d+64|0);k=c[j+480>>2]|0;Nb[c[(c[k>>2]|0)+12>>2]&127](k,d+64|0);k=c[b+8>>2]|0}h=h+1|0}while((h|0)<(k|0))}}b=c[5022]|0;l=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=l;if((l|0)!=0){i=d;return}do if((c[b+4>>2]|0)!=0){Eb(d+128|0,0)|0;l=c[5008]|0;g[b+8>>2]=+(((c[d+132>>2]|0)-(c[l+4>>2]|0)+(((c[d+128>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=d;return}}while(0);c[5022]=c[b+20>>2];i=d;return}function Ko(b,d,e,f){b=b|0;d=+d;e=e|0;f=+f;var h=0,j=0,k=0.0,l=0;h=i;i=i+16|0;Eb(c[5008]|0,0)|0;nE(20040);c[5011]=(c[5011]|0)+1;l=c[5014]|0;c[5014]=l+1;if((l|0)==0){Eb(h|0,0)|0;l=c[5008]|0;c[5013]=(c[h+4>>2]|0)-(c[l+4>>2]|0)+(((c[h>>2]|0)-(c[l>>2]|0)|0)*1e6|0)}c[5024]=0;Eb(h|0,0)|0;oE(1616);if((e|0)!=0){g[b+268>>2]=f;k=+g[b+264>>2]+d;g[b+264>>2]=k;if(!(k>=f)){d=f;j=0}else{g[b+264>>2]=k- +(~~(k/f)|0)*f;d=f;j=~~(k/f)}}else{g[b+264>>2]=(a[b+300>>0]|0)!=0?0.0:d;g[b+268>>2]=0.0;j=!(+P(+d)<1.1920928955078125e-7)&1;e=j}if((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0){l=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[3896]=(Pb[c[(c[l>>2]|0)+48>>2]&127](l)|0)>>>4&1}if((j|0)!=0){e=(j|0)>(e|0)?e:j;Kb[c[(c[b>>2]|0)+164>>2]&31](b,d*+(e|0));Lb[c[(c[b>>2]|0)+168>>2]&511](b);if((e|0)>0){l=0;do{Kb[c[(c[b>>2]|0)+160>>2]&31](b,d);Lb[c[(c[b>>2]|0)+80>>2]&511](b);l=l+1|0}while((l|0)<(e|0))}}else Lb[c[(c[b>>2]|0)+80>>2]&511](b);Lb[c[(c[b>>2]|0)+120>>2]&511](b);c[5024]=(c[5024]|0)+1;b=c[5022]|0;l=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=l;if((l|0)!=0){i=h;return j|0}do if((c[b+4>>2]|0)!=0){Eb(h|0,0)|0;l=c[5008]|0;g[b+8>>2]=+(((c[h+4>>2]|0)-(c[l+4>>2]|0)+(((c[h>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=h;return j|0}}while(0);c[5022]=c[b+20>>2];i=h;return j|0}function Lo(d,e){d=d|0;e=+e;var 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,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.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,L=0.0,M=0.0,N=0.0,O=0.0;f=i;i=i+464|0;oE(1632);p=c[d+84>>2]|0;if((p|0)!=0)Kb[p&31](d,e);Kb[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=Pb[c[(c[d>>2]|0)+20>>2]&127](d)|0;oE(1768);oE(1800);q=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){p=0;do{C=c[d+24>>2]|0;Nb[c[(c[C>>2]|0)+16>>2]&127](C,c[q+(p<<2)>>2]|0);p=p+1|0;q=c[d+316>>2]|0}while((p|0)<(c[d+308>>2]|0))}if((q|0)!=0){if((a[d+320>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[q+ -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;p=c[5022]|0;C=(c[p+16>>2]|0)+ -1|0;c[p+16>>2]=C;do if((C|0)==0){if((c[p+4>>2]|0)!=0){Eb(f+280|0,0)|0;C=c[5008]|0;g[p+8>>2]=+(((c[f+284>>2]|0)-(c[C+4>>2]|0)+(((c[f+280>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[p+12>>2]|0)|0)>>>0)/1.0e3+ +g[p+8>>2];if((c[p+16>>2]|0)!=0)break;p=c[5022]|0}c[5022]=c[p+20>>2]}while(0);if((c[d+232>>2]|0)>0){p=f+264|0;s=f+164|0;r=f+400|0;q=0;do{t=c[(c[d+240>>2]|0)+(q<<2)>>2]|0;g[t+244>>2]=1.0;C=c[t+216>>2]|0;do if(((!((C|0)==2|(C|0)==5)?(c[t+204>>2]&3|0)==0:0)?(ro(t+4|0,+g[t+312>>2],+g[t+316>>2],+g[t+320>>2],t+328|0,e,f+216|0),l=+g[p>>2],h=l- +g[t+52>>2],m=+g[f+268>>2],j=m- +g[t+56>>2],n=+g[f+272>>2],k=n- +g[t+60>>2],(a[d+44>>0]|0)!=0):0)?(y=+g[t+252>>2],y*y!=0.0?y*y>2]|0)+4>>2]|0)<20){c[440]=(c[440]|0)+1;B=c[d+68>>2]|0;B=Pb[c[(c[B>>2]|0)+36>>2]&127](B)|0;C=c[d+24>>2]|0;g[f+124>>2]=1.0;b[f+128>>1]=1;b[f+130>>1]=-1;c[f+120>>2]=688;c[f+132>>2]=c[t+52>>2];c[f+136>>2]=c[t+56>>2];c[f+140>>2]=c[t+60>>2];c[f+144>>2]=c[t+64>>2];c[f+148>>2]=c[p+0>>2];c[f+152>>2]=c[p+4>>2];c[f+156>>2]=c[p+8>>2];c[f+160>>2]=c[p+12>>2];c[f+196>>2]=0;c[f+120>>2]=2160;c[f+200>>2]=t;g[f+204>>2]=0.0;c[f+208>>2]=B;c[f+212>>2]=C;w=+g[t+248>>2];c[f+72>>2]=0;g[f+76>>2]=1.0;g[f+80>>2]=1.0;g[f+84>>2]=1.0;g[f+88>>2]=0.0;c[f+64>>2]=16680;c[f+68>>2]=8;g[f+92>>2]=w;g[f+108>>2]=w;g[f+204>>2]=+g[d+56>>2];C=c[t+188>>2]|0;b[f+128>>1]=b[C+4>>1]|0;b[f+130>>1]=b[C+6>>1]|0;c[f+48>>2]=c[p+0>>2];c[f+52>>2]=c[p+4>>2];c[f+56>>2]=c[p+8>>2];c[f+60>>2]=c[p+12>>2];c[f+0>>2]=c[t+4>>2];c[f+4>>2]=c[t+8>>2];c[f+8>>2]=c[t+12>>2];c[f+12>>2]=c[t+16>>2];c[f+16>>2]=c[t+20>>2];c[f+20>>2]=c[t+24>>2];c[f+24>>2]=c[t+28>>2];c[f+28>>2]=c[t+32>>2];c[f+32>>2]=c[t+36>>2];c[f+36>>2]=c[t+40>>2];c[f+40>>2]=c[t+44>>2];c[f+44>>2]=c[t+48>>2];Eu(d,f+64|0,t+4|0,f,f+120|0,0.0);w=+g[f+124>>2];if(w<1.0){v=w*(l- +g[t+52>>2]);u=w*(m- +g[t+56>>2]);w=w*(n- +g[t+60>>2]);y=-(u*+g[f+168>>2])-v*+g[s>>2]-w*+g[f+172>>2];x=c[d+24>>2]|0;x=Yb[c[(c[x>>2]|0)+12>>2]&31](x,t,c[f+196>>2]|0)|0;A=c[d+308>>2]|0;if((A|0)==(c[d+312>>2]|0)?(o=(A|0)==0?1:A<<1,(A|0)<(o|0)):0){if((o|0)==0)z=0;else{c[5004]=(c[5004]|0)+1;z=XE((o<<2|3)+16|0)|0;if((z|0)==0)z=0;else{c[(z+19&-16)+ -4>>2]=z;z=z+19&-16}A=c[d+308>>2]|0}if((A|0)>0){B=0;do{C=z+(B<<2)|0;if((C|0)!=0)c[C>>2]=c[(c[d+316>>2]|0)+(B<<2)>>2];B=B+1|0}while((B|0)!=(A|0))}B=c[d+316>>2]|0;if((B|0)!=0){if((a[d+320>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[B+ -4>>2]|0);A=c[d+308>>2]|0}c[d+316>>2]=0}a[d+320>>0]=1;c[d+316>>2]=z;c[d+312>>2]=o}z=(c[d+316>>2]|0)+(A<<2)|0;if((z|0)!=0)c[z>>2]=x;c[d+308>>2]=A+1;D=v+ +g[t+52>>2];v=u+ +g[t+56>>2];w=w+ +g[t+60>>2];C=c[f+196>>2]|0;O=+g[C+4>>2];N=+g[C+20>>2];M=+g[C+36>>2];L=+g[C+8>>2];K=+g[C+24>>2];J=+g[C+40>>2];I=+g[C+12>>2];G=+g[C+28>>2];E=+g[C+44>>2];H=-+g[C+52>>2];F=-+g[C+56>>2];u=-+g[C+60>>2];c[f+280>>2]=0;c[f+284>>2]=0;c[f+288>>2]=0;c[f+292>>2]=0;g[f+296>>2]=D*O+v*N+w*M+(O*H+N*F+M*u);g[f+300>>2]=D*L+v*K+w*J+(L*H+K*F+J*u);g[f+304>>2]=D*I+v*G+w*E+(I*H+G*F+E*u);g[f+308>>2]=0.0;c[f+344>>2]=c[s+0>>2];c[f+348>>2]=c[s+4>>2];c[f+352>>2]=c[s+8>>2];c[f+356>>2]=c[s+12>>2];g[f+360>>2]=y;g[f+364>>2]=0.0;g[f+368>>2]=0.0;g[f+372>>2]=0.0;c[f+392>>2]=0;a[f+396>>0]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;C=mA(x,f+280|0)|0;g[x+(C*184|0)+96>>2]=0.0;y=+g[t+224>>2]*+g[(c[f+196>>2]|0)+224>>2];y=y<-10.0?-10.0:y;g[x+(C*184|0)+88>>2]=y>10.0?10.0:y;c[x+(C*184|0)+52>>2]=c[t+52>>2];c[x+(C*184|0)+56>>2]=c[t+56>>2];c[x+(C*184|0)+60>>2]=c[t+60>>2];c[x+(C*184|0)+64>>2]=c[t+64>>2];g[x+(C*184|0)+36>>2]=D;g[x+(C*184|0)+40>>2]=v;g[x+(C*184|0)+44>>2]=w;g[x+(C*184|0)+48>>2]=0.0}}t=c[5022]|0;C=(c[t+16>>2]|0)+ -1|0;c[t+16>>2]=C;if((C|0)==0){if((c[t+4>>2]|0)!=0){Eb(f+280|0,0)|0;C=c[5008]|0;g[t+8>>2]=+(((c[f+284>>2]|0)-(c[C+4>>2]|0)+(((c[f+280>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[t+12>>2]|0)|0)>>>0)/1.0e3+ +g[t+8>>2];if((c[t+16>>2]|0)!=0)break;t=c[5022]|0}c[5022]=c[t+20>>2]}}while(0);q=q+1|0}while((q|0)<(c[d+232>>2]|0))}o=c[5022]|0;C=(c[o+16>>2]|0)+ -1|0;c[o+16>>2]=C;do if((C|0)==0){if((c[o+4>>2]|0)!=0){Eb(f+280|0,0)|0;C=c[5008]|0;g[o+8>>2]=+(((c[f+284>>2]|0)-(c[C+4>>2]|0)+(((c[f+280>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[o+12>>2]|0)|0)>>>0)/1.0e3+ +g[o+8>>2];if((c[o+16>>2]|0)!=0)break;o=c[5022]|0}c[5022]=c[o+20>>2]}while(0);Lb[c[(c[d>>2]|0)+44>>2]&511](d);Lb[c[(c[d>>2]|0)+148>>2]&511](d);g[d+104>>2]=e;Nb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);Kb[c[(c[d>>2]|0)+144>>2]&31](d,e);oE(1664);if((c[d+280>>2]|0)>0){o=0;do{C=c[(c[d+288>>2]|0)+(o<<2)>>2]|0;tc[c[(c[C>>2]|0)+8>>2]&7](C,d,e);o=o+1|0}while((o|0)<(c[d+280>>2]|0))}o=c[5022]|0;C=(c[o+16>>2]|0)+ -1|0;c[o+16>>2]=C;do if((C|0)==0){if((c[o+4>>2]|0)!=0){Eb(f+280|0,0)|0;C=c[5008]|0;g[o+8>>2]=+(((c[f+284>>2]|0)-(c[C+4>>2]|0)+(((c[f+280>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[o+12>>2]|0)|0)>>>0)/1.0e3+ +g[o+8>>2];if((c[o+16>>2]|0)!=0)break;o=c[5022]|0}c[5022]=c[o+20>>2]}while(0);Kb[c[(c[d>>2]|0)+156>>2]&31](d,e);o=c[d+80>>2]|0;if((o|0)!=0)Kb[o&31](d,e);d=c[5022]|0;C=(c[d+16>>2]|0)+ -1|0;c[d+16>>2]=C;if((C|0)!=0){i=f;return}do if((c[d+4>>2]|0)!=0){Eb(f+280|0,0)|0;C=c[5008]|0;g[d+8>>2]=+(((c[f+284>>2]|0)-(c[C+4>>2]|0)+(((c[f+280>>2]|0)-(c[C>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if((c[d+16>>2]|0)==0){d=c[5022]|0;break}else{i=f;return}}while(0);c[5022]=c[d+20>>2];i=f;return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0.0,k=0,l=0.0,m=0.0;d=i;c[a+248>>2]=c[b+0>>2];c[a+252>>2]=c[b+4>>2];c[a+256>>2]=c[b+8>>2];c[a+260>>2]=c[b+12>>2];h=c[a+232>>2]|0;if((h|0)<=0){i=d;return}e=0;do{f=c[(c[a+240>>2]|0)+(e<<2)>>2]|0;k=c[f+216>>2]|0;if(!((k|0)==2|(k|0)==5)?(c[f+504>>2]&1|0)==0:0){j=+g[f+344>>2];if(j!=0.0){m=1.0/j*+g[b+4>>2];l=1.0/j*+g[b+8>>2];g[f+364>>2]=1.0/j*+g[b>>2];g[f+368>>2]=m;g[f+372>>2]=l;g[f+376>>2]=0.0}c[f+380>>2]=c[b+0>>2];c[f+384>>2]=c[b+4>>2];c[f+388>>2]=c[b+8>>2];c[f+392>>2]=c[b+12>>2];h=c[a+232>>2]|0}e=e+1|0}while((e|0)<(h|0));i=d;return}function No(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+0>>2]=c[b+248>>2];c[a+4>>2]=c[b+252>>2];c[a+8>>2]=c[b+256>>2];c[a+12>>2]=c[b+260>>2];i=d;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;su(a,b,c,d);i=e;return}function Po(a,b){a=a|0;b=b|0;var d=0;d=i;if((b|0)==0?1:(c[b+236>>2]&2|0)==0){wu(a,b);i=d;return}else{Nb[c[(c[a>>2]|0)+92>>2]&127](a,b);i=d;return}}function Qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;d=c[a+232>>2]|0;a:do if((d|0)>0){f=c[a+240>>2]|0;g=0;while(1){h=f+(g<<2)|0;j=g+1|0;if((c[h>>2]|0)==(b|0))break;if((j|0)<(d|0))g=j;else break a}if((g|0)<(d|0)){c[h>>2]=c[f+(d+ -1<<2)>>2];c[(c[a+240>>2]|0)+(d+ -1<<2)>>2]=b;c[a+232>>2]=d+ -1}}while(0);wu(a,b);i=e;return}function Ro(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0;e=i;h=c[d+204>>2]|0;if((h&3|0)==0?(c[d+504>>2]&1|0)==0:0){m=+g[d+344>>2];if(m!=0.0){o=1.0/m*+g[b+252>>2];n=1.0/m*+g[b+256>>2];g[d+364>>2]=1.0/m*+g[b+248>>2];g[d+368>>2]=o;g[d+372>>2]=n;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+384>>2]=c[b+252>>2];c[d+388>>2]=c[b+256>>2];c[d+392>>2]=c[b+260>>2]}if((c[d+192>>2]|0)==0){i=e;return}if((h&1|0)!=0){if(!(((c[d+216>>2]|0)+ -4|0)>>>0<2))c[d+216>>2]=2}else{j=c[b+232>>2]|0;if((j|0)==(c[b+236>>2]|0)?(f=(j|0)==0?1:j<<1,(j|0)<(f|0)):0){if((f|0)==0)h=0;else{c[5004]=(c[5004]|0)+1;h=XE((f<<2|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+232>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<2)|0;if((l|0)!=0)c[l>>2]=c[(c[b+240>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+240>>2]|0;if((k|0)!=0){if((a[b+244>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0);j=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=h;c[b+236>>2]=f}f=(c[b+240>>2]|0)+(j<<2)|0;if((f|0)!=0)c[f>>2]=d;c[b+232>>2]=j+1;h=c[d+204>>2]|0}if((h&1|0)==0)f=(h&2|0)==0;else f=0;vc[c[(c[b>>2]|0)+36>>2]&127](b,d,f?1:2,f?-1:-3);i=e;return}function So(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.0,p=0.0,q=0.0;h=i;k=c[d+204>>2]|0;if((k&3|0)==0?(c[d+504>>2]&1|0)==0:0){o=+g[d+344>>2];if(o!=0.0){q=1.0/o*+g[b+252>>2];p=1.0/o*+g[b+256>>2];g[d+364>>2]=1.0/o*+g[b+248>>2];g[d+368>>2]=q;g[d+372>>2]=p;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+384>>2]=c[b+252>>2];c[d+388>>2]=c[b+256>>2];c[d+392>>2]=c[b+260>>2]}if((c[d+192>>2]|0)==0){i=h;return}if((k&1|0)!=0){if(!(((c[d+216>>2]|0)+ -4|0)>>>0<2))c[d+216>>2]=2}else{l=c[b+232>>2]|0;if((l|0)==(c[b+236>>2]|0)?(j=(l|0)==0?1:l<<1,(l|0)<(j|0)):0){if((j|0)==0)k=0;else{c[5004]=(c[5004]|0)+1;k=XE((j<<2|3)+16|0)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}l=c[b+232>>2]|0}if((l|0)>0){n=0;do{m=k+(n<<2)|0;if((m|0)!=0)c[m>>2]=c[(c[b+240>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(l|0))}m=c[b+240>>2]|0;if((m|0)!=0){if((a[b+244>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0);l=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=k;c[b+236>>2]=j}j=(c[b+240>>2]|0)+(l<<2)|0;if((j|0)!=0)c[j>>2]=d;c[b+232>>2]=l+1}vc[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);i=h;return}function To(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0;e=i;i=i+16|0;oE(1680);if((c[b+232>>2]|0)>0){f=(a[3896]|0)==0;h=0;do{k=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;a:do if((k|0)!=0){l=c[k+216>>2]|0;do if(!((l|0)==4|(l|0)==2)){p=+g[k+312>>2];o=+g[k+316>>2];n=+g[k+320>>2];m=+g[k+472>>2];if(p*p+o*o+n*n>2],n=+g[k+332>>2],o=+g[k+336>>2],p=+g[k+476>>2],m*m+n*n+o*o>2]=+g[k+220>>2]+d;j=10;break}g[k+220>>2]=0.0;if(!((l+ -4|0)>>>0<2)){c[k+216>>2]=0;l=0}else j=10}else j=10;while(0);if((j|0)==10){j=0;if((l|0)==4)break}do if(f){if(!((l+ -2|0)>>>0<2)?!(+g[k+220>>2]>2.0):0)break;if((c[k+204>>2]&3|0)!=0){if((l+ -4|0)>>>0<2)break a;c[k+216>>2]=2;break a}if((l|0)==1){c[k+216>>2]=3;break a}if((l|0)!=2)break a;l=(c[k+260>>2]|0)+2|0;c[k+328>>2]=0;c[k+332>>2]=0;c[k+336>>2]=0;c[k+340>>2]=0;c[k+260>>2]=l;c[k+312>>2]=0;c[k+316>>2]=0;c[k+320>>2]=0;c[k+324>>2]=0;break a}while(0);if(!((l+ -4|0)>>>0<2))c[k+216>>2]=1}while(0);h=h+1|0}while((h|0)<(c[b+232>>2]|0))}b=c[5022]|0;l=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=l;if((l|0)!=0){i=e;return}do if((c[b+4>>2]|0)!=0){Eb(e|0,0)|0;l=c[5008]|0;g[b+8>>2]=+(((c[e+4>>2]|0)-(c[l+4>>2]|0)+(((c[e>>2]|0)-(c[l>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=e;return}}while(0);c[5022]=c[b+20>>2];i=e;return}function Uo(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;f=i;j=c[b+212>>2]|0;if((j|0)==(c[b+216>>2]|0)?(g=(j|0)==0?1:j<<1,(j|0)<(g|0)):0){if((g|0)==0)h=0;else{c[5004]=(c[5004]|0)+1;h=XE((g<<2|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+212>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<2)|0;if((l|0)!=0)c[l>>2]=c[(c[b+220>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[b+220>>2]|0;if((k|0)!=0){if((a[b+224>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0);j=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=h;c[b+216>>2]=g}g=(c[b+220>>2]|0)+(j<<2)|0;if((g|0)!=0)c[g>>2]=d;c[b+212>>2]=j+1;if(!e){i=f;return}fr(c[d+28>>2]|0,d);fr(c[d+32>>2]|0,d);i=f;return} - - - -function vr(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,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,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=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;m=i;i=i+320|0;c[b+188>>2]=-1;oE(4080);c[b+184>>2]=0;if((e|0)>0){p=0;do{c[(c[d+(p<<2)>>2]|0)+212>>2]=-1;p=p+1|0}while((p|0)!=(e|0))}p=c[b+12>>2]|0;if((p|0)<(e+1|0)){if((e+1|0)!=0?(c[5004]=(c[5004]|0)+1,o=XE(((e+1|0)*244|3)+16|0)|0,(o|0)!=0):0){c[(o+19&-16)+ -4>>2]=o;o=o+19&-16}else o=0;p=c[b+8>>2]|0;if((p|0)>0){q=0;do{x=o+(q*244|0)|0;Y=c[b+16>>2]|0;w=Y+(q*244|0)|0;c[x+0>>2]=c[w+0>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];x=o+(q*244|0)+16|0;w=Y+(q*244|0)+16|0;c[x+0>>2]=c[w+0>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];x=o+(q*244|0)+32|0;w=Y+(q*244|0)+32|0;c[x+0>>2]=c[w+0>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];x=o+(q*244|0)+48|0;w=Y+(q*244|0)+48|0;c[x+0>>2]=c[w+0>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];cF(o+(q*244|0)+64|0,Y+(q*244|0)+64|0,180)|0;q=q+1|0}while((q|0)!=(p|0))}p=c[b+16>>2]|0;if((p|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[p+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;o=b+8|0;q=e+1|0}else{o=b+8|0;q=p}$E(m+56|0,0,244)|0;p=c[o>>2]|0;if((p|0)<0){if((q|0)<0){q=c[b+16>>2]|0;if((q|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[q+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=0;c[b+12>>2]=0}do{Y=c[b+16>>2]|0;x=Y+(p*244|0)|0;c[x+0>>2]=c[m+56>>2];c[x+4>>2]=c[m+60>>2];c[x+8>>2]=c[m+64>>2];c[x+12>>2]=c[m+68>>2];x=Y+(p*244|0)+16|0;c[x+0>>2]=c[m+72>>2];c[x+4>>2]=c[m+76>>2];c[x+8>>2]=c[m+80>>2];c[x+12>>2]=c[m+84>>2];x=Y+(p*244|0)+32|0;c[x+0>>2]=c[m+88>>2];c[x+4>>2]=c[m+92>>2];c[x+8>>2]=c[m+96>>2];c[x+12>>2]=c[m+100>>2];x=Y+(p*244|0)+48|0;c[x+0>>2]=c[m+104>>2];c[x+4>>2]=c[m+108>>2];c[x+8>>2]=c[m+112>>2];c[x+12>>2]=c[m+116>>2];cF(Y+(p*244|0)+64|0,m+120|0,180)|0;p=p+1|0}while((p|0)!=0)}c[o>>2]=0;if((e|0)>0){o=0;do{p=d+(o<<2)|0;q=sr(b,c[p>>2]|0,+g[l+12>>2])|0;p=c[p>>2]|0;if((!((p|0)==0?1:(c[p+236>>2]&2|0)==0)?+g[p+344>>2]!=0.0:0)?(n=c[b+16>>2]|0,(c[p+504>>2]&2|0)!=0):0){E=+g[l+76>>2];S=1.0/+g[p+396>>2];V=1.0/+g[p+400>>2];F=1.0/+g[p+404>>2];M=+g[p+4>>2];N=+g[p+8>>2];O=+g[p+12>>2];R=+g[p+20>>2];U=+g[p+24>>2];X=+g[p+28>>2];T=+g[p+36>>2];W=+g[p+40>>2];C=+g[p+44>>2];B=+g[p+328>>2];z=+g[p+332>>2];D=+g[p+336>>2];y=(M*S*M+N*V*N+O*F*O)*B+(S*M*R+V*N*U+F*O*X)*z+(S*M*T+V*N*W+F*O*C)*D;A=(M*S*R+N*V*U+O*F*X)*B+(R*S*R+U*V*U+X*F*X)*z+(S*R*T+V*U*W+F*X*C)*D;C=D*(T*S*T+W*V*W+C*F*C)+(B*(M*S*T+N*V*W+O*F*C)+z*(R*S*T+U*V*W+X*F*C));F=(z*C-D*A)*(z*C-D*A)+(D*y-B*C)*(D*y-B*C)+(B*A-z*y)*(B*A-z*y);if(F>E*E){X=1.0/+Q(+F)*E;E=(z*C-D*A)*X;C=X*(D*y-B*C);y=X*(B*A-z*y)}else{E=z*C-D*A;C=D*y-B*C;y=B*A-z*y}V=+g[l+12>>2];W=(E*+g[p+268>>2]+C*+g[p+284>>2]+y*+g[p+300>>2])*V;X=V*(E*+g[p+272>>2]+C*+g[p+288>>2]+y*+g[p+304>>2]);g[n+(q*244|0)+224>>2]=+g[n+(q*244|0)+224>>2]-(E*+g[p+264>>2]+C*+g[p+280>>2]+y*+g[p+296>>2])*V;g[n+(q*244|0)+228>>2]=+g[n+(q*244|0)+228>>2]-W;g[n+(q*244|0)+232>>2]=+g[n+(q*244|0)+232>>2]-X}o=o+1|0}while((o|0)<(e|0))}if((k|0)>0){e=0;do{Y=c[j+(e<<2)>>2]|0;Lb[c[(c[Y>>2]|0)+8>>2]&511](Y);g[Y+36>>2]=0.0;e=e+1|0}while((e|0)<(k|0))}o=c[b+168>>2]|0;if((o|0)<(k|0)?(c[b+172>>2]|0)<(k|0):0){if((k|0)==0)e=0;else{c[5004]=(c[5004]|0)+1;e=XE((k<<3|3)+16|0)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}o=c[b+168>>2]|0}if((o|0)>0){n=0;do{d=e+(n<<3)|0;if((d|0)!=0){x=(c[b+176>>2]|0)+(n<<3)|0;Y=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=Y}n=n+1|0}while((n|0)!=(o|0))}n=c[b+176>>2]|0;if((n|0)!=0){if((a[b+180>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[n+ -4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=e;c[b+172>>2]=k}c[b+168>>2]=k;if((k|0)>0){e=0;n=0;do{d=c[b+176>>2]|0;o=d+(e<<3)|0;p=j+(e<<2)|0;q=c[p>>2]|0;r=c[q+44>>2]|0;if((r|0)!=0){q=r+0|0;r=q+64|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));q=c[p>>2]|0}if((a[q+20>>0]|0)==0){c[o>>2]=0;c[d+(e<<3)+4>>2]=0;d=0}else{Nb[c[(c[q>>2]|0)+16>>2]&127](q,o);d=c[o>>2]|0}n=d+n|0;e=e+1|0}while((e|0)<(k|0))}else n=0;o=c[b+48>>2]|0;if((o|0)<(n|0)?(c[b+52>>2]|0)<(n|0):0){if((n|0)==0)e=0;else{c[5004]=(c[5004]|0)+1;e=XE((n*152|3)+16|0)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}o=c[b+48>>2]|0}if((o|0)>0){d=0;do{cF(e+(d*152|0)|0,(c[b+56>>2]|0)+(d*152|0)|0,152)|0;d=d+1|0}while((d|0)!=(o|0))}d=c[b+56>>2]|0;if((d|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=e;c[b+52>>2]=n}c[b+48>>2]=n;if((k|0)>0){o=c[b+176>>2]|0;e=0;n=0;while(1){d=o+(n<<3)|0;if((c[d>>2]|0)==0)d=0;else{v=c[b+56>>2]|0;u=j+(n<<2)|0;t=c[u>>2]|0;o=c[t+28>>2]|0;p=c[t+32>>2]|0;s=sr(b,o,+g[l+12>>2])|0;r=sr(b,p,+g[l+12>>2])|0;q=c[b+16>>2]|0;x=c[t+24>>2]|0;if((x|0)<=0)x=c[l+20>>2]|0;if((x|0)>(c[b+184>>2]|0))c[b+184>>2]=x;if((c[d>>2]|0)>0){w=0;do{Y=w+e|0;$E(v+(Y*152|0)|0,0,152)|0;g[v+(Y*152|0)+120>>2]=-3.4028234663852886e+38;g[v+(Y*152|0)+124>>2]=3.4028234663852886e+38;g[v+(Y*152|0)+100>>2]=0.0;g[v+(Y*152|0)+96>>2]=0.0;c[v+(Y*152|0)+144>>2]=s;c[v+(Y*152|0)+148>>2]=r;c[v+(Y*152|0)+136>>2]=x;w=w+1|0}while((w|0)<(c[d>>2]|0))}c[q+(s*244|0)+64>>2]=0;c[q+(s*244|0)+68>>2]=0;c[q+(s*244|0)+72>>2]=0;c[q+(s*244|0)+76>>2]=0;c[q+(s*244|0)+80>>2]=0;c[q+(s*244|0)+84>>2]=0;c[q+(s*244|0)+88>>2]=0;c[q+(s*244|0)+92>>2]=0;c[q+(s*244|0)+144>>2]=0;c[q+(s*244|0)+148>>2]=0;c[q+(s*244|0)+152>>2]=0;c[q+(s*244|0)+156>>2]=0;c[q+(s*244|0)+160>>2]=0;c[q+(s*244|0)+164>>2]=0;c[q+(s*244|0)+168>>2]=0;c[q+(s*244|0)+172>>2]=0;c[q+(r*244|0)+64>>2]=0;c[q+(r*244|0)+68>>2]=0;c[q+(r*244|0)+72>>2]=0;c[q+(r*244|0)+76>>2]=0;c[q+(r*244|0)+80>>2]=0;c[q+(r*244|0)+84>>2]=0;c[q+(r*244|0)+88>>2]=0;c[q+(r*244|0)+92>>2]=0;c[q+(r*244|0)+144>>2]=0;c[q+(r*244|0)+148>>2]=0;c[q+(r*244|0)+152>>2]=0;c[q+(r*244|0)+156>>2]=0;c[q+(r*244|0)+160>>2]=0;c[q+(r*244|0)+164>>2]=0;c[q+(r*244|0)+168>>2]=0;c[q+(r*244|0)+172>>2]=0;g[m>>2]=1.0/+g[l+12>>2];g[m+4>>2]=+g[l+32>>2];c[m+8>>2]=v+(e*152|0)+16;c[m+12>>2]=v+(e*152|0);c[m+16>>2]=v+(e*152|0)+48;c[m+20>>2]=v+(e*152|0)+32;c[m+24>>2]=38;c[m+28>>2]=v+(e*152|0)+112;Y=v+(e*152|0)+116|0;g[Y>>2]=+g[l+40>>2];g[m+52>>2]=+g[l+4>>2];c[m+32>>2]=Y;c[m+36>>2]=v+(e*152|0)+120;c[m+40>>2]=v+(e*152|0)+124;c[m+48>>2]=c[l+20>>2];Y=c[u>>2]|0;Nb[c[(c[Y>>2]|0)+20>>2]&127](Y,m);if((c[d>>2]|0)>0){w=0;do{x=w+e|0;Y=(c[u>>2]|0)+16|0;y=+g[Y>>2];if(+g[v+(x*152|0)+124>>2]>=y){g[v+(x*152|0)+124>>2]=y;y=+g[Y>>2]}y=-y;if(+g[v+(x*152|0)+120>>2]<=y)g[v+(x*152|0)+120>>2]=y;c[v+(x*152|0)+132>>2]=t;Y=c[t+28>>2]|0;W=+g[v+(x*152|0)>>2];I=+g[v+(x*152|0)+4>>2];J=+g[v+(x*152|0)+8>>2];y=(W*+g[Y+280>>2]+I*+g[Y+284>>2]+J*+g[Y+288>>2])*+g[Y+548>>2];H=(W*+g[Y+296>>2]+I*+g[Y+300>>2]+J*+g[Y+304>>2])*+g[Y+552>>2];g[v+(x*152|0)+64>>2]=(+g[Y+264>>2]*W+ +g[Y+268>>2]*I+ +g[Y+272>>2]*J)*+g[Y+544>>2];g[v+(x*152|0)+68>>2]=y;g[v+(x*152|0)+72>>2]=H;g[v+(x*152|0)+76>>2]=0.0;Y=c[t+32>>2]|0;H=+g[v+(x*152|0)+32>>2];y=+g[v+(x*152|0)+36>>2];J=+g[v+(x*152|0)+40>>2];I=(H*+g[Y+280>>2]+y*+g[Y+284>>2]+J*+g[Y+288>>2])*+g[Y+548>>2];W=(H*+g[Y+296>>2]+y*+g[Y+300>>2]+J*+g[Y+304>>2])*+g[Y+552>>2];g[v+(x*152|0)+80>>2]=(+g[Y+264>>2]*H+ +g[Y+268>>2]*y+ +g[Y+272>>2]*J)*+g[Y+544>>2];g[v+(x*152|0)+84>>2]=I;g[v+(x*152|0)+88>>2]=W;g[v+(x*152|0)+92>>2]=0.0;W=+g[o+344>>2];I=+g[v+(x*152|0)+16>>2];H=+g[v+(x*152|0)+20>>2];G=+g[v+(x*152|0)+24>>2];F=+g[v+(x*152|0)>>2];E=+g[v+(x*152|0)+4>>2];D=+g[v+(x*152|0)+8>>2];X=+g[p+344>>2];C=+g[v+(x*152|0)+48>>2];B=+g[v+(x*152|0)+52>>2];A=+g[v+(x*152|0)+56>>2];z=+g[v+(x*152|0)+32>>2];J=I*W*I+H*W*H+G*W*G+(F*(+g[o+264>>2]*F+ +g[o+268>>2]*E+ +g[o+272>>2]*D)+E*(F*+g[o+280>>2]+E*+g[o+284>>2]+D*+g[o+288>>2])+D*(F*+g[o+296>>2]+E*+g[o+300>>2]+D*+g[o+304>>2]))+(C*X*C+B*X*B+A*X*A)+(z*(+g[p+264>>2]*z+ +g[p+268>>2]*y+ +g[p+272>>2]*J)+y*(z*+g[p+280>>2]+y*+g[p+284>>2]+J*+g[p+288>>2])+J*(z*+g[p+296>>2]+y*+g[p+300>>2]+J*+g[p+304>>2]));if(+P(+J)>1.1920928955078125e-7)T=1.0/J;else T=0.0;g[v+(x*152|0)+108>>2]=T;if((c[q+(s*244|0)+240>>2]|0)==0){X=0.0;K=0.0;L=0.0;M=0.0;N=0.0;O=0.0}else{X=+g[q+(s*244|0)+208>>2];K=+g[q+(s*244|0)+212>>2];L=+g[q+(s*244|0)+216>>2];M=+g[q+(s*244|0)+224>>2];N=+g[q+(s*244|0)+228>>2];O=+g[q+(s*244|0)+232>>2]}if((c[q+(r*244|0)+240>>2]|0)==0){W=0.0;V=0.0;U=0.0;J=0.0;S=0.0;R=0.0}else{W=+g[q+(r*244|0)+208>>2];V=+g[q+(r*244|0)+212>>2];U=+g[q+(r*244|0)+216>>2];J=+g[q+(r*244|0)+224>>2];S=+g[q+(r*244|0)+228>>2];R=+g[q+(r*244|0)+232>>2]}g[v+(x*152|0)+112>>2]=+g[v+(x*152|0)+112>>2]*T+T*(0.0- +g[m+52>>2]*((X+ +g[o+312>>2])*I+(K+ +g[o+316>>2])*H+(L+ +g[o+320>>2])*G+((M+ +g[o+328>>2])*F+(N+ +g[o+332>>2])*E+(O+ +g[o+336>>2])*D)+((W+ +g[p+312>>2])*C+(V+ +g[p+316>>2])*B+(U+ +g[p+320>>2])*A+((J+ +g[p+328>>2])*z+(S+ +g[p+332>>2])*y+(R+ +g[p+336>>2])*+g[v+(x*152|0)+40>>2]))));g[v+(x*152|0)+100>>2]=0.0;w=w+1|0}while((w|0)<(c[d>>2]|0))}d=c[b+176>>2]|0;o=d;d=c[d+(n<<3)>>2]|0}n=n+1|0;if((n|0)>=(k|0))break;else e=d+e|0}}vc[c[(c[b>>2]|0)+28>>2]&127](b,f,h,l);f=c[b+48>>2]|0;j=c[b+28>>2]|0;k=c[b+68>>2]|0;e=c[b+128>>2]|0;if((e|0)<(f|0)?(c[b+132>>2]|0)<(f|0):0){if((f|0)==0)h=0;else{c[5004]=(c[5004]|0)+1;h=XE((f<<2|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}e=c[b+128>>2]|0}if((e|0)>0){n=0;do{d=h+(n<<2)|0;if((d|0)!=0)c[d>>2]=c[(c[b+136>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(e|0))}e=c[b+136>>2]|0;if((e|0)!=0){if((a[b+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=h;c[b+132>>2]=f}c[b+128>>2]=f;if((c[l+64>>2]&16|0)==0){h=c[b+108>>2]|0;if((h|0)<(j|0)?(c[b+112>>2]|0)<(j|0):0){if((j|0)==0)l=0;else{c[5004]=(c[5004]|0)+1;l=XE((j<<2|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}h=c[b+108>>2]|0}if((h|0)>0){e=0;do{n=l+(e<<2)|0;if((n|0)!=0)c[n>>2]=c[(c[b+116>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}h=c[b+116>>2]|0;if((h|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=l;c[b+112>>2]=j}c[b+108>>2]=j}else{n=c[b+108>>2]|0;if((n|0)<(j<<1|0)?(c[b+112>>2]|0)<(j<<1|0):0){if((j|0)==0)l=0;else{c[5004]=(c[5004]|0)+1;l=XE((j<<3|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}n=c[b+108>>2]|0}if((n|0)>0){e=0;do{h=l+(e<<2)|0;if((h|0)!=0)c[h>>2]=c[(c[b+116>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(n|0))}h=c[b+116>>2]|0;if((h|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=l;c[b+112>>2]=j<<1}c[b+108>>2]=j<<1}e=c[b+148>>2]|0;if((e|0)<(k|0)?(c[b+152>>2]|0)<(k|0):0){if((k|0)==0)l=0;else{c[5004]=(c[5004]|0)+1;l=XE((k<<2|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}e=c[b+148>>2]|0}if((e|0)>0){h=0;do{n=l+(h<<2)|0;if((n|0)!=0)c[n>>2]=c[(c[b+156>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}h=c[b+156>>2]|0;if((h|0)!=0){if((a[b+160>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=l;c[b+152>>2]=k}c[b+148>>2]=k;if((f|0)>0){h=c[b+136>>2]|0;l=0;do{c[h+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(f|0))}if((j|0)>0){l=c[b+116>>2]|0;f=0;do{c[l+(f<<2)>>2]=f;f=f+1|0}while((f|0)!=(j|0))}if((k|0)>0){b=c[b+156>>2]|0;l=0;do{c[b+(l<<2)>>2]=l;l=l+1|0}while((l|0)!=(k|0))}b=c[5022]|0;Y=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=Y;if((Y|0)!=0){i=m;return 0.0}do if((c[b+4>>2]|0)!=0){Eb(m+304|0,0)|0;Y=c[5008]|0;g[b+8>>2]=+(((c[m+308>>2]|0)-(c[Y+4>>2]|0)+(((c[m+304>>2]|0)-(c[Y>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=m;return 0.0}}while(0);c[5022]=c[b+20>>2];i=m;return 0.0}function wr(b,d,e,f,h,j,k,l,m,n){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;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;j=i;n=c[b+48>>2]|0;e=c[b+28>>2]|0;h=c[b+68>>2]|0;if((c[m+64>>2]&1|0)!=0){if((n|0)>0){f=c[b+136>>2]|0;q=c[b+192>>2]|0;r=0;do{s=f+(r<<2)|0;t=c[s>>2]|0;r=r+1|0;q=(aa(q,1664525)|0)+1013904223|0;if(r>>>0<65537){u=q>>>16^q;if(r>>>0<257)if(r>>>0<17){u=(u>>>8^u)>>>4^(u>>>8^u);if(r>>>0<5)if(r>>>0<3)u=(u>>>2^u)>>>1^(u>>>2^u);else u=u>>>2^u}else u=u>>>8^u}else u=q;u=f+(((u>>>0)%(r>>>0)|0)<<2)|0;c[s>>2]=c[u>>2];c[u>>2]=t}while((r|0)!=(n|0));c[b+192>>2]=q}if((c[m+20>>2]|0)>(d|0)){if((e|0)>0){s=c[b+116>>2]|0;r=c[b+192>>2]|0;q=0;do{f=s+(q<<2)|0;n=c[f>>2]|0;q=q+1|0;r=(aa(r,1664525)|0)+1013904223|0;if(q>>>0<65537){t=r>>>16^r;if(q>>>0<257)if(q>>>0<17){t=(t>>>8^t)>>>4^(t>>>8^t);if(q>>>0<5)if(q>>>0<3)t=(t>>>2^t)>>>1^(t>>>2^t);else t=t>>>2^t}else t=t>>>8^t}else t=r;u=s+(((t>>>0)%(q>>>0)|0)<<2)|0;c[f>>2]=c[u>>2];c[u>>2]=n}while((q|0)!=(e|0));c[b+192>>2]=r}if((h|0)>0){r=c[b+156>>2]|0;q=c[b+192>>2]|0;f=0;do{n=r+(f<<2)|0;e=c[n>>2]|0;f=f+1|0;q=(aa(q,1664525)|0)+1013904223|0;if(f>>>0<65537){s=q>>>16^q;if(f>>>0<257)if(f>>>0<17){s=(s>>>8^s)>>>4^(s>>>8^s);if(f>>>0<5)if(f>>>0<3)s=(s>>>2^s)>>>1^(s>>>2^s);else s=s>>>2^s}else s=s>>>8^s}else s=q;u=r+(((s>>>0)%(f>>>0)|0)<<2)|0;c[n>>2]=c[u>>2];c[u>>2]=e}while((f|0)!=(h|0));c[b+192>>2]=q}}}f=c[b+48>>2]|0;if((c[m+64>>2]&256|0)==0){if((f|0)>0){o=0;do{h=c[(c[b+136>>2]|0)+(o<<2)>>2]|0;p=c[b+56>>2]|0;if((c[p+(h*152|0)+136>>2]|0)>(d|0)){f=c[b+16>>2]|0;lr(f+((c[p+(h*152|0)+144>>2]|0)*244|0)|0,f+((c[p+(h*152|0)+148>>2]|0)*244|0)|0,p+(h*152|0)|0);f=c[b+48>>2]|0}o=o+1|0}while((o|0)<(f|0))}if((c[m+20>>2]|0)<=(d|0)){i=j;return 0.0}if((l|0)>0){p=0;do{o=k+(p<<2)|0;d=c[o>>2]|0;if((a[d+20>>0]|0)!=0){s=sr(b,c[d+28>>2]|0,+g[m+12>>2])|0;u=sr(b,c[(c[o>>2]|0)+32>>2]|0,+g[m+12>>2])|0;t=c[b+16>>2]|0;r=c[o>>2]|0;qc[c[(c[r>>2]|0)+24>>2]&15](r,t+(s*244|0)|0,t+(u*244|0)|0,+g[m+12>>2])}p=p+1|0}while((p|0)!=(l|0))}m=c[b+28>>2]|0;if((m|0)>0){l=0;do{u=c[(c[b+116>>2]|0)+(l<<2)>>2]|0;t=c[b+36>>2]|0;s=c[b+16>>2]|0;mr(s+((c[t+(u*152|0)+144>>2]|0)*244|0)|0,s+((c[t+(u*152|0)+148>>2]|0)*244|0)|0,t+(u*152|0)|0);l=l+1|0}while((l|0)!=(m|0))}m=c[b+68>>2]|0;if((m|0)>0){l=0;do{k=c[(c[b+156>>2]|0)+(l<<2)>>2]|0;o=c[b+76>>2]|0;v=+g[(c[b+36>>2]|0)+((c[o+(k*152|0)+140>>2]|0)*152|0)+100>>2];if(v>0.0){v=v*+g[o+(k*152|0)+104>>2];g[o+(k*152|0)+120>>2]=-v;g[o+(k*152|0)+124>>2]=v;u=c[b+16>>2]|0;lr(u+((c[o+(k*152|0)+144>>2]|0)*244|0)|0,u+((c[o+(k*152|0)+148>>2]|0)*244|0)|0,o+(k*152|0)|0)}l=l+1|0}while((l|0)!=(m|0))}m=c[b+88>>2]|0;if((m|0)<=0){i=j;return 0.0}l=0;do{k=c[b+96>>2]|0;v=+g[(c[b+36>>2]|0)+((c[k+(l*152|0)+140>>2]|0)*152|0)+100>>2];if(v>0.0){w=+g[k+(l*152|0)+104>>2];v=v*w>w?w:v*w;g[k+(l*152|0)+120>>2]=-v;g[k+(l*152|0)+124>>2]=v;u=c[b+16>>2]|0;lr(u+((c[k+(l*152|0)+144>>2]|0)*244|0)|0,u+((c[k+(l*152|0)+148>>2]|0)*244|0)|0,k+(l*152|0)|0)}l=l+1|0}while((l|0)!=(m|0));i=j;return 0.0}if((f|0)>0){h=0;do{n=c[(c[b+136>>2]|0)+(h<<2)>>2]|0;e=c[b+56>>2]|0;if((c[e+(n*152|0)+136>>2]|0)>(d|0)){f=c[b+16>>2]|0;lr(f+((c[e+(n*152|0)+144>>2]|0)*244|0)|0,f+((c[e+(n*152|0)+148>>2]|0)*244|0)|0,e+(n*152|0)|0);f=c[b+48>>2]|0}h=h+1|0}while((h|0)<(f|0))}if((c[m+20>>2]|0)<=(d|0)){i=j;return 0.0}if((l|0)>0){d=0;do{e=k+(d<<2)|0;h=c[e>>2]|0;if((a[h+20>>0]|0)!=0){s=sr(b,c[h+28>>2]|0,+g[m+12>>2])|0;u=sr(b,c[(c[e>>2]|0)+32>>2]|0,+g[m+12>>2])|0;t=c[b+16>>2]|0;r=c[e>>2]|0;qc[c[(c[r>>2]|0)+24>>2]&15](r,t+(s*244|0)|0,t+(u*244|0)|0,+g[m+12>>2])}d=d+1|0}while((d|0)!=(l|0))}n=c[m+64>>2]|0;l=c[b+28>>2]|0;if((n&512|0)!=0){if((l|0)<=0){i=j;return 0.0}e=0;do{h=c[(c[b+116>>2]|0)+(e<<2)>>2]|0;d=c[b+36>>2]|0;k=c[b+16>>2]|0;mr(k+((c[d+(h*152|0)+144>>2]|0)*244|0)|0,k+((c[d+(h*152|0)+148>>2]|0)*244|0)|0,d+(h*152|0)|0);v=+g[d+(h*152|0)+100>>2];h=aa(e,(n>>>4&1)+1|0)|0;d=c[(c[b+156>>2]|0)+(h<<2)>>2]|0;k=c[b+76>>2]|0;if(v>0.0){w=v*+g[k+(d*152|0)+104>>2];g[k+(d*152|0)+120>>2]=-w;g[k+(d*152|0)+124>>2]=w;u=c[b+16>>2]|0;lr(u+((c[k+(d*152|0)+144>>2]|0)*244|0)|0,u+((c[k+(d*152|0)+148>>2]|0)*244|0)|0,k+(d*152|0)|0)}if((c[m+64>>2]&16|0)!=0?(o=c[(c[b+156>>2]|0)+(h+1<<2)>>2]|0,p=c[b+76>>2]|0,v>0.0):0){w=v*+g[p+(o*152|0)+104>>2];g[p+(o*152|0)+120>>2]=-w;g[p+(o*152|0)+124>>2]=w;u=c[b+16>>2]|0;lr(u+((c[p+(o*152|0)+144>>2]|0)*244|0)|0,u+((c[p+(o*152|0)+148>>2]|0)*244|0)|0,p+(o*152|0)|0)}e=e+1|0}while((e|0)!=(l|0));i=j;return 0.0}if((l|0)>0){m=0;do{u=c[(c[b+116>>2]|0)+(m<<2)>>2]|0;t=c[b+36>>2]|0;s=c[b+16>>2]|0;mr(s+((c[t+(u*152|0)+144>>2]|0)*244|0)|0,s+((c[t+(u*152|0)+148>>2]|0)*244|0)|0,t+(u*152|0)|0);m=m+1|0}while((m|0)!=(l|0))}m=c[b+68>>2]|0;if((m|0)>0){l=0;do{k=c[(c[b+156>>2]|0)+(l<<2)>>2]|0;o=c[b+76>>2]|0;v=+g[(c[b+36>>2]|0)+((c[o+(k*152|0)+140>>2]|0)*152|0)+100>>2];if(v>0.0){w=v*+g[o+(k*152|0)+104>>2];g[o+(k*152|0)+120>>2]=-w;g[o+(k*152|0)+124>>2]=w;u=c[b+16>>2]|0;lr(u+((c[o+(k*152|0)+144>>2]|0)*244|0)|0,u+((c[o+(k*152|0)+148>>2]|0)*244|0)|0,o+(k*152|0)|0)}l=l+1|0}while((l|0)!=(m|0))}k=c[b+88>>2]|0;if((k|0)<=0){i=j;return 0.0}l=0;do{m=c[b+96>>2]|0;v=+g[(c[b+36>>2]|0)+((c[m+(l*152|0)+140>>2]|0)*152|0)+100>>2];if(v>0.0){w=+g[m+(l*152|0)+104>>2];w=v*w>w?w:v*w;g[m+(l*152|0)+120>>2]=-w;g[m+(l*152|0)+124>>2]=w;u=c[b+16>>2]|0;lr(u+((c[m+(l*152|0)+144>>2]|0)*244|0)|0,u+((c[m+(l*152|0)+148>>2]|0)*244|0)|0,m+(l*152|0)|0)}l=l+1|0}while((l|0)!=(k|0));i=j;return 0.0}function xr(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;d=i;if((c[j+44>>2]|0)==0){i=d;return}h=c[j+20>>2]|0;if((c[j+64>>2]&256|0)==0){if((h|0)<=0){i=d;return}f=1;while(1){g=c[a+28>>2]|0;if((g|0)>0){h=0;do{e=c[(c[a+116>>2]|0)+(h<<2)>>2]|0;b=c[a+36>>2]|0;k=c[a+16>>2]|0;nr(k+((c[b+(e*152|0)+144>>2]|0)*244|0)|0,k+((c[b+(e*152|0)+148>>2]|0)*244|0)|0,b+(e*152|0)|0);h=h+1|0}while((h|0)!=(g|0));h=c[j+20>>2]|0}if((f|0)>=(h|0))break;f=f+1|0}i=d;return}else{if((h|0)<=0){i=d;return}f=1;while(1){g=c[a+28>>2]|0;if((g|0)>0){h=0;do{e=c[(c[a+116>>2]|0)+(h<<2)>>2]|0;b=c[a+36>>2]|0;k=c[a+16>>2]|0;nr(k+((c[b+(e*152|0)+144>>2]|0)*244|0)|0,k+((c[b+(e*152|0)+148>>2]|0)*244|0)|0,b+(e*152|0)|0);h=h+1|0}while((h|0)!=(g|0));h=c[j+20>>2]|0}if((f|0)>=(h|0))break;f=f+1|0}i=d;return}}function yr(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;m=i;i=i+16|0;oE(4112);ec[c[(c[a>>2]|0)+32>>2]&1](a,b,d,e,f,h,j,k,l);o=c[a+184>>2]|0;n=c[k+20>>2]|0;n=(o|0)>(n|0)?o:n;if((n|0)>0){o=0;do{+ic[c[(c[a>>2]|0)+40>>2]&3](a,o,b,d,e,f,h,j,k,l);o=o+1|0}while((o|0)<(n|0))}h=c[5022]|0;o=(c[h+16>>2]|0)+ -1|0;c[h+16>>2]=o;if((o|0)!=0){i=m;return 0.0}do if((c[h+4>>2]|0)!=0){Eb(m|0,0)|0;o=c[5008]|0;g[h+8>>2]=+(((c[m+4>>2]|0)-(c[o+4>>2]|0)+(((c[m>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0)/1.0e3+ +g[h+8>>2];if((c[h+16>>2]|0)==0){h=c[5022]|0;break}else{i=m;return 0.0}}while(0);c[5022]=c[h+20>>2];i=m;return 0.0}function zr(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.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;d=i;i=i+80|0;j=c[b+28>>2]|0;l=c[f+64>>2]|0;if((l&4|0)!=0&(j|0)>0){e=c[b+36>>2]|0;k=c[b+76>>2]|0;if((l&16|0)==0){l=0;do{q=c[e+(l*152|0)+132>>2]|0;g[q+120>>2]=+g[e+(l*152|0)+100>>2];g[q+124>>2]=+g[k+((c[e+(l*152|0)+140>>2]|0)*152|0)+100>>2];l=l+1|0}while((l|0)!=(j|0))}else{l=0;do{q=c[e+(l*152|0)+132>>2]|0;g[q+120>>2]=+g[e+(l*152|0)+100>>2];p=c[e+(l*152|0)+140>>2]|0;g[q+124>>2]=+g[k+(p*152|0)+100>>2];g[q+128>>2]=+g[k+((p+1|0)*152|0)+100>>2];l=l+1|0}while((l|0)!=(j|0))}}j=c[b+48>>2]|0;if((j|0)>0){k=0;do{e=c[b+56>>2]|0;l=c[e+(k*152|0)+132>>2]|0;q=c[l+44>>2]|0;p=e+(k*152|0)+100|0;if((q|0)!=0){o=+g[p>>2];s=c[l+28>>2]|0;n=1.0/+g[f+12>>2];m=o*+g[e+(k*152|0)+20>>2]*+g[s+352>>2]*n;r=o*+g[e+(k*152|0)+24>>2]*+g[s+356>>2]*n;g[q>>2]=+g[e+(k*152|0)+16>>2]*o*+g[s+348>>2]*n+ +g[q>>2];g[q+4>>2]=m+ +g[q+4>>2];g[q+8>>2]=r+ +g[q+8>>2];r=+g[p>>2];s=c[l+32>>2]|0;m=1.0/+g[f+12>>2];n=r*+g[e+(k*152|0)+52>>2]*+g[s+352>>2]*m;o=r*+g[e+(k*152|0)+56>>2]*+g[s+356>>2]*m;g[q+32>>2]=+g[e+(k*152|0)+48>>2]*r*+g[s+348>>2]*m+ +g[q+32>>2];g[q+36>>2]=n+ +g[q+36>>2];g[q+40>>2]=o+ +g[q+40>>2];s=c[l+28>>2]|0;o=+g[p>>2];n=1.0/+g[f+12>>2];m=+g[e+(k*152|0)+4>>2]*+g[s+548>>2]*o*n;r=o*+g[e+(k*152|0)+8>>2]*+g[s+552>>2]*n;g[q+16>>2]=+g[e+(k*152|0)>>2]*+g[s+544>>2]*o*n+ +g[q+16>>2];g[q+20>>2]=m+ +g[q+20>>2];g[q+24>>2]=r+ +g[q+24>>2];s=c[l+32>>2]|0;r=+g[p>>2];m=1.0/+g[f+12>>2];n=+g[e+(k*152|0)+36>>2]*+g[s+548>>2]*r*m;o=r*+g[e+(k*152|0)+40>>2]*+g[s+552>>2]*m;g[q+48>>2]=+g[e+(k*152|0)+32>>2]*+g[s+544>>2]*r*m+ +g[q+48>>2];g[q+52>>2]=n+ +g[q+52>>2];g[q+56>>2]=o+ +g[q+56>>2]}g[l+36>>2]=+g[p>>2];r=+P(+(+g[p>>2]));if(r>=+g[l+16>>2])a[l+20>>0]=0;k=k+1|0}while((k|0)!=(j|0))}p=c[b+8>>2]|0;if((p|0)>0){j=c[b+16>>2]|0;e=0;do{k=j+(e*244|0)|0;l=c[j+(e*244|0)+240>>2]|0;if((l|0)!=0){if((c[f+44>>2]|0)==0){s=j+(e*244|0)+176|0;o=+g[j+(e*244|0)+64>>2]+ +g[s>>2];g[s>>2]=o;s=j+(e*244|0)+180|0;n=+g[j+(e*244|0)+68>>2]+ +g[s>>2];g[s>>2]=n;s=j+(e*244|0)+184|0;m=+g[j+(e*244|0)+72>>2]+ +g[s>>2];g[s>>2]=m;s=j+(e*244|0)+192|0;g[s>>2]=+g[j+(e*244|0)+80>>2]+ +g[s>>2];s=j+(e*244|0)+196|0;g[s>>2]=+g[j+(e*244|0)+84>>2]+ +g[s>>2];s=j+(e*244|0)+200|0;g[s>>2]=+g[j+(e*244|0)+88>>2]+ +g[s>>2]}else{n=+g[f+12>>2];m=+g[f+52>>2];l=j+(e*244|0)+176|0;g[l>>2]=+g[j+(e*244|0)+64>>2]+ +g[l>>2];l=j+(e*244|0)+180|0;g[l>>2]=+g[j+(e*244|0)+68>>2]+ +g[l>>2];l=j+(e*244|0)+184|0;g[l>>2]=+g[j+(e*244|0)+72>>2]+ +g[l>>2];l=j+(e*244|0)+192|0;g[l>>2]=+g[j+(e*244|0)+80>>2]+ +g[l>>2];l=j+(e*244|0)+196|0;g[l>>2]=+g[j+(e*244|0)+84>>2]+ +g[l>>2];l=j+(e*244|0)+200|0;g[l>>2]=+g[j+(e*244|0)+88>>2]+ +g[l>>2];l=j+(e*244|0)+144|0;p=j+(e*244|0)+148|0;if(((((!(+g[l>>2]!=0.0)?!(+g[p>>2]!=0.0):0)?!(+g[j+(e*244|0)+152>>2]!=0.0):0)?!(+g[j+(e*244|0)+160>>2]!=0.0):0)?!(+g[j+(e*244|0)+164>>2]!=0.0):0)?!(+g[j+(e*244|0)+168>>2]!=0.0):0)k=j;else h=22;if((h|0)==22){h=0;o=+g[j+(e*244|0)+164>>2]*m;r=+g[j+(e*244|0)+168>>2]*m;g[d>>2]=+g[j+(e*244|0)+160>>2]*m;g[d+4>>2]=o;g[d+8>>2]=r;g[d+12>>2]=0.0;ro(k,+g[l>>2],+g[p>>2],+g[j+(e*244|0)+152>>2],d,n,d+16|0);c[k+0>>2]=c[d+16>>2];c[k+4>>2]=c[d+20>>2];c[k+8>>2]=c[d+24>>2];c[k+12>>2]=c[d+28>>2];k=j+(e*244|0)+16|0;c[k+0>>2]=c[d+32>>2];c[k+4>>2]=c[d+36>>2];c[k+8>>2]=c[d+40>>2];c[k+12>>2]=c[d+44>>2];k=j+(e*244|0)+32|0;c[k+0>>2]=c[d+48>>2];c[k+4>>2]=c[d+52>>2];c[k+8>>2]=c[d+56>>2];c[k+12>>2]=c[d+60>>2];k=j+(e*244|0)+48|0;c[k+0>>2]=c[d+64>>2];c[k+4>>2]=c[d+68>>2];c[k+8>>2]=c[d+72>>2];c[k+12>>2]=c[d+76>>2];k=c[b+16>>2]|0}j=k;o=+g[k+(e*244|0)+176>>2];n=+g[k+(e*244|0)+180>>2];m=+g[k+(e*244|0)+184>>2];l=c[k+(e*244|0)+240>>2]|0}r=o+ +g[j+(e*244|0)+208>>2];o=n+ +g[j+(e*244|0)+212>>2];n=m+ +g[j+(e*244|0)+216>>2];q=l+260|0;c[q>>2]=(c[q>>2]|0)+1;g[l+312>>2]=r;g[l+316>>2]=o;g[l+320>>2]=n;g[l+324>>2]=0.0;q=c[b+16>>2]|0;s=c[q+(e*244|0)+240>>2]|0;n=+g[q+(e*244|0)+192>>2]+ +g[q+(e*244|0)+224>>2];o=+g[q+(e*244|0)+196>>2]+ +g[q+(e*244|0)+228>>2];r=+g[q+(e*244|0)+200>>2]+ +g[q+(e*244|0)+232>>2];c[s+260>>2]=(c[s+260>>2]|0)+1;g[s+328>>2]=n;g[s+332>>2]=o;g[s+336>>2]=r;g[s+340>>2]=0.0;if((c[f+44>>2]|0)!=0){q=c[b+16>>2]|0;s=c[q+(e*244|0)+240>>2]|0;p=q+(e*244|0)|0;c[s+260>>2]=(c[s+260>>2]|0)+1;c[s+4>>2]=c[p+0>>2];c[s+8>>2]=c[p+4>>2];c[s+12>>2]=c[p+8>>2];c[s+16>>2]=c[p+12>>2];p=q+(e*244|0)+16|0;c[s+20>>2]=c[p+0>>2];c[s+24>>2]=c[p+4>>2];c[s+28>>2]=c[p+8>>2];c[s+32>>2]=c[p+12>>2];p=q+(e*244|0)+32|0;c[s+36>>2]=c[p+0>>2];c[s+40>>2]=c[p+4>>2];c[s+44>>2]=c[p+8>>2];c[s+48>>2]=c[p+12>>2];q=q+(e*244|0)+48|0;c[s+52>>2]=c[q+0>>2];c[s+56>>2]=c[q+4>>2];c[s+60>>2]=c[q+8>>2];c[s+64>>2]=c[q+12>>2]}j=c[b+16>>2]|0;c[(c[j+(e*244|0)+240>>2]|0)+212>>2]=-1;p=c[b+8>>2]|0}e=e+1|0}while((e|0)<(p|0))}if((c[b+28>>2]|0)<0?(c[b+32>>2]|0)<0:0){f=c[b+36>>2]|0;if((f|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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){f=c[b+56>>2]|0;if((f|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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){f=c[b+76>>2]|0;if((f|0)!=0){if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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){f=c[b+96>>2]|0;if((f|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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=d;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;i=d;return 0.0}f=c[b+16>>2]|0;if((f|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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=d;return 0.0}function Ar(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;m=i;i=i+16|0;oE(4152);+kc[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,j,k,l);+kc[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,j,k,l);+oc[c[(c[a>>2]|0)+36>>2]&1](a,b,d,k);j=c[5022]|0;e=(c[j+16>>2]|0)+ -1|0;c[j+16>>2]=e;if((e|0)!=0){i=m;return 0.0}do if((c[j+4>>2]|0)!=0){Eb(m|0,0)|0;e=c[5008]|0;g[j+8>>2]=+(((c[m+4>>2]|0)-(c[e+4>>2]|0)+(((c[m>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[j+12>>2]|0)|0)>>>0)/1.0e3+ +g[j+8>>2];if((c[j+16>>2]|0)==0){j=c[5022]|0;break}else{i=m;return 0.0}}while(0);c[5022]=c[j+20>>2];i=m;return 0.0}function Br(a){a=a|0;c[a+192>>2]=0;return}function Cr(a,b,c){a=a|0;b=b|0;c=c|0;return}function Dr(a,b,c){a=a|0;b=b|0;c=c|0;return}function Er(a){a=a|0;return 1}function Fr(b,d,e){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.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;f=i;i=i+256|0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){co(f+64|0,e,b+116|0);c[b+824>>2]=c[f+64>>2];c[b+828>>2]=c[f+68>>2];c[b+832>>2]=c[f+72>>2];c[b+836>>2]=c[f+76>>2];c[b+840>>2]=c[f+80>>2];c[b+844>>2]=c[f+84>>2];c[b+848>>2]=c[f+88>>2];c[b+852>>2]=c[f+92>>2];c[b+856>>2]=c[f+96>>2];c[b+860>>2]=c[f+100>>2];c[b+864>>2]=c[f+104>>2];c[b+868>>2]=c[f+108>>2];c[b+872>>2]=c[f+112>>2];c[b+876>>2]=c[f+116>>2];c[b+880>>2]=c[f+120>>2];c[b+884>>2]=c[f+124>>2];co(f,d,b+52|0);c[b+888>>2]=c[f+0>>2];c[b+892>>2]=c[f+4>>2];c[b+896>>2]=c[f+8>>2];c[b+900>>2]=c[f+12>>2];c[b+904>>2]=c[f+16>>2];c[b+908>>2]=c[f+20>>2];c[b+912>>2]=c[f+24>>2];c[b+916>>2]=c[f+28>>2];c[b+920>>2]=c[f+32>>2];c[b+924>>2]=c[f+36>>2];c[b+928>>2]=c[f+40>>2];c[b+932>>2]=c[f+44>>2];c[b+936>>2]=c[f+48>>2];c[b+940>>2]=c[f+52>>2];c[b+944>>2]=c[f+56>>2];c[b+948>>2]=c[f+60>>2]}else{co(f+192|0,d,b+52|0);c[b+824>>2]=c[f+192>>2];c[b+828>>2]=c[f+196>>2];c[b+832>>2]=c[f+200>>2];c[b+836>>2]=c[f+204>>2];c[b+840>>2]=c[f+208>>2];c[b+844>>2]=c[f+212>>2];c[b+848>>2]=c[f+216>>2];c[b+852>>2]=c[f+220>>2];c[b+856>>2]=c[f+224>>2];c[b+860>>2]=c[f+228>>2];c[b+864>>2]=c[f+232>>2];c[b+868>>2]=c[f+236>>2];c[b+872>>2]=c[f+240>>2];c[b+876>>2]=c[f+244>>2];c[b+880>>2]=c[f+248>>2];c[b+884>>2]=c[f+252>>2];co(f+128|0,e,b+116|0);c[b+888>>2]=c[f+128>>2];c[b+892>>2]=c[f+132>>2];c[b+896>>2]=c[f+136>>2];c[b+900>>2]=c[f+140>>2];c[b+904>>2]=c[f+144>>2];c[b+908>>2]=c[f+148>>2];c[b+912>>2]=c[f+152>>2];c[b+916>>2]=c[f+156>>2];c[b+920>>2]=c[f+160>>2];c[b+924>>2]=c[f+164>>2];c[b+928>>2]=c[f+168>>2];c[b+932>>2]=c[f+172>>2];c[b+936>>2]=c[f+176>>2];c[b+940>>2]=c[f+180>>2];c[b+944>>2]=c[f+184>>2];c[b+948>>2]=c[f+188>>2]}c[b+968>>2]=c[b+872>>2];c[b+972>>2]=c[b+876>>2];c[b+976>>2]=c[b+880>>2];c[b+980>>2]=c[b+884>>2];c[b+984>>2]=c[b+936>>2];c[b+988>>2]=c[b+940>>2];c[b+992>>2]=c[b+944>>2];c[b+996>>2]=c[b+948>>2];k=+g[b+824>>2];j=+g[b+840>>2];h=+g[b+856>>2];g[b+952>>2]=k;g[b+956>>2]=j;g[b+960>>2]=h;g[b+964>>2]=0.0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){t=+g[b+968>>2];n=t- +g[b+984>>2];r=+g[b+972>>2];m=r- +g[b+988>>2];q=+g[b+976>>2];l=q- +g[b+992>>2];g[b+1016>>2]=n;g[b+1020>>2]=m;g[b+1024>>2]=l;g[b+1028>>2]=0.0;p=k*n;s=j*m;s=p+s;p=h*l;p=s+p;s=k*p;j=j*p;k=h*p;h=t+s;j=r+j;k=q+k;d=b+1e3|0;g[d>>2]=h;d=b+1004|0;g[d>>2]=j;d=b+1008|0;g[d>>2]=k;d=b+1012|0;g[d>>2]=0.0;d=b+1032|0;g[d>>2]=p;d=b+828|0;e=b+844|0;o=b+860|0;k=+g[d>>2];j=+g[e>>2];h=+g[o>>2];k=k*n;j=j*m;j=k+j;h=h*l;h=j+h;o=b+1036|0;g[o>>2]=h;o=b+832|0;e=b+848|0;d=b+864|0;h=+g[o>>2];j=+g[e>>2];k=+g[d>>2];h=h*n;j=j*m;j=h+j;k=k*l;k=j+k;d=b+1040|0;g[d>>2]=k;i=f;return}v=+g[b+968>>2];q=+g[b+984>>2]-v;u=+g[b+972>>2];s=+g[b+988>>2]-u;l=+g[b+976>>2];t=+g[b+992>>2]-l;g[b+1016>>2]=q;g[b+1020>>2]=s;g[b+1024>>2]=t;g[b+1028>>2]=0.0;r=k*q;m=j*s;m=r+m;r=h*t;r=m+r;m=k*r;n=j*r;p=h*r;m=v+m;n=u+n;p=l+p;o=b+1e3|0;g[o>>2]=m;o=b+1004|0;g[o>>2]=n;o=b+1008|0;g[o>>2]=p;o=b+1012|0;g[o>>2]=0.0;o=b+1032|0;g[o>>2]=r;o=b+828|0;d=b+844|0;e=b+860|0;r=+g[o>>2];p=+g[d>>2];n=+g[e>>2];r=r*q;p=p*s;p=r+p;n=n*t;n=p+n;e=b+1036|0;g[e>>2]=n;e=b+832|0;d=b+848|0;o=b+864|0;n=+g[e>>2];p=+g[d>>2];r=+g[o>>2];q=n*q;s=p*s;s=q+s;t=r*t;t=s+t;o=b+1040|0;g[o>>2]=t;i=f;return}function Gr(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0.0,m=0.0;e=i;if((a[b+48>>0]|0)!=0){c[d>>2]=0;c[d+4>>2]=0;i=e;return}c[d>>2]=4;c[d+4>>2]=2;Fr(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];j=+g[b+924>>2];f=+Op(+Y(+(+g[b+832>>2]*m+ +g[b+848>>2]*l+ +g[b+864>>2]*j),+(+g[b+828>>2]*m+ +g[b+844>>2]*l+ +g[b+860>>2]*j)),f,h);g[b+1084>>2]=f;h=+g[b+192>>2];if(f>2]=f-h;a[b+297>>0]=1;break}h=+g[b+196>>2];if(f>h){g[b+1088>>2]=f-h;a[b+297>>0]=1}}while(0);a[b+296>>0]=0;h=+g[b+1032>>2];g[b+1080>>2]=h;f=+g[b+184>>2];j=+g[b+188>>2];do if(f<=j){if(h>j){g[b+1032>>2]=h-j;a[b+296>>0]=1;k=14;break}if(h>2]=h-f;a[b+296>>0]=1;k=14}else k=13}else k=13;while(0);if((k|0)==13?(g[b+1032>>2]=0.0,(a[b+1096>>0]|0)!=0):0)k=14;if((k|0)==14){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1}if((a[b+297>>0]|0)==0?(a[b+1112>>0]|0)==0:0){i=e;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1;i=e;return}function Hr(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.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,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,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=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,_=0.0,$=0;e=i;l=c[b+28>>2]|0;m=c[b+32>>2]|0;f=+g[l+344>>2];h=+g[m+344>>2];u=c[d+24>>2]|0;k=(a[b+180>>0]|0)!=0?1.0:-1.0;r=+g[b+936>>2]- +g[b+872>>2];s=+g[b+940>>2]- +g[b+876>>2];t=+g[b+944>>2]- +g[b+880>>2];if(f<1.1920928955078125e-7)o=1;else o=h<1.1920928955078125e-7;if(f+h>0.0)q=h/(f+h);else q=.5;p=1.0-q;I=+g[b+824>>2];D=+g[b+840>>2];z=+g[b+856>>2];M=+g[b+888>>2];O=+g[b+904>>2];B=+g[b+920>>2];G=(a[b+49>>0]|0)==0;do if(!G){C=q*I+p*M;L=q*D+p*O;J=q*z+p*B;E=1.0/+Q(+(C*C+L*L+J*J));if(+P(+(J*E))>.7071067690849304){T=1.0/+Q(+(J*E*J*E+L*E*L*E));f=C*E;h=L*E;j=J*E;y=0.0;A=-(J*E*T);F=L*E*T;K=(J*E*J*E+L*E*L*E)*T;S=-(C*E*L*E*T);T=C*E*-(J*E*T);break}else{T=1.0/+Q(+(C*E*C*E+L*E*L*E));f=C*E;h=L*E;j=J*E;y=-(L*E*T);A=C*E*T;F=0.0;K=-(J*E*C*E*T);S=J*E*-(L*E*T);T=(C*E*C*E+L*E*L*E)*T;break}}else{f=I;h=D;j=z;y=+g[b+828>>2];A=+g[b+844>>2];F=+g[b+860>>2];K=+g[b+832>>2];S=+g[b+848>>2];T=+g[b+864>>2]}while(0);w=c[d+12>>2]|0;g[w>>2]=y;g[w+4>>2]=A;g[w+8>>2]=F;g[w+(u<<2)>>2]=K;g[w+(u+1<<2)>>2]=S;g[w+(u+2<<2)>>2]=T;E=-y;x=c[d+20>>2]|0;g[x>>2]=E;L=-A;g[x+4>>2]=L;N=-F;g[x+8>>2]=N;C=-K;g[x+(u<<2)>>2]=C;R=-S;g[x+(u+1<<2)>>2]=R;J=-T;g[x+(u+2<<2)>>2]=J;v=c[b+300>>2]|0;U=+g[b+280>>2];if((v&128|0)==0)U=U*+g[d+4>>2];_=U*+g[d>>2];$=c[d+28>>2]|0;g[$>>2]=_*((D*B-z*O)*y+(z*M-I*B)*A+(I*O-D*M)*F);g[$+(u<<2)>>2]=_*((D*B-z*O)*K+(z*M-I*B)*S+(I*O-D*M)*T);if((v&64|0)!=0){$=c[d+32>>2]|0;g[$>>2]=+g[b+292>>2];g[$+(u<<2)>>2]=+g[b+292>>2]}I=+g[l+52>>2];O=+g[l+56>>2];M=+g[l+60>>2];z=+g[m+52>>2];D=+g[m+56>>2];B=+g[m+60>>2];if(G){_=(D-O)*F-(B-M)*A;Z=(B-M)*y-(z-I)*F;Y=(z-I)*A-(D-O)*y;g[w+(u<<1<<2)>>2]=q*_;g[w+((u<<1|1)<<2)>>2]=q*Z;g[w+((u<<1)+2<<2)>>2]=q*Y;g[x+(u<<1<<2)>>2]=p*_;g[x+((u<<1|1)<<2)>>2]=p*Z;g[x+((u<<1)+2<<2)>>2]=p*Y;Y=(D-O)*T-(B-M)*S;Z=(B-M)*K-(z-I)*T;_=(z-I)*S-(D-O)*K;g[w+(u*3<<2)>>2]=q*Y;g[w+((u*3|0)+1<<2)>>2]=q*Z;g[w+((u*3|0)+2<<2)>>2]=q*_;g[x+(u*3<<2)>>2]=p*Y;g[x+((u*3|0)+1<<2)>>2]=p*Z;g[x+((u*3|0)+2<<2)>>2]=p*_;H=c[d+8>>2]|0;g[H+(u<<1<<2)>>2]=y;g[H+((u<<1|1)<<2)>>2]=A;g[H+((u<<1)+2<<2)>>2]=F;g[H+(u*3<<2)>>2]=K;g[H+((u*3|0)+1<<2)>>2]=S;g[H+((u*3|0)+2<<2)>>2]=T;G=c[d+16>>2]|0;g[G+(u<<1<<2)>>2]=E;g[G+((u<<1|1)<<2)>>2]=L;g[G+((u<<1)+2<<2)>>2]=N;g[G+(u*3<<2)>>2]=C;g[G+((u*3|0)+1<<2)>>2]=R;g[G+((u*3|0)+2<<2)>>2]=J;L=0.0;N=0.0;R=0.0;C=0.0;E=0.0;J=0.0;D=D-O;B=B-M;z=z-I}else{z=+g[b+936>>2]-z;C=+g[b+940>>2]-D;D=+g[b+944>>2]-B;E=f*z+h*C+j*D;B=f*E;J=h*E;E=j*E;Y=+g[b+872>>2]-I;Z=+g[b+876>>2]-O;_=+g[b+880>>2]-M;F=f*Y+h*Z+j*_;y=f*F;A=h*F;F=j*F;M=+g[b+1080>>2]- +g[b+1032>>2];I=y+f*M-B;O=A+h*M-J;M=F+j*M-E;R=Y-y+q*I;L=Z-A+q*O;N=_-F+q*M;y=q*(z-B)+p*(Y-y);A=q*(C-J)+p*(Z-A);F=q*(D-E)+p*(_-F);if(y*y+A*A+F*F>1.1920928955078125e-7){_=1.0/+Q(+(y*y+A*A+F*F));y=y*_;A=_*A;F=_*F}else{y=+g[b+828>>2];A=+g[b+844>>2];F=+g[b+860>>2]}K=h*F-j*A;S=j*y-f*F;T=f*A-h*y;g[w+(u<<1<<2)>>2]=L*F-N*A;g[w+((u<<1|1)<<2)>>2]=N*y-R*F;g[w+((u<<1)+2<<2)>>2]=R*A-L*y;$=c[d+20>>2]|0;g[$+(u<<1<<2)>>2]=-((C-J-p*O)*F-(D-E-p*M)*A);g[$+((u<<1|1)<<2)>>2]=-((D-E-p*M)*y-(z-B-p*I)*F);g[$+((u<<1)+2<<2)>>2]=-((z-B-p*I)*A-(C-J-p*O)*y);U=(C-J-p*O)*T-(D-E-p*M)*S;W=(D-E-p*M)*K-(z-B-p*I)*T;_=(z-B-p*I)*S-(C-J-p*O)*K;if(o?(a[b+297>>0]|0)!=0:0){U=p*U;W=p*W;_=p*_;Z=q*(L*T-N*S);X=q*(N*K-R*T);Y=q*(R*S-L*K)}else{Z=L*T-N*S;X=N*K-R*T;Y=R*S-L*K}x=c[d+12>>2]|0;g[x+(u*3<<2)>>2]=Z;g[x+((u*3|0)+1<<2)>>2]=X;g[x+((u*3|0)+2<<2)>>2]=Y;x=c[d+20>>2]|0;g[x+(u*3<<2)>>2]=-U;g[x+((u*3|0)+1<<2)>>2]=-W;g[x+((u*3|0)+2<<2)>>2]=-_;H=c[d+8>>2]|0;g[H+(u<<1<<2)>>2]=y;g[H+((u<<1|1)<<2)>>2]=A;g[H+((u<<1)+2<<2)>>2]=F;g[H+(u*3<<2)>>2]=K;g[H+((u*3|0)+1<<2)>>2]=S;g[H+((u*3|0)+2<<2)>>2]=T;G=c[d+16>>2]|0;g[G+(u<<1<<2)>>2]=-y;g[G+((u<<1|1)<<2)>>2]=-A;g[G+((u<<1)+2<<2)>>2]=-F;g[G+(u*3<<2)>>2]=-K;g[G+((u*3|0)+1<<2)>>2]=-S;g[G+((u*3|0)+2<<2)>>2]=-T;v=c[b+300>>2]|0;C=C-J-p*O;E=D-E-p*M;J=z-B-p*I;D=0.0;B=0.0;z=0.0}I=+g[b+264>>2];if((v&32|0)==0)I=I*+g[d+4>>2];_=I*+g[d>>2];w=c[d+28>>2]|0;g[w+(u<<1<<2)>>2]=_*(r*y+s*A+t*F);g[w+(u*3<<2)>>2]=_*(r*K+s*S+t*T);if((v&16|0)!=0){$=c[d+32>>2]|0;g[$+(u<<1<<2)>>2]=+g[b+276>>2];g[$+(u*3<<2)>>2]=+g[b+276>>2]}if((a[b+296>>0]|0)==0)if((a[b+1096>>0]|0)==0)m=4;else{V=0;$=0;u=0;r=0.0;n=30}else{r=k*+g[b+1032>>2];V=1;$=(a[b+1096>>0]|0)==0;u=r>0.0?2:1;n=30}if((n|0)==30){n=c[d+24>>2]<<2;g[H+(n<<2)>>2]=f;g[H+((n|1)<<2)>>2]=h;g[H+((n|2)<<2)>>2]=j;g[G+(n<<2)>>2]=-f;g[G+((n|1)<<2)>>2]=-h;g[G+((n|2)<<2)>>2]=-j;if((a[b+49>>0]|0)!=0){if(!o){H=c[d+12>>2]|0;g[H+(n<<2)>>2]=j*L-h*N;g[H+((n|1)<<2)>>2]=f*N-j*R;g[H+((n|2)<<2)>>2]=h*R-f*L;g[x+(n<<2)>>2]=-(j*C-h*E);g[x+((n|1)<<2)>>2]=-(f*E-j*J);g[x+((n|2)<<2)>>2]=-(h*J-f*C)}}else{Y=j*D-h*B;Z=f*B-j*z;_=h*z-f*D;H=c[d+12>>2]|0;g[H+(n<<2)>>2]=q*Y;g[H+((n|1)<<2)>>2]=q*Z;g[H+((n|2)<<2)>>2]=q*_;g[x+(n<<2)>>2]=p*Y;g[x+((n|1)<<2)>>2]=p*Z;g[x+((n|2)<<2)>>2]=p*_}G=+g[b+184>>2]==+g[b+188>>2];g[w+(n<<2)>>2]=0.0;o=(c[d+36>>2]|0)+(n<<2)|0;g[o>>2]=0.0;H=(c[d+40>>2]|0)+(n<<2)|0;g[H>>2]=0.0;p=+g[((v&512|0)==0?d+4|0:b+232|0)>>2];if(!(V&G|$)){if((v&1|0)!=0)g[(c[d+32>>2]|0)+(n<<2)>>2]=+g[b+212>>2];q=+g[b+1100>>2];y=+g[b+1080>>2];z=+g[b+184>>2];t=+g[b+188>>2];s=p*+g[d>>2];a:do if(!(z>t))if(!(z==t)){if(q/s<0.0){do if(y>=z){if(!(z-q/s>y))break;s=(z-y)/(q/s);break a}while(0);s=y0.0){do if(y<=t){if(!(t-q/st?0.0:1.0}else s=0.0}else s=0.0;else s=1.0;while(0);g[w+(n<<2)>>2]=+g[w+(n<<2)>>2]-k*s*q;g[o>>2]=+g[o>>2]- +g[b+1104>>2]*+g[d>>2];g[H>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[H>>2]}if(V){g[w+(n<<2)>>2]=+g[w+(n<<2)>>2]+r*p*+g[d>>2];if((v&256|0)!=0)g[(c[d+32>>2]|0)+(n<<2)>>2]=+g[b+244>>2];do if(!G)if((u|0)==1){g[o>>2]=-3.4028234663852886e+38;g[H>>2]=0.0;break}else{g[o>>2]=0.0;g[H>>2]=3.4028234663852886e+38;break}else{g[o>>2]=-3.4028234663852886e+38;g[H>>2]=3.4028234663852886e+38}while(0);_=1.0- +g[b+240>>2];p=+P(+_);do if(!(_!=_|0.0!=0.0|_==0.0)){k=k*(f*+g[l+312>>2]+h*+g[l+316>>2]+j*+g[l+320>>2]-(f*+g[m+312>>2]+h*+g[m+316>>2]+j*+g[m+320>>2]));if((u|0)==1){if(!(k<0.0))break;if(!(+g[w+(n<<2)>>2]<-(p*k)))break;g[w+(n<<2)>>2]=-(p*k);break}else{if(!(k>0.0))break;if(!(+g[w+(n<<2)>>2]>-(p*k)))break;g[w+(n<<2)>>2]=-(p*k);break}}while(0);g[w+(n<<2)>>2]=+g[b+232>>2]*+g[w+(n<<2)>>2];m=5}else m=5}if((a[b+297>>0]|0)==0)if((a[b+1112>>0]|0)==0){i=e;return}else{n=0;o=0;l=0;k=0.0}else{k=+g[b+1088>>2];n=1;o=(a[b+1112>>0]|0)==0;l=k>0.0?1:2}m=aa(c[d+24>>2]|0,m)|0;$=c[d+12>>2]|0;g[$+(m<<2)>>2]=f;g[$+(m+1<<2)>>2]=h;g[$+(m+2<<2)>>2]=j;g[x+(m<<2)>>2]=-f;g[x+(m+1<<2)>>2]=-h;g[x+(m+2<<2)>>2]=-j;p=+g[b+192>>2];q=+g[b+196>>2];r=+g[((v&2048|0)==0?d+4|0:b+248|0)>>2];if(!(n&p==q|o)){if((v&4|0)==0){y=q;A=p}else{g[(c[d+32>>2]|0)+(m<<2)>>2]=+g[b+228>>2];y=+g[b+196>>2];A=+g[b+192>>2]}z=+g[b+1084>>2];s=+g[b+1116>>2];t=r*+g[d>>2];b:do if(!(A>y))if(!(A==y)){if(s/t<0.0){do if(z>=A){if(!(A-s/t>z))break;t=(A-z)/(s/t);break b}while(0);t=z0.0){do if(z<=y){if(!(y-s/ty?0.0:1.0}else t=0.0}else t=0.0;else t=1.0;while(0);g[w+(m<<2)>>2]=t*s;g[(c[d+36>>2]|0)+(m<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(m<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!n){i=e;return}g[w+(m<<2)>>2]=+g[w+(m<<2)>>2]+k*r*+g[d>>2];if((v&1024|0)!=0)g[(c[d+32>>2]|0)+(m<<2)>>2]=+g[b+260>>2];do if(!(p==q)){n=(c[d+36>>2]|0)+(m<<2)|0;if((l|0)==1){g[n>>2]=0.0;g[(c[d+40>>2]|0)+(m<<2)>>2]=3.4028234663852886e+38;break}else{g[n>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(m<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(m<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(m<<2)>>2]=3.4028234663852886e+38}while(0);_=1.0- +g[b+256>>2];k=+P(+_);do if(!(_!=_|0.0!=0.0|_==0.0)){V=c[b+28>>2]|0;$=c[b+32>>2]|0;f=f*+g[V+328>>2]+h*+g[V+332>>2]+j*+g[V+336>>2]-(f*+g[$+328>>2]+h*+g[$+332>>2]+j*+g[$+336>>2]);if((l|0)==1){if(!(f<0.0))break;if(!(+g[w+(m<<2)>>2]<-(k*f)))break;g[w+(m<<2)>>2]=-(k*f);break}else{if(!(f>0.0))break;if(!(+g[w+(m<<2)>>2]>-(k*f)))break;g[w+(m<<2)>>2]=-(k*f);break}}while(0);g[w+(m<<2)>>2]=+g[b+248>>2]*+g[w+(m<<2)>>2];i=e;return}function Ir(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if((b|0)==2){if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;i=f;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;i=f;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;i=f;return}if((e|0)>=6){i=f;return}g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;i=f;return}else if((b|0)==3){if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;i=f;return}if((e|0)!=3){i=f;return}g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;i=f;return}else if((b|0)==4){if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;i=f;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;i=f;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;i=f;return}if((e|0)>=6){i=f;return}g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;i=f;return}else{i=f;return}}function Jr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=i;do if((b|0)==2){if((c|0)<1){e=+g[a+232>>2];break}if((c|0)<3){e=+g[a+264>>2];break}if((c|0)==3){e=+g[a+248>>2];break}if((c|0)<6)e=+g[a+280>>2];else e=3.4028234663852886e+38}else if((b|0)==4){if((c|0)<1){e=+g[a+244>>2];break}if((c|0)<3){e=+g[a+276>>2];break}if((c|0)==3){e=+g[a+260>>2];break}if((c|0)<6)e=+g[a+292>>2];else e=3.4028234663852886e+38}else if((b|0)==3){if((c|0)<1){e=+g[a+212>>2];break}if((c|0)==3)e=+g[a+228>>2];else e=3.4028234663852886e+38}else e=3.4028234663852886e+38;while(0);i=d;return+e}function Kr(a){a=a|0;return}function Lr(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Mr(a){a=a|0;return 204}function Nr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;Pr(a,b,e)|0;g[b+52>>2]=+g[a+52>>2];g[b+56>>2]=+g[a+56>>2];g[b+60>>2]=+g[a+60>>2];g[b+64>>2]=+g[a+64>>2];g[b+68>>2]=+g[a+68>>2];g[b+72>>2]=+g[a+72>>2];g[b+76>>2]=+g[a+76>>2];g[b+80>>2]=+g[a+80>>2];g[b+84>>2]=+g[a+84>>2];g[b+88>>2]=+g[a+88>>2];g[b+92>>2]=+g[a+92>>2];g[b+96>>2]=+g[a+96>>2];g[b+100>>2]=+g[a+100>>2];g[b+104>>2]=+g[a+104>>2];g[b+108>>2]=+g[a+108>>2];g[b+112>>2]=+g[a+112>>2];g[b+116>>2]=+g[a+116>>2];g[b+120>>2]=+g[a+120>>2];g[b+124>>2]=+g[a+124>>2];g[b+128>>2]=+g[a+128>>2];g[b+132>>2]=+g[a+132>>2];g[b+136>>2]=+g[a+136>>2];g[b+140>>2]=+g[a+140>>2];g[b+144>>2]=+g[a+144>>2];g[b+148>>2]=+g[a+148>>2];g[b+152>>2]=+g[a+152>>2];g[b+156>>2]=+g[a+156>>2];g[b+160>>2]=+g[a+160>>2];g[b+164>>2]=+g[a+164>>2];g[b+168>>2]=+g[a+168>>2];g[b+172>>2]=+g[a+172>>2];g[b+176>>2]=+g[a+176>>2];g[b+180>>2]=+g[a+188>>2];g[b+184>>2]=+g[a+184>>2];g[b+188>>2]=+g[a+196>>2];g[b+192>>2]=+g[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];i=f;return 4352}function Or(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+32|0;c[b+4>>2]=d;c[b>>2]=64;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3.4028234663852886e+38;a[b+20>>0]=1;a[b+21>>0]=0;c[b+24>>2]=-1;c[b+28>>2]=e;if((a[5024]|0)==0?(Ya(5024)|0)!=0:0){c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;br(4408,0.0,0,0,f+16|0);bb(5024)}c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;cr(4408,0.0,f);c[b+32>>2]=4408;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;i=f;return}function Pr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0;f=i;c[b>>2]=gc[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=gc[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;h=gc[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;j=gc[c[(c[e>>2]|0)+28>>2]&31](e,h)|0;c[b+8>>2]=j;if((j|0)!=0)Nb[c[(c[e>>2]|0)+48>>2]&127](e,h);c[b+12>>2]=c[a+4>>2];c[b+24>>2]=d[a+21>>0];c[b+40>>2]=c[a+24>>2];g[b+44>>2]=+g[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];g[b+28>>2]=+g[a+36>>2];g[b+32>>2]=+g[a+40>>2];c[b+36>>2]=0;h=c[a+28>>2]|0;if((c[h+488>>2]|0)>0){e=0;do{if((c[(c[h+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;h=c[a+28>>2]|0}e=e+1|0}while((e|0)<(c[h+488>>2]|0))}h=c[a+32>>2]|0;if((c[h+488>>2]|0)>0)e=0;else{i=f;return 4376}do{if((c[(c[h+496>>2]|0)+(e<<2)>>2]|0)==(a|0)){c[b+36>>2]=1;h=c[a+32>>2]|0}e=e+1|0}while((e|0)<(c[h+488>>2]|0));i=f;return 4376}function Qr(d,f,h,j,k,l){d=d|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0;m=i;c[d>>2]=5216;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=k;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if((k|0)==0){c[5004]=(c[5004]|0)+1;k=XE(95)|0;if((k|0)!=0?(c[(k+19&-16)+ -4>>2]=k,(k+19&-16|0)!=0):0){Oz(k+19&-16);k=k+19&-16}else k=0;c[d+92>>2]=k;a[d+100>>0]=1}if(!l){c[5004]=(c[5004]|0)+1;l=XE(43)|0;if((l|0)!=0?(n=l+19&-16,c[n+ -4>>2]=l,(l+19&-16|0)!=0):0){c[n+0>>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[(l+19&-16)>>2]=5280;a[n+20>>0]=1;c[n+16>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=l+19&-16}else n=0;c[d+112>>2]=n;c[5004]=(c[5004]|0)+1;n=XE(215)|0;if((n|0)!=0?(c[(n+19&-16)+ -4>>2]=n,(n+19&-16|0)!=0):0){Px(n+19&-16,c[d+112>>2]|0);n=n+19&-16}else n=0;c[d+108>>2]=n;a[n+193>>0]=1}c[d+8>>2]=c[f+0>>2];c[d+12>>2]=c[f+4>>2];c[d+16>>2]=c[f+8>>2];c[d+20>>2]=c[f+12>>2];c[d+24>>2]=c[h+0>>2];c[d+28>>2]=c[h+4>>2];c[d+32>>2]=c[h+8>>2];c[d+36>>2]=c[h+12>>2];q=+(e[d+6>>1]|0);p=q/(+g[d+28>>2]- +g[d+12>>2]);o=q/(+g[d+32>>2]- +g[d+16>>2]);g[d+40>>2]=q/(+g[d+24>>2]- +g[d+8>>2]);g[d+44>>2]=p;g[d+48>>2]=o;g[d+52>>2]=0.0;f=(j&65535)+1&65535;c[5004]=(c[5004]|0)+1;h=XE(f<<6|19)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}if((f|0)!=0){n=h+(f<<6)|0;l=h;do{c[l>>2]=0;c[l+8>>2]=0;l=l+64|0}while((l|0)!=(n|0))}c[d+60>>2]=h;b[d+58>>1]=(j&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(f>>>0>1){j=1;n=1;do{b[h+(j<<6)+48>>1]=j+1;n=n+1<<16>>16;j=n&65535}while(j>>>0>>0)}b[h+(f+ -1<<6)+48>>1]=0;c[5004]=(c[5004]|0)+1;j=XE((f<<3|3)+16|0)|0;if((j|0)!=0){c[(j+19&-16)+ -4>>2]=j;c[d+80>>2]=j+19&-16;if((j+19&-16|0)==0)j=0;else j=j+19&-16}else{c[d+80>>2]=0;j=0}c[d+68>>2]=j;c[5004]=(c[5004]|0)+1;j=XE((f<<3|3)+16|0)|0;if((j|0)!=0){c[(j+19&-16)+ -4>>2]=j;c[d+84>>2]=j+19&-16;if((j+19&-16|0)==0)j=0;else j=j+19&-16}else{c[d+84>>2]=0;j=0}c[d+72>>2]=j;c[5004]=(c[5004]|0)+1;j=XE((f<<3|3)+16|0)|0;if((j|0)!=0){c[(j+19&-16)+ -4>>2]=j;c[d+88>>2]=j+19&-16;if((j+19&-16|0)==0)j=0;else j=j+19&-16}else{c[d+88>>2]=0;j=0}c[d+76>>2]=j;c[c[d+60>>2]>>2]=0;k=c[d+60>>2]|0;b[k+48>>1]=0;b[k+54>>1]=1;l=c[d+68>>2]|0;b[l>>1]=0;b[l+2>>1]=0;b[l+4>>1]=b[d+6>>1]|0;b[l+6>>1]=0;b[k+50>>1]=0;b[k+56>>1]=1;l=c[d+72>>2]|0;b[l>>1]=0;b[l+2>>1]=0;b[l+4>>1]=b[d+6>>1]|0;b[l+6>>1]=0;b[k+52>>1]=0;b[k+58>>1]=1;k=c[d+76>>2]|0;b[k>>1]=0;b[k+2>>1]=0;b[k+4>>1]=b[d+6>>1]|0;b[k+6>>1]=0;c[d>>2]=5040;i=m;return}function Rr(a){a=a|0;var b=0;b=i;is(a);i=b;return}function Sr(a){a=a|0;var b=0;b=i;is(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Tr(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;o=i;i=i+16|0;fs(a,o+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);fs(a,o,+g[f>>2],+g[f+4>>2],+g[f+8>>2],1);p=b[a+64>>1]|0;q=c[a+60>>2]|0;b[a+64>>1]=b[q+((p&65535)<<6)+48>>1]|0;b[a+56>>1]=(b[a+56>>1]|0)+1<<16>>16;c[q+((p&65535)<<6)+12>>2]=p&65535;c[q+((p&65535)<<6)>>2]=j;b[q+((p&65535)<<6)+4>>1]=k;b[q+((p&65535)<<6)+6>>1]=l;c[q+((p&65535)<<6)+8>>2]=n;u=(e[a+56>>1]|0)<<1;v=(u&65534)+ -1|0;s=(c[a+60>>2]|0)+54|0;b[s>>1]=(e[s>>1]|0)+2;s=c[a+68>>2]|0;r=e[s+(v<<2)>>1]|e[s+(v<<2)+2>>1]<<16;b[s+((u&65534|1)<<2)>>1]=r;b[s+((u&65534|1)<<2)+2>>1]=r>>>16;s=c[a+68>>2]|0;b[s+(v<<2)>>1]=b[o+6>>1]|0;b[s+(v<<2)+2>>1]=p;b[s+((u&65534)<<2)>>1]=b[o>>1]|0;b[s+((u&65534)<<2)+2>>1]=p;b[q+((p&65535)<<6)+48>>1]=v;b[q+((p&65535)<<6)+54>>1]=u;s=(c[a+60>>2]|0)+56|0;b[s>>1]=(e[s>>1]|0)+2;s=c[a+72>>2]|0;r=e[s+(v<<2)>>1]|e[s+(v<<2)+2>>1]<<16;b[s+((u&65534|1)<<2)>>1]=r;b[s+((u&65534|1)<<2)+2>>1]=r>>>16;s=c[a+72>>2]|0;b[s+(v<<2)>>1]=b[o+8>>1]|0;b[s+(v<<2)+2>>1]=p;b[s+((u&65534)<<2)>>1]=b[o+2>>1]|0;b[s+((u&65534)<<2)+2>>1]=p;b[q+((p&65535)<<6)+50>>1]=v;b[q+((p&65535)<<6)+56>>1]=u;s=(c[a+60>>2]|0)+58|0;b[s>>1]=(e[s>>1]|0)+2;s=c[a+76>>2]|0;r=e[s+(v<<2)>>1]|e[s+(v<<2)+2>>1]<<16;b[s+((u&65534|1)<<2)>>1]=r;b[s+((u&65534|1)<<2)+2>>1]=r>>>16;s=c[a+76>>2]|0;b[s+(v<<2)>>1]=b[o+10>>1]|0;b[s+(v<<2)+2>>1]=p;b[s+((u&65534)<<2)>>1]=b[o+4>>1]|0;b[s+((u&65534)<<2)+2>>1]=p;b[q+((p&65535)<<6)+52>>1]=v;b[q+((p&65535)<<6)+58>>1]=u;u=c[a+68>>2]|0;v=e[q+((p&65535)<<6)+48>>1]|0;s=c[a+60>>2]|0;r=b[u+(v+ -1<<2)>>1]|0;if((e[u+(v<<2)>>1]|0)<(r&65535)){n=s+((e[u+(v<<2)+2>>1]|0)<<6)+48|0;t=u+(v<<2)|0;u=u+(v+ -1<<2)|0;while(1){v=e[u+2>>1]|0;if((r&1)==0){v=s+(v<<6)+48|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}else{v=s+(v<<6)+54|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}b[n>>1]=(b[n>>1]|0)+ -1<<16>>16;r=e[t>>1]|e[t+2>>1]<<16;v=e[u>>1]|e[u+2>>1]<<16;b[t>>1]=v;b[t+2>>1]=v>>>16;b[u>>1]=r;b[u+2>>1]=r>>>16;t=t+ -4|0;u=u+ -4|0;r=b[u>>1]|0;if(!((e[t>>1]|0)<(r&65535)))break;s=c[a+60>>2]|0}n=c[a+68>>2]|0}else n=u;r=e[q+((p&65535)<<6)+54>>1]|0;u=n+(r<<2)|0;t=n+(r+ -1<<2)|0;s=b[t>>1]|0;a:do if((e[u>>1]|0)<(s&65535)){v=c[a+60>>2]|0;n=v+((e[n+(r<<2)+2>>1]|0)<<6)+54|0;r=v;while(1){v=e[t+2>>1]|0;if((s&1)==0){v=r+(v<<6)+48|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}else{v=r+(v<<6)+54|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}b[n>>1]=(b[n>>1]|0)+ -1<<16>>16;s=e[u>>1]|e[u+2>>1]<<16;v=e[t>>1]|e[t+2>>1]<<16;b[u>>1]=v;b[u+2>>1]=v>>>16;b[t>>1]=s;b[t+2>>1]=s>>>16;u=u+ -4|0;t=t+ -4|0;s=b[t>>1]|0;if(!((e[u>>1]|0)<(s&65535)))break a;r=c[a+60>>2]|0}}while(0);v=c[a+72>>2]|0;u=e[q+((p&65535)<<6)+50>>1]|0;s=c[a+60>>2]|0;r=b[v+(u+ -1<<2)>>1]|0;if((e[v+(u<<2)>>1]|0)<(r&65535)){n=s+((e[v+(u<<2)+2>>1]|0)<<6)+50|0;t=v+(u<<2)|0;u=v+(u+ -1<<2)|0;while(1){v=e[u+2>>1]|0;if((r&1)==0){v=s+(v<<6)+50|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}else{v=s+(v<<6)+56|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}b[n>>1]=(b[n>>1]|0)+ -1<<16>>16;r=e[t>>1]|e[t+2>>1]<<16;v=e[u>>1]|e[u+2>>1]<<16;b[t>>1]=v;b[t+2>>1]=v>>>16;b[u>>1]=r;b[u+2>>1]=r>>>16;t=t+ -4|0;u=u+ -4|0;r=b[u>>1]|0;if(!((e[t>>1]|0)<(r&65535)))break;s=c[a+60>>2]|0}v=c[a+72>>2]|0}n=e[q+((p&65535)<<6)+56>>1]|0;u=v+(n<<2)|0;t=v+(n+ -1<<2)|0;r=b[t>>1]|0;b:do if((e[u>>1]|0)<(r&65535)){s=c[a+60>>2]|0;n=s+((e[v+(n<<2)+2>>1]|0)<<6)+56|0;while(1){v=e[t+2>>1]|0;if((r&1)==0){v=s+(v<<6)+50|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}else{v=s+(v<<6)+56|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}b[n>>1]=(b[n>>1]|0)+ -1<<16>>16;r=e[u>>1]|e[u+2>>1]<<16;v=e[t>>1]|e[t+2>>1]<<16;b[u>>1]=v;b[u+2>>1]=v>>>16;b[t>>1]=r;b[t+2>>1]=r>>>16;u=u+ -4|0;t=t+ -4|0;r=b[t>>1]|0;if(!((e[u>>1]|0)<(r&65535)))break b;s=c[a+60>>2]|0}}while(0);gs(a,2,b[q+((p&65535)<<6)+52>>1]|0);hs(a,2,b[q+((p&65535)<<6)+58>>1]|0,m);q=c[a+60>>2]|0;a=c[a+108>>2]|0;if((a|0)==0){v=q+((p&65535)<<6)|0;i=o;return v|0}c[q+((p&65535)<<6)+60>>2]=pc[c[(c[a>>2]|0)+8>>2]&3](a,d,f,h,j,k,l,m,0)|0;v=q+((p&65535)<<6)|0;i=o;return v|0}function Ur(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;h=c[a+108>>2]|0;if((h|0)!=0)rc[c[(c[h>>2]|0)+12>>2]&127](h,c[d+60>>2]|0,f);h=c[d+12>>2]|0;d=c[a+60>>2]|0;r=c[a+92>>2]|0;if(!(Pb[c[(c[r>>2]|0)+56>>2]&127](r)|0)){r=c[a+92>>2]|0;rc[c[(c[r>>2]|0)+16>>2]&127](r,d+((h&65535)<<6)|0,f)}f=e[a+56>>1]|0;j=c[a+60>>2]|0;b[j+54>>1]=(e[j+54>>1]|0)+65534;b[j+56>>1]=(e[j+56>>1]|0)+65534;b[j+58>>1]=(e[j+58>>1]|0)+65534;j=0;do{l=a+(j<<2)+68|0;k=c[l>>2]|0;o=e[d+((h&65535)<<6)+(j<<1)+54>>1]|0;b[k+(o<<2)>>1]=b[a+6>>1]|0;p=b[k+(o+1<<2)+2>>1]|0;if(p<<16>>16==0)o=k;else{m=(c[a+60>>2]|0)+((e[k+(o<<2)+2>>1]|0)<<6)+(j<<1)+54|0;n=k+(o<<2)|0;o=k+(o+1<<2)|0;while(1){r=b[o>>1]|0;if((e[n>>1]|0)<(r&65535))break;q=c[a+60>>2]|0;p=p&65535;if((r&1)==0){r=q+(p<<6)+(j<<1)+48|0;b[r>>1]=(b[r>>1]|0)+ -1<<16>>16}else{r=q+(p<<6)+(j<<1)+54|0;b[r>>1]=(b[r>>1]|0)+ -1<<16>>16}b[m>>1]=(b[m>>1]|0)+1<<16>>16;p=e[n>>1]|e[n+2>>1]<<16;r=e[o>>1]|e[o+2>>1]<<16;b[n>>1]=r;b[n+2>>1]=r>>>16;b[o>>1]=p;b[o+2>>1]=p>>>16;p=b[o+6>>1]|0;if(p<<16>>16==0)break;else{n=n+4|0;o=o+4|0}}o=c[l>>2]|0}p=e[d+((h&65535)<<6)+(j<<1)+48>>1]|0;b[k+(p<<2)>>1]=b[a+6>>1]|0;n=b[o+(p+1<<2)+2>>1]|0;a:do if(!(n<<16>>16==0)){l=(c[a+60>>2]|0)+((e[o+(p<<2)+2>>1]|0)<<6)+(j<<1)+48|0;m=o+(p<<2)|0;o=o+(p+1<<2)|0;while(1){p=b[o>>1]|0;if((e[m>>1]|0)<(p&65535))break a;q=c[a+60>>2]|0;n=n&65535;if((p&1)==0){r=q+(n<<6)+(j<<1)+48|0;b[r>>1]=(b[r>>1]|0)+ -1<<16>>16}else{r=q+(n<<6)+(j<<1)+54|0;b[r>>1]=(b[r>>1]|0)+ -1<<16>>16}b[l>>1]=(b[l>>1]|0)+1<<16>>16;n=e[m>>1]|e[m+2>>1]<<16;r=e[o>>1]|e[o+2>>1]<<16;b[m>>1]=r;b[m+2>>1]=r>>>16;b[o>>1]=n;b[o+2>>1]=n>>>16;n=b[o+6>>1]|0;if(n<<16>>16==0)break;else{m=m+4|0;o=o+4|0}}}while(0);b[k+((f<<1)+ -1<<2)+2>>1]=0;b[k+((f<<1)+ -1<<2)>>1]=b[a+6>>1]|0;j=j+1|0}while((j|0)!=3);b[(c[a+60>>2]|0)+((h&65535)<<6)+48>>1]=b[a+64>>1]|0;b[a+64>>1]=h;b[a+56>>1]=(b[a+56>>1]|0)+ -1<<16>>16;i=g;return}function Vr(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;k=i;i=i+16|0;c[d+16>>2]=c[f+0>>2];c[d+20>>2]=c[f+4>>2];c[d+24>>2]=c[f+8>>2];c[d+28>>2]=c[f+12>>2];c[d+32>>2]=c[h+0>>2];c[d+36>>2]=c[h+4>>2];c[d+40>>2]=c[h+8>>2];c[d+44>>2]=c[h+12>>2];q=c[a+60>>2]|0;r=c[d+12>>2]&65535;fs(a,k+6|0,+g[f>>2],+g[f+4>>2],+g[f+8>>2],0);fs(a,k,+g[h>>2],+g[h+4>>2],+g[h+8>>2],1);y=0;do{z=b[q+(r<<6)+(y<<1)+48>>1]|0;w=b[q+(r<<6)+(y<<1)+54>>1]|0;F=b[k+6+(y<<1)>>1]|0;A=a+(y<<2)+68|0;I=c[A>>2]|0;H=(F&65535)-(e[I+((z&65535)<<2)>>1]|0)|0;G=b[k+(y<<1)>>1]|0;x=(G&65535)-(e[I+((w&65535)<<2)>>1]|0)|0;b[I+((z&65535)<<2)>>1]=F;b[I+((w&65535)<<2)>>1]=G;if((H|0)<0)gs(a,y,z);a:do if((x|0)>0?(v=c[A>>2]|0,s=c[a+60>>2]|0,t=e[v+((w&65535)<<2)+2>>1]|0,u=b[v+((w&65535)+1<<2)+2>>1]|0,!(u<<16>>16==0)):0){B=1<>1]|0;if((e[D>>1]|0)<(F&65535))break a;G=c[a+60>>2]|0;I=I&65535;if((F&1)==0){if(((((e[s+(t<<6)+(B<<1)+54>>1]|0)>=(e[G+(I<<6)+(B<<1)+48>>1]|0)?(e[G+(I<<6)+(B<<1)+54>>1]|0)>=(e[s+(t<<6)+(B<<1)+48>>1]|0):0)?(e[s+(t<<6)+((1<>1]|0)>=(e[G+(I<<6)+((1<>1]|0):0)?(e[G+(I<<6)+((1<>1]|0)>=(e[s+(t<<6)+((1<>1]|0):0)?(m=c[a+92>>2]|0,n=G+((e[D+2>>1]|0)<<6)|0,Yb[c[(c[m>>2]|0)+8>>2]&31](m,n,G+(I<<6)|0)|0,m=c[a+96>>2]|0,(m|0)!=0):0)Yb[c[(c[m>>2]|0)+8>>2]&31](m,n,G+(I<<6)|0)|0;I=G+(I<<6)+(y<<1)+48|0;b[I>>1]=(b[I>>1]|0)+ -1<<16>>16}else{I=G+(I<<6)+(y<<1)+54|0;b[I>>1]=(b[I>>1]|0)+ -1<<16>>16}b[C>>1]=(b[C>>1]|0)+1<<16>>16;I=e[D>>1]|e[D+2>>1]<<16;G=e[E>>1]|e[E+2>>1]<<16;b[D>>1]=G;b[D+2>>1]=G>>>16;b[E>>1]=I;b[E+2>>1]=I>>>16;I=b[E+6>>1]|0;if(I<<16>>16==0)break;else{D=D+4|0;E=E+4|0}}}while(0);b:do if((H|0)>0?(o=c[A>>2]|0,p=b[o+((z&65535)+1<<2)+2>>1]|0,!(p<<16>>16==0)):0){B=(c[a+60>>2]|0)+((e[o+((z&65535)<<2)+2>>1]|0)<<6)+(y<<1)+48|0;C=1<>1]|0;if((e[A>>1]|0)<(F&65535))break b;D=c[a+60>>2]|0;E=E&65535;if((F&1)==0){I=D+(E<<6)+(y<<1)+48|0;b[I>>1]=(b[I>>1]|0)+ -1<<16>>16}else{F=e[A+2>>1]|0;if(((((e[D+(F<<6)+(C<<1)+54>>1]|0)>=(e[D+(E<<6)+(C<<1)+48>>1]|0)?(e[D+(E<<6)+(C<<1)+54>>1]|0)>=(e[D+(F<<6)+(C<<1)+48>>1]|0):0)?(e[D+(F<<6)+((1<>1]|0)>=(e[D+(E<<6)+((1<>1]|0):0)?(e[D+(E<<6)+((1<>1]|0)>=(e[D+(F<<6)+((1<>1]|0):0)?(l=c[a+92>>2]|0,Tb[c[(c[l>>2]|0)+12>>2]&31](l,D+(F<<6)|0,D+(E<<6)|0,j)|0,l=c[a+96>>2]|0,(l|0)!=0):0)Tb[c[(c[l>>2]|0)+12>>2]&31](l,D+(F<<6)|0,D+(E<<6)|0,j)|0;I=D+(E<<6)+(y<<1)+54|0;b[I>>1]=(b[I>>1]|0)+ -1<<16>>16}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=e[A>>1]|e[A+2>>1]<<16;I=e[z>>1]|e[z+2>>1]<<16;b[A>>1]=I;b[A+2>>1]=I>>>16;b[z>>1]=E;b[z+2>>1]=E>>>16;E=b[z+6>>1]|0;if(E<<16>>16==0)break;else{A=A+4|0;z=z+4|0}}}while(0);if((x|0)<0)hs(a,y,w,j);y=y+1|0}while((y|0)!=3);l=c[a+108>>2]|0;if((l|0)==0){i=k;return}Jb[c[(c[l>>2]|0)+16>>2]&31](l,c[d+60>>2]|0,f,h,j);i=k;return}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=i;c[d+0>>2]=c[b+16>>2];c[d+4>>2]=c[b+20>>2];c[d+8>>2]=c[b+24>>2];c[d+12>>2]=c[b+28>>2];c[e+0>>2]=c[b+32>>2];c[e+4>>2]=c[b+36>>2];c[e+8>>2]=c[b+40>>2];c[e+12>>2]=c[b+44>>2];i=a;return}function Xr(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;k=i;l=c[a+108>>2]|0;if((l|0)!=0){Zb[c[(c[l>>2]|0)+24>>2]&7](l,d,f,g,h,j);i=k;return}l=b[a+56>>1]|0;if(!((l&65535)<<1>>>0>1)){i=k;return}h=1;j=2;while(1){f=c[a+68>>2]|0;if(!((b[f+(h<<2)>>1]&1)==0)){gc[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[f+(h<<2)+2>>1]|0)<<6)|0)|0;l=b[a+56>>1]|0}h=j&65535;if(!(h>>>0<((l&65535)<<1|1)>>>0))break;j=j+1<<16>>16}i=k;return}function Yr(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=c[a+108>>2]|0;if((k|0)!=0){vc[c[(c[k>>2]|0)+28>>2]&127](k,d,f,h);i=j;return}m=b[a+56>>1]|0;if(!((m&65535)<<1>>>0>1)){i=j;return}n=1;k=2;while(1){o=c[a+68>>2]|0;if(!((b[o+(n<<2)>>1]&1)==0)){l=c[a+60>>2]|0;n=e[o+(n<<2)+2>>1]|0;if(!(+g[d>>2]>+g[l+(n<<6)+32>>2])?!(+g[f>>2]<+g[l+(n<<6)+16>>2]):0)o=1;else o=0;if(!(!(+g[d+8>>2]>+g[l+(n<<6)+40>>2])?!(+g[f+8>>2]<+g[l+(n<<6)+24>>2]):0))o=0;if(!(+g[d+4>>2]>+g[l+(n<<6)+36>>2])?!(+g[f+4>>2]<+g[l+(n<<6)+20>>2]|o^1):0){gc[c[(c[h>>2]|0)+8>>2]&31](h,l+(n<<6)|0)|0;m=b[a+56>>1]|0}}n=k&65535;if(!(n>>>0<((m&65535)<<1|1)>>>0))break;k=k+1<<16>>16}i=j;return}function Zr(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,r=0;f=i;i=i+32|0;r=c[a+92>>2]|0;if(!(Pb[c[(c[r>>2]|0)+56>>2]&127](r)|0)){i=f;return}d=c[a+92>>2]|0;d=Pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;g=c[d+4>>2]|0;if((g|0)>1){es(d,0,g+ -1|0);g=c[d+4>>2]|0}o=g-(c[a+104>>2]|0)|0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;ds(d,o,f+16|0);c[a+104>>2]=0;o=c[d+4>>2]|0;if((o|0)>0){h=0;p=0;m=0;g=0;while(1){j=c[d+12>>2]|0;k=j+(g<<4)|0;n=c[k>>2]|0;j=j+(g<<4)+4|0;l=c[j>>2]|0;if((n|0)==(h|0))if((l|0)==(p|0)){l=p;n=h;h=12}else{n=h;h=8}else h=8;a:do if((h|0)==8){h=0;q=n+54|0;r=n+48|0;p=0;do{if((e[q+(p<<1)>>1]|0)<(e[l+48+(p<<1)>>1]|0)){h=12;break a}if((e[l+54+(p<<1)>>1]|0)<(e[r+(p<<1)>>1]|0)){h=12;break a}p=p+1|0}while((p|0)<3)}while(0);if((h|0)==12){m=c[a+92>>2]|0;rc[c[(c[m>>2]|0)+32>>2]&127](m,k,b);c[k>>2]=0;c[j>>2]=0;m=(c[a+104>>2]|0)+1|0;c[a+104>>2]=m;c[3808]=(c[3808]|0)+ -1;o=c[d+4>>2]|0}g=g+1|0;if((g|0)>=(o|0))break;else{h=n;p=l}}if((o|0)>1){es(d,0,o+ -1|0);m=c[a+104>>2]|0;o=c[d+4>>2]|0}}else m=0;r=o-m|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;ds(d,r,f);c[a+104>>2]=0;i=f;return}function _r(a){a=a|0;return c[a+92>>2]|0}function $r(a){a=a|0;return c[a+92>>2]|0}function as(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[b+0>>2]=c[a+8>>2];c[b+4>>2]=c[a+12>>2];c[b+8>>2]=c[a+16>>2];c[b+12>>2]=c[a+20>>2];c[d+0>>2]=c[a+24>>2];c[d+4>>2]=c[a+28>>2];c[d+8>>2]=c[a+32>>2];c[d+12>>2]=c[a+36>>2];i=e;return}function bs(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;d=i;if((b[a+56>>1]|0)!=0){i=d;return}b[a+64>>1]=1;f=b[a+58>>1]|0;e=c[a+60>>2]|0;if((f&65535)>1){f=1;g=1;while(1){b[e+(f<<6)+48>>1]=f+1;g=g+1<<16>>16;f=b[a+58>>1]|0;if((g&65535)<(f&65535))f=g&65535;else break}}b[e+((f&65535)+ -1<<6)+48>>1]=0;i=d;return}function cs(a){a=a|0;return}function ds(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;f=i;g=c[b+4>>2]|0;if(!((g|0)<=(d|0)&(g|0)<(d|0))){c[b+4>>2]=d;i=f;return}if((c[b+8>>2]|0)<(d|0)){if((d|0)==0){h=0;j=g}else{c[5004]=(c[5004]|0)+1;h=XE((d<<4|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+4>>2]|0}if((j|0)>0){k=0;do{l=c[b+12>>2]|0;c[h+(k<<4)>>2]=c[l+(k<<4)>>2];c[h+(k<<4)+4>>2]=c[l+(k<<4)+4>>2];c[h+(k<<4)+8>>2]=c[l+(k<<4)+8>>2];c[h+(k<<4)+12>>2]=c[l+(k<<4)+12>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+12>>2]|0;if((j|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=d;h=b+12|0}else h=b+12|0;do{l=c[h>>2]|0;c[l+(g<<4)>>2]=c[e>>2];c[l+(g<<4)+4>>2]=c[e+4>>2];c[l+(g<<4)+8>>2]=c[e+8>>2];c[l+(g<<4)+12>>2]=c[e+12>>2];g=g+1|0}while((g|0)!=(d|0));c[b+4>>2]=d;i=f;return}function es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;while(1){j=(b+d|0)/2|0;g=c[a+12>>2]|0;h=c[g+(j<<4)>>2]|0;f=c[g+(j<<4)+4>>2]|0;j=c[g+(j<<4)+8>>2]|0;k=b;o=d;while(1){a:while(1){m=c[g+(k<<4)>>2]|0;if((m|0)==0)q=-1;else q=c[m+12>>2]|0;if((h|0)==0)n=-1;else n=c[h+12>>2]|0;l=c[g+(k<<4)+4>>2]|0;if((l|0)==0)r=-1;else r=c[l+12>>2]|0;if((f|0)==0)p=-1;else p=c[f+12>>2]|0;do if((q|0)<=(n|0)){n=(m|0)==(h|0)&(r|0)>(p|0);if(n|(m|0)==(h|0)^1)if(n)break;else break a;if((l|0)!=(f|0))break a;if(!((c[g+(k<<4)+8>>2]|0)>>>0>j>>>0))break a}while(0);k=k+1|0}b:do if((h|0)==0)while(1){p=c[g+(o<<4)>>2]|0;if((p|0)==0)r=-1;else r=c[p+12>>2]|0;if((f|0)==0)s=-1;else s=c[f+12>>2]|0;n=c[g+(o<<4)+4>>2]|0;if((n|0)==0)q=-1;else q=c[n+12>>2]|0;do if(!((r|0)<-1)){q=(p|0)==0&(s|0)>(q|0);if(q|(p|0)==0^1)if(q)break;else break b;if((f|0)!=(n|0))break b;if(!(j>>>0>(c[g+(o<<4)+8>>2]|0)>>>0))break b}while(0);o=o+ -1|0}else{n=c[h+12>>2]|0;q=o;while(1){p=c[g+(q<<4)>>2]|0;if((p|0)==0)t=-1;else t=c[p+12>>2]|0;if((f|0)==0)r=-1;else r=c[f+12>>2]|0;o=c[g+(q<<4)+4>>2]|0;if((o|0)==0)s=-1;else s=c[o+12>>2]|0;do if((n|0)<=(t|0)){r=(h|0)==(p|0)&(r|0)>(s|0);if(r|(h|0)==(p|0)^1)if(r)break;else{o=q;break b}if((f|0)!=(o|0)){o=q;break b}if(!(j>>>0>(c[g+(q<<4)+8>>2]|0)>>>0)){o=q;break b}}while(0);q=q+ -1|0}}while(0);if((k|0)<=(o|0)){t=g+(k<<4)|0;r=c[g+(k<<4)+8>>2]|0;s=c[g+(k<<4)+12>>2]|0;q=g+(o<<4)|0;c[t+0>>2]=c[q+0>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];t=c[a+12>>2]|0;c[t+(o<<4)>>2]=m;c[t+(o<<4)+4>>2]=l;c[t+(o<<4)+8>>2]=r;c[t+(o<<4)+12>>2]=s;k=k+1|0;o=o+ -1|0}if((k|0)>(o|0))break;g=c[a+12>>2]|0}if((o|0)>(b|0))es(a,b,o);if((k|0)<(d|0))b=k;else break}i=e;return}function fs(a,c,d,e,f,h){a=a|0;c=c|0;d=+d;e=+e;f=+f;h=h|0;var j=0,k=0;j=i;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)){k=b[a+6>>1]|0;if(!(d>=+(k&65535|0))){k=b[a+4>>1]&(~~d&65535)&65535|h;break}else{k=b[a+4>>1]&k&65535|h;break}}else k=h;while(0);b[c>>1]=k;do if(!(e<=0.0)){k=b[a+6>>1]|0;if(!(e>=+(k&65535|0))){k=b[a+4>>1]&(~~e&65535)&65535|h;break}else{k=b[a+4>>1]&k&65535|h;break}}else k=h;while(0);b[c+2>>1]=k;if(f<=0.0){h=h&65535;k=c+4|0;b[k>>1]=h;i=j;return}k=b[a+6>>1]|0;if(!(f>=+(k&65535|0))){h=b[a+4>>1]&(~~f&65535)&65535|h;h=h&65535;k=c+4|0;b[k>>1]=h;i=j;return}else{h=b[a+4>>1]&k&65535|h;h=h&65535;k=c+4|0;b[k>>1]=h;i=j;return}}function gs(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;p=c[a+(d<<2)+68>>2]|0;g=c[a+60>>2]|0;h=e[p+((f&65535)<<2)+2>>1]|0;n=b[p+((f&65535)+ -1<<2)>>1]|0;if(!((e[p+((f&65535)<<2)>>1]|0)<(n&65535))){i=l;return}m=g;o=p+((f&65535)<<2)|0;p=p+((f&65535)+ -1<<2)|0;while(1){f=e[p+2>>1]|0;if((n&1)==0){f=m+(f<<6)+(d<<1)+48|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16}else{if(((((e[g+(h<<6)+((1<>1]|0)>=(e[m+(f<<6)+((1<>1]|0)?(e[m+(f<<6)+((1<>1]|0)>=(e[g+(h<<6)+((1<>1]|0):0)?(e[g+(h<<6)+((1<<(1<>1]|0)>=(e[m+(f<<6)+((1<<(1<>1]|0):0)?(e[m+(f<<6)+((1<<(1<>1]|0)>=(e[g+(h<<6)+((1<<(1<>1]|0):0)?(j=c[a+92>>2]|0,k=m+(f<<6)|0,Yb[c[(c[j>>2]|0)+8>>2]&31](j,g+(h<<6)|0,k)|0,j=c[a+96>>2]|0,(j|0)!=0):0)Yb[c[(c[j>>2]|0)+8>>2]&31](j,g+(h<<6)|0,k)|0;f=m+(f<<6)+(d<<1)+54|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16}b[g+(h<<6)+(d<<1)+48>>1]=(b[g+(h<<6)+(d<<1)+48>>1]|0)+ -1<<16>>16;n=e[o>>1]|e[o+2>>1]<<16;f=e[p>>1]|e[p+2>>1]<<16;b[o>>1]=f;b[o+2>>1]=f>>>16;b[p>>1]=n;b[p+2>>1]=n>>>16;o=o+ -4|0;p=p+ -4|0;n=b[p>>1]|0;if(!((e[o>>1]|0)<(n&65535)))break;m=c[a+60>>2]|0}i=l;return}function hs(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;q=c[a+(d<<2)+68>>2]|0;o=b[q+((f&65535)+ -1<<2)>>1]|0;if(!((e[q+((f&65535)<<2)>>1]|0)<(o&65535))){i=j;return}n=c[a+60>>2]|0;h=n+((e[q+((f&65535)<<2)+2>>1]|0)<<6)+(d<<1)+54|0;p=q+((f&65535)<<2)|0;q=q+((f&65535)+ -1<<2)|0;while(1){f=e[q+2>>1]|0;if((o&1)==0){o=e[p+2>>1]|0;if(((((e[n+(o<<6)+((1<>1]|0)>=(e[n+(f<<6)+((1<>1]|0)?(e[n+(f<<6)+((1<>1]|0)>=(e[n+(o<<6)+((1<>1]|0):0)?(e[n+(o<<6)+((1<<(1<>1]|0)>=(e[n+(f<<6)+((1<<(1<>1]|0):0)?(e[n+(f<<6)+((1<<(1<>1]|0)>=(e[n+(o<<6)+((1<<(1<>1]|0):0)?(l=c[a+92>>2]|0,m=n+(o<<6)|0,k=n+(f<<6)|0,Tb[c[(c[l>>2]|0)+12>>2]&31](l,m,k,g)|0,l=c[a+96>>2]|0,(l|0)!=0):0)Tb[c[(c[l>>2]|0)+12>>2]&31](l,m,k,g)|0;f=n+(f<<6)+(d<<1)+48|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16}else{f=n+(f<<6)+(d<<1)+54|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16}b[h>>1]=(b[h>>1]|0)+ -1<<16>>16;o=e[p>>1]|e[p+2>>1]<<16;f=e[q>>1]|e[q+2>>1]<<16;b[p>>1]=f;b[p+2>>1]=f>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;p=p+ -4|0;q=q+ -4|0;o=b[q>>1]|0;if(!((e[p>>1]|0)<(o&65535)))break;n=c[a+60>>2]|0}i=j;return}function is(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=5216;if((c[b+108>>2]|0)!=0){e=c[b+112>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+112>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+108>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+108>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}}e=c[b+88>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+84>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+80>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+60>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}if((a[b+100>>0]|0)==0){i=d;return}e=c[b+92>>2]|0;Lb[c[c[e>>2]>>2]&511](e);b=c[b+92>>2]|0;if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function js(a){a=a|0;var b=0;b=i;is(a);i=b;return}function ks(a){a=a|0;var b=0;b=i;is(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function ls(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=5280;e=c[b+16>>2]|0;if((e|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function ms(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=5280;e=c[b+16>>2]|0;if((e|0)!=0?(a[b+20>>0]|0)!=0:0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}YE(b);i=d;return}function ns(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function os(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ps(a,b,c){a=a|0;b=b|0;c=c|0;return}function qs(a){a=a|0;return c[a+16>>2]|0}function rs(a){a=a|0;return c[a+16>>2]|0}function ss(a){a=a|0;return a+4|0}function ts(a,b,c){a=a|0;b=b|0;c=c|0;return}function us(a){a=a|0;return 0}function vs(a,b,c){a=a|0;b=b|0;c=c|0;return}function ws(a,b){a=a|0;b=b|0;return}function xs(a,b,c){a=a|0;b=b|0;c=c|0;return}function ys(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function zs(a){a=a|0;return 1}function As(a,b){a=a|0;b=b|0;return}function Bs(a,b){a=a|0;b=b|0;return}function Cs(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.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;f=i;k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=k+ +g[a+28>>2];m=k+ +g[a+32>>2];k=k+ +g[a+36>>2];w=+P(+(+g[b>>2]));v=+P(+(+g[b+4>>2]));u=+P(+(+g[b+8>>2]));s=+P(+(+g[b+16>>2]));r=+P(+(+g[b+20>>2]));q=+P(+(+g[b+24>>2]));n=+P(+(+g[b+32>>2]));l=+P(+(+g[b+36>>2]));j=+P(+(+g[b+40>>2]));t=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function Ds(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.0;e=i;k=+g[a+28>>2];h=+g[a+32>>2];l=+g[a+36>>2];j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=+$b[c[(c[a>>2]|0)+48>>2]&15](a);l=(l+ +$b[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((h+f)*2.0*(h+f)*2.0+l*l);g[d+4>>2]=b/12.0*((k+j)*2.0*(k+j)*2.0+l*l);g[d+8>>2]=b/12.0*((k+j)*2.0*(k+j)*2.0+(h+f)*2.0*(h+f)*2.0);g[d+12>>2]=0.0;i=e;return}function Es(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)==0){i=b;return}Lb[c[c[d>>2]>>2]&511](d);a=c[a+52>>2]|0;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Fs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)!=0){Lb[c[c[d>>2]>>2]&511](d);d=c[a+52>>2]|0;if((d|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}if((a|0)==0){i=b;return}}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Gs(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,n=0.0,o=0.0;d=i;m=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));f=+P(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function Hs(a){a=a|0;return 5608}function Is(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);b=k- +$b[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function Js(a){a=a|0;return+(+g[a+44>>2])}function Ks(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;k=+g[b+28>>2];l=+g[b+32>>2];f=+g[b+36>>2];j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);h=+$b[c[(c[b>>2]|0)+48>>2]&15](b);f=f+ +$b[c[(c[b>>2]|0)+48>>2]&15](b);h=+g[d+4>>2]>=0.0?l+h:-(l+h);f=+g[d+8>>2]>=0.0?f:-f;g[a>>2]=+g[d>>2]>=0.0?k+j:-(k+j);g[a+4>>2]=h;g[a+8>>2]=f;g[a+12>>2]=0.0;i=e;return}function Ls(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 Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0;e=i;if((d|0)<=0){i=e;return}f=0;do{k=+g[a+28>>2];j=+g[a+32>>2];j=+g[b+(f<<4)+4>>2]>=0.0?j:-j;h=+g[a+36>>2];h=+g[b+(f<<4)+8>>2]>=0.0?h:-h;g[c+(f<<4)>>2]=+g[b+(f<<4)>>2]>=0.0?k:-k;g[c+(f<<4)+4>>2]=j;g[c+(f<<4)+8>>2]=h;g[c+(f<<4)+12>>2]=0.0;f=f+1|0}while((f|0)!=(d|0));i=e;return}function Ns(a){a=a|0;return 6}function Os(a,b,c){a=a|0;b=b|0;c=c|0;a=i;switch(b|0){case 3:{g[c>>2]=0.0;g[c+4>>2]=-1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return};case 2:{g[c>>2]=0.0;g[c+4>>2]=1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return};case 1:{g[c>>2]=-1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return};case 4:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=1.0;g[c+12>>2]=0.0;i=a;return};case 0:{g[c>>2]=1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return};case 5:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=-1.0;g[c+12>>2]=0.0;i=a;return};default:{i=a;return}}}function Ps(a){a=a|0;return 8}function Qs(a){a=a|0;return 12}function Rs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;do switch(b|0){case 7:{g=3;break};case 1:{g=0;b=2;break};case 6:{g=2;break};case 3:{g=2;break};case 0:{g=0;b=1;break};case 11:{g=6;b=7;break};case 8:{g=4;b=5;break};case 10:{g=5;b=7;break};case 4:{g=0;break};case 2:{g=1;b=3;break};case 9:{g=4;b=6;break};case 5:{g=1;break};default:{g=0;b=0}}while(0);rc[c[(c[a>>2]|0)+108>>2]&127](a,g,d);rc[c[(c[a>>2]|0)+108>>2]&127](a,b,e);i=f;return}function Ss(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;l=+g[a+28>>2];j=+g[a+32>>2];f=+g[a+36>>2];k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=f+ +$b[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(l+k)- +(b&1|0)*(l+k);g[d+4>>2]=+(b>>>1&1^1|0)*(j+h)- +(b>>>1&1|0)*(j+h);g[d+8>>2]=+(b>>>2&1^1|0)*f- +(b>>>2&1|0)*f;g[d+12>>2]=0.0;i=e;return}function Ts(a){a=a|0;return 6}function Us(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;f=i;i=i+48|0;rc[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);k=+g[f+32>>2];j=+g[f+36>>2];h=+g[f+40>>2];g[b>>2]=k;g[b+4>>2]=j;g[b+8>>2]=h;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;g[f>>2]=-k;g[f+4>>2]=-j;g[f+8>>2]=-h;g[f+12>>2]=0.0;rc[e&127](f+16|0,a,f);c[d+0>>2]=c[f+16>>2];c[d+4>>2]=c[f+20>>2];c[d+8>>2]=c[f+24>>2];c[d+12>>2]=c[f+28>>2];i=f;return}function Vs(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0,l=0.0;d=i;k=+g[a+28>>2];e=+g[a+32>>2];j=+g[a+36>>2];l=+g[b>>2];if((((l<=k+c?l>=-k-c:0)?(h=+g[b+4>>2],h<=e+c):0)?h>=-e-c:0)?(f=+g[b+8>>2],f<=j+c):0)b=f>=-j-c;else b=0;i=d;return b|0}function Ws(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0;d=i;f=+g[a+28>>2];e=+g[a+32>>2];h=+g[a+36>>2];switch(c|0){case 2:{g[b>>2]=0.0;g[b+4>>2]=1.0;g[b+8>>2]=0.0;g[b+12>>2]=-e;i=d;return};case 3:{g[b>>2]=0.0;g[b+4>>2]=-1.0;g[b+8>>2]=0.0;g[b+12>>2]=-e;i=d;return};case 1:{g[b>>2]=-1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-f;i=d;return};case 0:{g[b>>2]=1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-f;i=d;return};case 4:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=1.0;g[b+12>>2]=-h;i=d;return};case 5:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=-1.0;g[b+12>>2]=-h;i=d;return};default:{i=d;return}}}function Xs(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]=17416;c[b+48>>2]=d;c[b+4>>2]=21;if(Pb[c[(c[d>>2]|0)+40>>2]&127](d)|0)rc[c[(c[d>>2]|0)+48>>2]&127](d,b+16|0,b+32|0);else{c[h+32>>2]=0;c[h+36>>2]=0;c[h+40>>2]=0;c[h+44>>2]=0;g[h+32>>2]=1.0;rc[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;rc[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h+0>>2];c[h+20>>2]=c[h+4>>2];c[h+24>>2]=c[h+8>>2];c[h+28>>2]=c[h+12>>2];g[b+16>>2]=+g[h+16>>2]- +g[b+12>>2];c[h+32>>2]=0;c[h+36>>2]=0;c[h+40>>2]=0;c[h+44>>2]=0;g[h+36>>2]=1.0;rc[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+36>>2]=+g[h+20>>2]+ +g[b+12>>2];g[h+36>>2]=-1.0;rc[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h+0>>2];c[h+20>>2]=c[h+4>>2];c[h+24>>2]=c[h+8>>2];c[h+28>>2]=c[h+12>>2];g[b+20>>2]=+g[h+20>>2]- +g[b+12>>2];c[h+32>>2]=0;c[h+36>>2]=0;c[h+40>>2]=0;c[h+44>>2]=0;g[h+40>>2]=1.0;rc[c[(c[b>>2]|0)+68>>2]&127](h+16|0,b,h+32|0);g[b+40>>2]=+g[h+24>>2]+ +g[b+12>>2];g[h+40>>2]=-1.0;rc[c[(c[b>>2]|0)+68>>2]&127](h,b,h+32|0);c[h+16>>2]=c[h+0>>2];c[h+20>>2]=c[h+4>>2];c[h+24>>2]=c[h+8>>2];c[h+28>>2]=c[h+12>>2];g[b+24>>2]=+g[h+24>>2]- +g[b+12>>2]}c[b>>2]=5624;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[5004]=(c[5004]|0)+1;e=XE(191)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-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;g[e+4>>2]=-3.4028234663852886e+38;g[e+8>>2]=-3.4028234663852886e+38;g[e+12>>2]=-3.4028234663852886e+38;g[e+16>>2]=0.0;g[e+20>>2]=3.4028234663852886e+38;g[e+24>>2]=3.4028234663852886e+38;g[e+28>>2]=3.4028234663852886e+38;g[e+32>>2]=0.0;c[e>>2]=14880;c[b+52>>2]=e;Fz(e,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 Ys(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=5624;if((a[b+61>>0]|0)!=0){e=c[b+52>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+52>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}if((b|0)==0){i=d;return}}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Zs(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=5624;if((a[b+61>>0]|0)==0){i=d;return}e=c[b+52>>2]|0;Lb[c[c[e>>2]>>2]&511](e);b=c[b+52>>2]|0;if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function _s(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;k=i;i=i+80|0;w=c[d+48>>2]|0;c[k>>2]=5808;c[k+4>>2]=w;c[k+8>>2]=f;f=c[d+52>>2]|0;if((a[f+60>>0]|0)==0){n=c[f+56>>2]|0;a:do if((n|0)>0){m=0;l=c[f+96>>2]|0;d=1;while(1){if(!(+g[h>>2]>+g[l+16>>2])?!(+g[j>>2]<+g[l>>2]):0)r=1;else r=0;if(!(!(+g[h+8>>2]>+g[l+24>>2])?!(+g[j+8>>2]<+g[l+8>>2]):0))r=0;if(!(+g[h+4>>2]>+g[l+20>>2])?!(+g[j+4>>2]<+g[l+4>>2]):0){q=c[l+32>>2]|0;if((q|0)==-1&r){rc[c[(c[k>>2]|0)+8>>2]&127](k,c[l+36>>2]|0,c[l+40>>2]|0);n=c[f+56>>2]|0;o=44}else{p=(q|0)==-1;o=43}}else{q=c[l+32>>2]|0;p=(q|0)==-1;r=0;o=43}if((o|0)==43){o=0;if(r|p)o=44;else{m=q+m|0;l=l+(q<<6)|0}}if((o|0)==44){m=m+1|0;l=l+64|0}if((m|0)>=(n|0))break a;d=d+1|0}}else d=0;while(0);if((c[4028]|0)>=(d|0)){i=k;return}c[4028]=d;i=k;return}z=+g[h>>2];D=+g[h+4>>2];H=+g[h+8>>2];G=+g[f+4>>2];z=z>2];D=D>2];H=H>2];E=+g[f+24>>2];A=+g[f+28>>2];F=+g[f+36>>2];B=+g[f+40>>2];x=+g[f+44>>2];h=~~(((I>1]=h;l=~~(((E>1]=l;d=~~(((A>1]=d;H=+g[j>>2];D=+g[j+4>>2];z=+g[j+8>>2];H=H>1]=j;n=(~~(((E>1]=n;m=(~~(((A>1]=m;o=c[f+144>>2]|0;if((o|0)==1){if((c[f+152>>2]|0)<=0){i=k;return}o=0;do{q=c[f+160>>2]|0;if(((j&65535)>=(e[q+(o<<5)>>1]|0)?(h&65535)<=(e[q+(o<<5)+6>>1]|0):0)&(d&65535)<=(e[q+(o<<5)+10>>1]|0)&(m&65535)>=(e[q+(o<<5)+4>>1]|0)&(l&65535)<=(e[q+(o<<5)+8>>1]|0)&(n&65535)>=(e[q+(o<<5)+2>>1]|0)){p=c[q+(o<<5)+12>>2]|0;r=c[q+(o<<5)+16>>2]|0;b:do if((r|0)>0){t=p;s=(c[f+136>>2]|0)+(p<<4)|0;q=1;while(1){u=((j&65535)>=(e[s>>1]|0)?(h&65535)<=(e[s+6>>1]|0):0)&(d&65535)<=(e[s+10>>1]|0)&(m&65535)>=(e[s+4>>1]|0)&(l&65535)<=(e[s+8>>1]|0)&(n&65535)>=(e[s+2>>1]|0);v=s+12|0;w=c[v>>2]|0;if((w|0)>-1&u)rc[c[(c[k>>2]|0)+8>>2]&127](k,w>>21,w&2097151);if(u|(w|0)>-1){t=t+1|0;s=s+16|0}else{w=c[v>>2]|0;t=t-w|0;s=s+(0-w<<4)|0}if((t|0)>=(r+p|0))break b;q=q+1|0}}else q=0;while(0);if((c[4028]|0)<(q|0))c[4028]=q}o=o+1|0}while((o|0)<(c[f+152>>2]|0));i=k;return}else if((o|0)==2){DA(c[f+136>>2]|0,k,k+66|0,k+60|0);i=k;return}else if((o|0)==0){o=c[f+56>>2]|0;c:do if((o|0)>0){p=0;q=c[f+136>>2]|0;f=1;while(1){s=((j&65535)>=(e[q>>1]|0)?(h&65535)<=(e[q+6>>1]|0):0)&(d&65535)<=(e[q+10>>1]|0)&(m&65535)>=(e[q+4>>1]|0)&(l&65535)<=(e[q+8>>1]|0)&(n&65535)>=(e[q+2>>1]|0);r=q+12|0;t=c[r>>2]|0;if((t|0)>-1&s)rc[c[(c[k>>2]|0)+8>>2]&127](k,t>>21,t&2097151);if(s|(t|0)>-1){p=p+1|0;q=q+16|0}else{w=c[r>>2]|0;p=p-w|0;q=q+(0-w<<4)|0}if((p|0)>=(o|0))break c;f=f+1|0}}else f=0;while(0);if((c[4028]|0)>=(f|0)){i=k;return}c[4028]=f;i=k;return}else{i=k;return}}function $s(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0;e=i;l=Pb[c[(c[b>>2]|0)+28>>2]&127](b)|0;k=+g[l>>2]- +g[d>>2];j=+g[l+4>>2]- +g[d+4>>2];h=+g[l+8>>2]- +g[d+8>>2];if(!(k*k+j*j+h*h>1.1920928955078125e-7)){i=e;return}ZB(b,d);if((a[b+61>>0]|0)!=0?(f=c[b+52>>2]|0,Lb[c[c[f>>2]>>2]&511](f),f=c[b+52>>2]|0,(f|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[5004]=(c[5004]|0)+1;f=XE(191)|0;if((f|0)==0)f=0;else{c[(f+19&-16)+ -4>>2]=f;f=f+19&-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;g[f+4>>2]=-3.4028234663852886e+38;g[f+8>>2]=-3.4028234663852886e+38;g[f+12>>2]=-3.4028234663852886e+38;g[f+16>>2]=0.0;g[f+20>>2]=3.4028234663852886e+38;g[f+24>>2]=3.4028234663852886e+38;g[f+28>>2]=3.4028234663852886e+38;g[f+32>>2]=0.0;c[f>>2]=14880;c[b+52>>2]=f;Fz(f,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;i=e;return}function at(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;e=i;h=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;j=gc[c[(c[d>>2]|0)+28>>2]&31](d,h)|0;c[b>>2]=j;if((j|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,h);c[b+4>>2]=c[a+4>>2];j=c[a+48>>2]|0;Yb[c[(c[j>>2]|0)+56>>2]&31](j,b+12|0,d)|0;g[b+52>>2]=+g[a+12>>2];do if((c[a+52>>2]|0)!=0?((Pb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){h=gc[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if((h|0)==0){c[b+40>>2]=gc[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;h=c[a+52>>2]|0;h=Pb[c[(c[h>>2]|0)+12>>2]&127](h)|0;h=Yb[c[(c[d>>2]|0)+16>>2]&31](d,h,1)|0;j=c[a+52>>2]|0;j=Yb[c[(c[j>>2]|0)+16>>2]&31](j,c[h+8>>2]|0,d)|0;Jb[c[(c[d>>2]|0)+20>>2]&31](d,h,j,1213612625,c[a+52>>2]|0);break}else{c[b+40>>2]=h;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)!=0?((Pb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){f=gc[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if((f|0)==0){c[b+48>>2]=gc[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;h=c[a+56>>2]|0;h=Pb[c[(c[h>>2]|0)+8>>2]&127](h)|0;h=Yb[c[(c[d>>2]|0)+16>>2]&31](d,h,1)|0;j=c[a+56>>2]|0;j=Yb[c[(c[j>>2]|0)+12>>2]&31](j,c[h+8>>2]|0,d)|0;Jb[c[(c[d>>2]|0)+20>>2]&31](d,h,j,1346456916,c[a+56>>2]|0);i=e;return 5712}else{c[b+48>>2]=f;i=e;return 5712}}c[b+48>>2]=0;i=e;return 5712}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a+52>>2]|0;if((e|0)==0){i=d;return}f=Pb[c[(c[e>>2]|0)+12>>2]&127](e)|0;f=Yb[c[(c[b>>2]|0)+16>>2]&31](b,f,1)|0;e=c[a+52>>2]|0;e=Yb[c[(c[e>>2]|0)+16>>2]&31](e,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1213612625,c[a+52>>2]|0);i=d;return}function ct(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a+56>>2]|0;if((e|0)==0){i=d;return}f=Pb[c[(c[e>>2]|0)+8>>2]&127](e)|0;f=Yb[c[(c[b>>2]|0)+16>>2]&31](b,f,1)|0;e=c[a+56>>2]|0;e=Yb[c[(c[e>>2]|0)+12>>2]&31](e,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1346456916,c[a+56>>2]|0);i=d;return}function dt(a){a=a|0;return 5784}function et(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function ft(a){a=a|0;return+(+g[a+12>>2])}function gt(a){a=a|0;return 60}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=e;return}function it(a){a=a|0;return}function jt(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function kt(a,b,f){a=a|0;b=b|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;o=i;i=i+32|0;l=c[a+4>>2]|0;fc[c[(c[l>>2]|0)+16>>2]&3](l,o+28|0,o+24|0,o+20|0,o+16|0,o+12|0,o+8|0,o+4|0,o,b);l=c[o+12>>2]|0;m=aa(c[o+8>>2]|0,f)|0;k=c[a+4>>2]|0;n=c[o>>2]|0;j=2;while(1){if((n|0)==2)q=c[l+m+(j<<2)>>2]|0;else if((n|0)==3)q=e[l+m+(j<<1)>>1]|0;else q=d[l+(j+m)>>0]|0;p=c[o+28>>2]|0;q=aa(c[o+16>>2]|0,q)|0;if((c[o+20>>2]|0)==0){s=+g[p+(q+4)>>2]*+g[k+8>>2];r=+g[p+(q+8)>>2]*+g[k+12>>2];g[a+(j<<4)+12>>2]=+g[p+q>>2]*+g[k+4>>2];g[a+(j<<4)+16>>2]=s;g[a+(j<<4)+20>>2]=r;g[a+(j<<4)+24>>2]=0.0}else{r=+h[p+(q+8)>>3]*+g[k+8>>2];s=+h[p+(q+16)>>3]*+g[k+12>>2];g[a+(j<<4)+12>>2]=+h[p+q>>3]*+g[k+4>>2];g[a+(j<<4)+16>>2]=r;g[a+(j<<4)+20>>2]=s;g[a+(j<<4)+24>>2]=0.0}if((j|0)>0)j=j+ -1|0;else break}q=c[a+8>>2]|0;vc[c[(c[q>>2]|0)+8>>2]&127](q,a+12|0,b,f);q=c[a+4>>2]|0;Nb[c[(c[q>>2]|0)+24>>2]&127](q,b);i=o;return}function lt(a){a=a|0;return}function mt(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;n=i;i=i+80|0;l=c[a+4>>2]|0;fc[c[(c[l>>2]|0)+16>>2]&3](l,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0,n,b);l=c[n+12>>2]|0;k=aa(c[n+8>>2]|0,d)|0;f=c[a+4>>2]|0;m=(c[n+20>>2]|0)==0;j=c[n+28>>2]|0;if((c[n>>2]|0)!=3){o=c[n+16>>2]|0;p=aa(o,c[l+(k+8)>>2]|0)|0;if(m){s=+g[j+(p+4)>>2]*+g[f+8>>2];r=+g[j+(p+8)>>2]*+g[f+12>>2];g[n+64>>2]=+g[j+p>>2]*+g[f+4>>2];g[n+68>>2]=s;g[n+72>>2]=r;g[n+76>>2]=0.0;q=aa(o,c[l+(k+4)>>2]|0)|0;r=+g[j+(q+4)>>2]*+g[f+8>>2];s=+g[j+(q+8)>>2]*+g[f+12>>2];g[n+48>>2]=+g[j+q>>2]*+g[f+4>>2];g[n+52>>2]=r;g[n+56>>2]=s;g[n+60>>2]=0.0;q=aa(o,c[l+k>>2]|0)|0;s=+g[j+(q+4)>>2]*+g[f+8>>2];r=+g[j+(q+8)>>2]*+g[f+12>>2];g[n+32>>2]=+g[j+q>>2]*+g[f+4>>2];g[n+36>>2]=s;g[n+40>>2]=r;g[n+44>>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;vc[p&127](q,n+32|0,b,d);q=c[a+4>>2]|0;p=c[q>>2]|0;p=p+24|0;p=c[p>>2]|0;Nb[p&127](q,b);i=n;return}else{r=+h[j+(p+8)>>3]*+g[f+8>>2];s=+h[j+(p+16)>>3]*+g[f+12>>2];g[n+64>>2]=+h[j+p>>3]*+g[f+4>>2];g[n+68>>2]=r;g[n+72>>2]=s;g[n+76>>2]=0.0;q=aa(o,c[l+(k+4)>>2]|0)|0;s=+h[j+(q+8)>>3]*+g[f+8>>2];r=+h[j+(q+16)>>3]*+g[f+12>>2];g[n+48>>2]=+h[j+q>>3]*+g[f+4>>2];g[n+52>>2]=s;g[n+56>>2]=r;g[n+60>>2]=0.0;q=aa(o,c[l+k>>2]|0)|0;r=+h[j+(q+8)>>3]*+g[f+8>>2];s=+h[j+(q+16)>>3]*+g[f+12>>2];g[n+32>>2]=+h[j+q>>3]*+g[f+4>>2];g[n+36>>2]=r;g[n+40>>2]=s;g[n+44>>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;vc[p&127](q,n+32|0,b,d);q=c[a+4>>2]|0;p=c[q>>2]|0;p=p+24|0;p=c[p>>2]|0;Nb[p&127](q,b);i=n;return}}o=c[n+16>>2]|0;p=2;while(1){q=aa(o,e[l+k+(p<<1)>>1]|0)|0;if(m){r=+g[j+(q+4)>>2]*+g[f+8>>2];s=+g[j+(q+8)>>2]*+g[f+12>>2];g[n+32+(p<<4)>>2]=+g[j+q>>2]*+g[f+4>>2];g[n+32+(p<<4)+4>>2]=r;g[n+32+(p<<4)+8>>2]=s;g[n+32+(p<<4)+12>>2]=0.0}else{r=+h[j+(q+8)>>3]*+g[f+8>>2];s=+h[j+(q+16)>>3]*+g[f+12>>2];g[n+32+(p<<4)>>2]=+h[j+q>>3]*+g[f+4>>2];g[n+32+(p<<4)+4>>2]=r;g[n+32+(p<<4)+8>>2]=s;g[n+32+(p<<4)+12>>2]=0.0}if((p|0)>0)p=p+ -1|0;else break}q=a+8|0;q=c[q>>2]|0;p=c[q>>2]|0;p=p+8|0;p=c[p>>2]|0;vc[p&127](q,n+32|0,b,d);q=c[a+4>>2]|0;p=c[q>>2]|0;p=p+24|0;p=c[p>>2]|0;Nb[p&127](q,b);i=n;return}function ot(a){a=a|0;return}function pt(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function qt(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;n=i;i=i+80|0;m=c[a+4>>2]|0;fc[c[(c[m>>2]|0)+16>>2]&3](m,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0,n,b);m=(c[n+12>>2]|0)+(aa(c[n+8>>2]|0,d)|0)|0;k=c[a+4>>2]|0;f=(c[n>>2]|0)==3;l=(c[n+20>>2]|0)==0;j=c[n+28>>2]|0;o=2;while(1){if(f)p=e[m+(o<<1)>>1]|0;else p=c[m+(o<<2)>>2]|0;p=aa(c[n+16>>2]|0,p)|0;if(l){r=+g[j+(p+4)>>2]*+g[k+8>>2];q=+g[j+(p+8)>>2]*+g[k+12>>2];g[n+32+(o<<4)>>2]=+g[j+p>>2]*+g[k+4>>2];g[n+32+(o<<4)+4>>2]=r;g[n+32+(o<<4)+8>>2]=q;g[n+32+(o<<4)+12>>2]=0.0}else{q=+h[j+(p+8)>>3]*+g[k+8>>2];r=+h[j+(p+16)>>3]*+g[k+12>>2];g[n+32+(o<<4)>>2]=+h[j+p>>3]*+g[k+4>>2];g[n+32+(o<<4)+4>>2]=q;g[n+32+(o<<4)+8>>2]=r;g[n+32+(o<<4)+12>>2]=0.0}if((o|0)>0)o=o+ -1|0;else break}p=c[a+8>>2]|0;vc[c[(c[p>>2]|0)+8>>2]&127](p,n+32|0,b,d);p=c[a+4>>2]|0;Nb[c[(c[p>>2]|0)+24>>2]&127](p,b);i=n;return}function rt(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;e=i;i=i+32|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];if(f*f+h*h+j*j<9999999747378752.0e-20){f=1.0;h=0.0;j=0.0}else{q=1.0/+Q(+(f*f+h*h+j*j));f=f*q;h=h*q;j=j*q}d=c[b+52>>2]|0;m=+g[b+(((d+2|0)%3|0)<<2)+28>>2];c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;g[e+16+(d<<2)>>2]=+g[b+(d<<2)+28>>2];l=f*m;k=h*m;m=j*m;q=l+ +g[e+16>>2];n=k+ +g[e+20>>2];o=m+ +g[e+24>>2];p=+$b[c[(c[b>>2]|0)+48>>2]&15](b);q=q-f*p;n=n-h*p;p=o-j*p;o=j*p+(f*q+h*n);if(o>-999999984306749400.0){g[a>>2]=q;g[a+4>>2]=n;g[a+8>>2]=p;g[a+12>>2]=0.0}else o=-999999984306749400.0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;d=c[b+52>>2]|0;g[e+(d<<2)>>2]=-+g[b+(d<<2)+28>>2];l=l+ +g[e>>2];k=k+ +g[e+4>>2];q=m+ +g[e+8>>2];m=+$b[c[(c[b>>2]|0)+48>>2]&15](b);l=l-f*m;k=k-h*m;m=q-j*m;if(!(j*m+(f*l+h*k)>o)){i=e;return}g[a>>2]=l;g[a+4>>2]=k;g[a+8>>2]=m;g[a+12>>2]=0.0;i=e;return}function st(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.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;f=i;i=i+32|0;k=c[a+52>>2]|0;h=+g[a+(((k+2|0)%3|0)<<2)+28>>2];if((e|0)<=0){i=f;return}j=0;while(1){m=a+(k<<2)+28|0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;g[f+16+(k<<2)>>2]=+g[m>>2];m=b+(j<<4)|0;l=b+(j<<4)+4|0;k=b+(j<<4)+8|0;u=h*+g[m>>2]+ +g[f+16>>2];s=h*+g[l>>2]+ +g[f+20>>2];q=h*+g[k>>2]+ +g[f+24>>2];w=+$b[c[(c[a>>2]|0)+48>>2]&15](a);t=+g[m>>2];r=+g[l>>2];v=+g[k>>2];if(t*(u-w*t)+r*(s-w*r)+v*(q-w*v)>-999999984306749400.0){g[d+(j<<4)>>2]=u-w*t;g[d+(j<<4)+4>>2]=s-w*r;g[d+(j<<4)+8>>2]=q-w*v;g[d+(j<<4)+12>>2]=0.0;p=+g[m>>2];o=+g[l>>2];n=+g[k>>2];q=t*(u-w*t)+r*(s-w*r)+v*(q-w*v)}else{p=t;o=r;n=v;q=-999999984306749400.0}c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;x=c[a+52>>2]|0;g[f+(x<<2)>>2]=-+g[a+(x<<2)+28>>2];p=h*p+ +g[f>>2];o=h*o+ +g[f+4>>2];r=h*n+ +g[f+8>>2];n=+$b[c[(c[a>>2]|0)+48>>2]&15](a);s=+g[m>>2];t=+g[l>>2];u=+g[k>>2];if(s*(p-n*s)+t*(o-n*t)+u*(r-n*u)>q){g[d+(j<<4)>>2]=p-n*s;g[d+(j<<4)+4>>2]=o-n*t;g[d+(j<<4)+8>>2]=r-n*u;g[d+(j<<4)+12>>2]=0.0}j=j+1|0;if((j|0)==(e|0))break;k=c[a+52>>2]|0}i=f;return}function tt(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+16|0;k=c[a+52>>2]|0;h=+g[a+(((k+2|0)%3|0)<<2)+28>>2];g[e>>2]=h;g[e+4>>2]=h;g[e+8>>2]=h;g[e+12>>2]=0.0;g[e+(k<<2)>>2]=+g[a+(k<<2)+28>>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 ut(a){a=a|0;return}function vt(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function wt(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.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;f=i;i=i+16|0;x=c[a+52>>2]|0;k=+g[a+(((x+2|0)%3|0)<<2)+28>>2];g[f>>2]=k;g[f+4>>2]=k;g[f+8>>2]=k;g[f+12>>2]=0.0;g[f+(x<<2)>>2]=k+ +g[a+(x<<2)+28>>2];k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);n=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +g[f>>2];g[f>>2]=k;h=h+ +g[f+4>>2];g[f+4>>2]=h;n=n+ +g[f+8>>2];u=+P(+(+g[b>>2]));t=+P(+(+g[b+4>>2]));v=+P(+(+g[b+8>>2]));q=+P(+(+g[b+16>>2]));p=+P(+(+g[b+20>>2]));r=+P(+(+g[b+24>>2]));l=+P(+(+g[b+32>>2]));j=+P(+(+g[b+36>>2]));m=+P(+(+g[b+40>>2]));w=+g[b+48>>2];s=+g[b+52>>2];o=+g[b+56>>2];g[d>>2]=w-(n*v+(u*k+t*h));g[d+4>>2]=s-(n*r+(q*k+p*h));g[d+8>>2]=o-(n*m+(l*k+j*h));g[d+12>>2]=0.0;g[e>>2]=w+(n*v+(u*k+t*h));g[e+4>>2]=s+(n*r+(q*k+p*h));g[e+8>>2]=o+(n*m+(l*k+j*h));g[e+12>>2]=0.0;i=f;return}function xt(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,n=0.0,o=0.0;d=i;m=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));f=+P(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function yt(a){a=a|0;return 6776}function zt(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+0>>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;i=d;return}function At(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);b=k- +$b[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function Bt(a){a=a|0;return 60}function Ct(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=h;if((h|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];i=e;return 6752}function Dt(a){a=a|0;return}function Et(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Ft(a){a=a|0;return 6736}function Gt(a){a=a|0;return}function Ht(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function It(a){a=a|0;return 6720}function Jt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0;e=i;i=i+80|0;f=c[c[a>>2]>>2]|0;h=c[c[a+4>>2]>>2]|0;if(!(Yb[c[(c[b>>2]|0)+24>>2]&31](b,f,h)|0)){i=e;return}j=c[f+192>>2]|0;c[e+56>>2]=0;c[e+60>>2]=j;c[e+64>>2]=f;c[e+68>>2]=f+4;c[e+72>>2]=-1;c[e+76>>2]=-1;j=c[h+192>>2]|0;c[e+32>>2]=0;c[e+36>>2]=j;c[e+40>>2]=h;c[e+44>>2]=h+4;c[e+48>>2]=-1;c[e+52>>2]=-1;j=c[a+8>>2]|0;if((j|0)==0){j=Tb[c[(c[b>>2]|0)+8>>2]&31](b,e+56|0,e+32|0,0)|0;c[a+8>>2]=j;if((j|0)==0){i=e;return}}c[e>>2]=13504;c[e+4>>2]=0;c[e+8>>2]=e+56;c[e+12>>2]=e+32;if((c[d+8>>2]|0)==1){Jb[c[(c[j>>2]|0)+8>>2]&31](j,e+56|0,e+32|0,d,e);i=e;return}k=+Xb[c[(c[j>>2]|0)+12>>2]&15](j,f,h,d,e);if(!(+g[d+12>>2]>k)){i=e;return}g[d+12>>2]=k;i=e;return}function Kt(a){a=a|0;return}function Lt(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=6808;e=c[b+20>>2]|0;if((e|0)!=0){if((a[b+24>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;YE(b);i=d;return}function Mt(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=6808;e=c[b+20>>2]|0;if((e|0)!=0){if((a[b+24>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function Nt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0;f=i;i=i+16|0;c[1698]=(c[1698]|0)+1;if((c[b+4>>2]&2|0)==0)j=15720;else{j=c[d+192>>2]|0;k=+lc[c[(c[j>>2]|0)+20>>2]&1](j,.019999999552965164);g[f+4>>2]=k;j=c[e+192>>2]|0;l=+lc[c[(c[j>>2]|0)+20>>2]&1](j,.019999999552965164);g[f>>2]=l;j=k>2];o=+g[d+184>>2];k=+g[e+184>>2];k=o>2]|0;j=c[m+8>>2]|0;if((j|0)==0){if((c[b+4>>2]&4|0)!=0){n=0;i=f;return n|0}c[5004]=(c[5004]|0)+1;j=XE(791)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}}else{n=c[m+12>>2]|0;c[m+12>>2]=c[n>>2];c[m+8>>2]=j+ -1;j=n}c[j>>2]=1025;c[j+116>>2]=0;a[j+120>>0]=0;n=j+124|0;c[n+0>>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[j+300>>2]=0;a[j+304>>0]=0;n=j+308|0;c[n+0>>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[j+484>>2]=0;a[j+488>>0]=0;n=j+492|0;c[n+0>>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[j+668>>2]=0;a[j+672>>0]=0;n=j+676|0;c[n+0>>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[j+740>>2]=d;c[j+744>>2]=e;c[j+748>>2]=0;g[j+752>>2]=l;g[j+756>>2]=k;c[j+768>>2]=c[b+12>>2];e=c[b+12>>2]|0;if((e|0)==(c[b+16>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if((h|0)==0)d=0;else{c[5004]=(c[5004]|0)+1;d=XE((h<<2|3)+16|0)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}e=c[b+12>>2]|0}if((e|0)>0){n=0;do{m=d+(n<<2)|0;if((m|0)!=0)c[m>>2]=c[(c[b+20>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(e|0))}m=c[b+20>>2]|0;if((m|0)!=0){if((a[b+24>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0);e=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=d;c[b+16>>2]=h}h=(c[b+20>>2]|0)+(e<<2)|0;if((h|0)!=0)c[h>>2]=j;c[b+12>>2]=e+1;n=j;i=f;return n|0}function Ot(a,b){a=a|0;b=b|0;var d=0,e=0;a=i;d=c[b+748>>2]|0;if((d|0)>0){e=0;do e=e+1|0;while((e|0)<(d|0))}c[b+748>>2]=0;i=a;return}function Pt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;c[1698]=(c[1698]|0)+ -1;Nb[c[(c[a>>2]|0)+20>>2]&127](a,b);e=c[b+768>>2]|0;f=(c[a+12>>2]|0)+ -1|0;h=c[a+20>>2]|0;g=c[h+(e<<2)>>2]|0;c[h+(e<<2)>>2]=c[h+(f<<2)>>2];c[(c[a+20>>2]|0)+(f<<2)>>2]=g;c[(c[(c[a+20>>2]|0)+(e<<2)>>2]|0)+768>>2]=e;c[a+12>>2]=(c[a+12>>2]|0)+ -1;a=c[a+68>>2]|0;if((b|0)==0){i=d;return}h=c[a+16>>2]|0;if(!(h>>>0>b>>>0)?(h+(aa(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;i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Qt(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;e=c[a+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)+72>>2]|0;e=Tb[c[(c[e>>2]|0)+8>>2]&31](e,f,b,d)|0;i=f;return e|0}function Rt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;b=c[b+204>>2]|0;if((b&4|0)==0?(e=c[d+204>>2]|0,(e&4|0)==0):0)if((b&3|0)==0)d=1;else d=(e&3|0)==0;else d=0;i=a;return d|0}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;e=c[b+216>>2]|0;if((e|0)==2|(e|0)==5?(e=c[d+216>>2]|0,(e|0)==2|(e|0)==5):0)b=0;else if((c[b+256>>2]|0)==0)b=1;else b=gc[c[c[b>>2]>>2]&31](b,d)|0;i=a;return b|0}function Tt(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]=6920;c[f+4>>2]=d;c[f+8>>2]=a;rc[c[(c[b>>2]|0)+48>>2]&127](b,f,e);i=f;return}function Ut(a){a=a|0;return}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=c[a+64>>2]|0;e=c[a+8>>2]|0;if((e|0)!=0){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=e+ -1;e=b;i=d;return e|0}c[5004]=(c[5004]|0)+1;b=XE(b+19|0)|0;if((b|0)==0){e=0;i=d;return e|0}c[(b+19&-16)+ -4>>2]=b;e=b+19&-16;i=d;return e|0}function Wt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=c[a+64>>2]|0;if((b|0)==0){i=d;return}e=c[a+16>>2]|0;if(!(e>>>0>b>>>0)?(e+(aa(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;i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Xt(a){a=a|0;return c[a+12>>2]|0}function Yt(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function Zt(a){a=a|0;if((c[a+12>>2]|0)==0)a=0;else a=c[a+20>>2]|0;return a|0}function _t(a){a=a|0;return c[a+68>>2]|0}function $t(a){a=a|0;return c[a+68>>2]|0}function au(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function bu(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+8>>2]|0;rc[c[e+60>>2]&127](b,e,c[a+4>>2]|0);i=d;return 0}function cu(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function du(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function eu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0;e=i;g[b+16>>2]=+g[a+4>>2];g[b+20>>2]=+g[a+8>>2];g[b+24>>2]=+g[a+12>>2];g[b+28>>2]=+g[a+16>>2];g[b+32>>2]=+g[a+20>>2];g[b+36>>2]=+g[a+24>>2];g[b+40>>2]=+g[a+28>>2];g[b+44>>2]=+g[a+32>>2];g[b+48>>2]=+g[a+36>>2];g[b+52>>2]=+g[a+40>>2];g[b+56>>2]=+g[a+44>>2];g[b+60>>2]=+g[a+48>>2];g[b+64>>2]=+g[a+52>>2];g[b+68>>2]=+g[a+56>>2];g[b+72>>2]=+g[a+60>>2];g[b+76>>2]=+g[a+64>>2];g[b+80>>2]=+g[a+68>>2];g[b+84>>2]=+g[a+72>>2];g[b+88>>2]=+g[a+76>>2];g[b+92>>2]=+g[a+80>>2];g[b+96>>2]=+g[a+84>>2];g[b+100>>2]=+g[a+88>>2];g[b+104>>2]=+g[a+92>>2];g[b+108>>2]=+g[a+96>>2];g[b+112>>2]=+g[a+100>>2];g[b+116>>2]=+g[a+104>>2];g[b+120>>2]=+g[a+108>>2];g[b+124>>2]=+g[a+112>>2];g[b+128>>2]=+g[a+116>>2];g[b+132>>2]=+g[a+120>>2];g[b+136>>2]=+g[a+124>>2];g[b+140>>2]=+g[a+128>>2];g[b+144>>2]=+g[a+132>>2];g[b+148>>2]=+g[a+136>>2];g[b+152>>2]=+g[a+140>>2];g[b+156>>2]=+g[a+144>>2];g[b+160>>2]=+g[a+148>>2];g[b+164>>2]=+g[a+152>>2];g[b+168>>2]=+g[a+156>>2];g[b+172>>2]=+g[a+160>>2];g[b+176>>2]=+g[a+164>>2];g[b+180>>2]=+g[a+168>>2];g[b+184>>2]=+g[a+172>>2];g[b+188>>2]=+g[a+176>>2];c[b+224>>2]=c[a+180>>2];g[b+192>>2]=+g[a+184>>2];c[b>>2]=0;c[b+4>>2]=gc[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];g[b+196>>2]=+g[a+220>>2];g[b+200>>2]=+g[a+224>>2];g[b+204>>2]=+g[a+232>>2];g[b+208>>2]=+g[a+228>>2];c[b+244>>2]=c[a+236>>2];f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b+12>>2]=h;if((h|0)==0){d=a+244|0;j=+g[d>>2];d=b+212|0;g[d>>2]=j;d=a+248|0;j=+g[d>>2];d=b+216|0;g[d>>2]=j;d=a+252|0;j=+g[d>>2];d=b+220|0;g[d>>2]=j;d=a+256|0;d=c[d>>2]|0;h=b+248|0;c[h>>2]=d;i=e;return 7016}Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);d=a+244|0;j=+g[d>>2];d=b+212|0;g[d>>2]=j;d=a+248|0;j=+g[d>>2];d=b+216|0;g[d>>2]=j;d=a+252|0;j=+g[d>>2];d=b+220|0;g[d>>2]=j;d=a+256|0;d=c[d>>2]|0;h=b+248|0;c[h>>2]=d;i=e;return 7016}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=Pb[c[(c[a>>2]|0)+16>>2]&127](a)|0;f=Yb[c[(c[b>>2]|0)+16>>2]&31](b,f,1)|0;e=Yb[c[(c[a>>2]|0)+20>>2]&31](a,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1245859651,a);i=d;return}function hu(a,b){a=a|0;b=b|0;return 1}function iu(a){a=a|0;return 256}function ju(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;n=e+76|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;vc[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+20>>2];f=+g[e+8>>2];h=+g[e+24>>2];g[d>>2]=+Q(+((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 ku(a,b){a=a|0;b=+b;var d=0;d=i;b=+$b[c[(c[a>>2]|0)+16>>2]&15](a)*b;i=d;return+b}function lu(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=i;i=i+32|0;rc[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+12>>2];d=+g[b+16>>2];d=+Q(+(f*f+e*e+d*d));i=b;return+(d+ +g[b>>2])}function mu(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var j=0,k=0.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;j=i;vc[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);r=+g[h>>2];p=+g[h+4>>2];k=+g[h+8>>2];m=+g[f>>2];q=+g[f+4>>2];l=+g[f+8>>2];s=+g[d>>2];o=+g[d+4>>2];n=+g[d+8>>2];if(s>0.0)r=r+s;else m=m+s;if(o>0.0)p=p+o;else q=q+o;if(n>0.0)k=k+n;else l=l+n;n=+g[e>>2];o=+g[e+4>>2];s=+g[e+8>>2];s=+Q(+(n*n+o*o+s*s));s=s*+$b[c[(c[a>>2]|0)+16>>2]&15](a);g[f>>2]=m;g[f+4>>2]=q;g[f+8>>2]=l;g[f+12>>2]=0.0;g[h>>2]=r;g[h+4>>2]=p;g[h+8>>2]=k;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-s;g[f+4>>2]=+g[f+4>>2]-s;g[f+8>>2]=+g[f+8>>2]-s;g[h>>2]=s+ +g[h>>2];g[h+4>>2]=s+ +g[h+4>>2];g[h+8>>2]=s+ +g[h+8>>2];i=j;return}function nu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=g;if((g|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];i=e;return 7080}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=Pb[c[(c[a>>2]|0)+52>>2]&127](a)|0;f=Yb[c[(c[b>>2]|0)+16>>2]&31](b,f,1)|0;e=Yb[c[(c[a>>2]|0)+56>>2]&31](a,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1346455635,a);i=d;return}function pu(a){a=a|0;return 12}function qu(a){a=a|0;var b=0;b=i;ru(a);YE(a);i=b;return}function ru(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;c[b>>2]=7144;e=c[b+8>>2]|0;g=c[b+16>>2]|0;if((e|0)>0){f=0;do{h=(c[g+(f<<2)>>2]|0)+188|0;j=c[h>>2]|0;if((j|0)!=0){e=c[b+68>>2]|0;e=Pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;rc[c[(c[e>>2]|0)+40>>2]&127](e,j,c[b+24>>2]|0);e=c[b+68>>2]|0;rc[c[(c[e>>2]|0)+12>>2]&127](e,j,c[b+24>>2]|0);c[h>>2]=0;e=c[b+8>>2]|0;g=c[b+16>>2]|0}f=f+1|0}while((f|0)<(e|0))}if((g|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;j=b+12|0;c[j>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[g+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;j=b+12|0;c[j>>2]=0;i=d;return}function su(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+96|0;k=c[b+8>>2]|0;if((k|0)==(c[b+12>>2]|0)?(h=(k|0)==0?1:k<<1,(k|0)<(h|0)):0){if((h|0)==0)j=0;else{c[5004]=(c[5004]|0)+1;j=XE((h<<2|3)+16|0)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}k=c[b+8>>2]|0}if((k|0)>0){l=0;do{m=j+(l<<2)|0;if((m|0)!=0)c[m>>2]=c[(c[b+16>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(k|0))}l=c[b+16>>2]|0;if((l|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0);k=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=h}h=(c[b+16>>2]|0)+(k<<2)|0;if((h|0)!=0)c[h>>2]=d;c[b+8>>2]=k+1;c[g+32>>2]=c[d+4>>2];c[g+36>>2]=c[d+8>>2];c[g+40>>2]=c[d+12>>2];c[g+44>>2]=c[d+16>>2];c[g+48>>2]=c[d+20>>2];c[g+52>>2]=c[d+24>>2];c[g+56>>2]=c[d+28>>2];c[g+60>>2]=c[d+32>>2];c[g+64>>2]=c[d+36>>2];c[g+68>>2]=c[d+40>>2];c[g+72>>2]=c[d+44>>2];c[g+76>>2]=c[d+48>>2];c[g+80>>2]=c[d+52>>2];c[g+84>>2]=c[d+56>>2];c[g+88>>2]=c[d+60>>2];c[g+92>>2]=c[d+64>>2];m=c[d+192>>2]|0;vc[c[(c[m>>2]|0)+8>>2]&127](m,g+32|0,g+16|0,g);m=c[b+68>>2]|0;c[d+188>>2]=pc[c[(c[m>>2]|0)+8>>2]&3](m,g+16|0,g,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;i=g;return}function tu(b){b=b|0;var d=0,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,r=0;d=i;i=i+64|0;oE(7424);q=c[b+8>>2]|0;if((q|0)>0){f=0;do{h=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;if(!((a[b+76>>0]|0)==0?(r=c[h+216>>2]|0,(r|0)==2|(r|0)==5):0)){r=c[h+192>>2]|0;vc[c[(c[r>>2]|0)+8>>2]&127](r,h+4|0,d+48|0,d+32|0);k=+g[d+48>>2]+-.019999999552965164;g[d+48>>2]=k;j=+g[d+52>>2]+-.019999999552965164;g[d+52>>2]=j;n=+g[d+56>>2]+-.019999999552965164;g[d+56>>2]=n;o=+g[d+32>>2]+.019999999552965164;g[d+32>>2]=o;m=+g[d+36>>2]+.019999999552965164;g[d+36>>2]=m;l=+g[d+40>>2]+.019999999552965164;g[d+40>>2]=l;if(((a[b+44>>0]|0)!=0?(c[h+236>>2]|0)==2:0)?(c[h+204>>2]&3|0)==0:0){r=c[h+192>>2]|0;vc[c[(c[r>>2]|0)+8>>2]&127](r,h+68|0,d+16|0,d);k=+g[d+16>>2]+-.019999999552965164;g[d+16>>2]=k;j=+g[d+20>>2]+-.019999999552965164;g[d+20>>2]=j;n=+g[d+24>>2]+-.019999999552965164;g[d+24>>2]=n;o=+g[d>>2]+.019999999552965164;g[d>>2]=o;m=+g[d+4>>2]+.019999999552965164;g[d+4>>2]=m;l=+g[d+8>>2]+.019999999552965164;g[d+8>>2]=l;p=+g[d+48>>2];if(k>2]=k;else k=p;p=+g[d+52>>2];if(j>2]=j;else j=p;p=+g[d+56>>2];if(n>2]=n;else n=p;p=+g[d+28>>2];if(p<+g[d+60>>2])g[d+60>>2]=p;p=+g[d+32>>2];if(p>2]=o;else o=p;p=+g[d+36>>2];if(p>2]=m;else m=p;p=+g[d+40>>2];if(p>2]=l;else l=p;p=+g[d+12>>2];if(+g[d+44>>2]>2]=p}q=c[b+68>>2]|0;if((c[h+204>>2]&1|0)==0?(k=o-k,o=m-j,p=l-n,!(k*k+o*o+p*p<999999995904.0)):0){if(!(((c[h+216>>2]|0)+ -4|0)>>>0<2))c[h+216>>2]=5;if((a[7200]|0)!=0?(e=c[b+72>>2]|0,(e|0)!=0):0){a[7200]=0;Nb[c[(c[e>>2]|0)+36>>2]&127](e,7208);r=c[b+72>>2]|0;Nb[c[(c[r>>2]|0)+36>>2]&127](r,7264);r=c[b+72>>2]|0;Nb[c[(c[r>>2]|0)+36>>2]&127](r,7336);r=c[b+72>>2]|0;Nb[c[(c[r>>2]|0)+36>>2]&127](r,7408)}}else Jb[c[(c[q>>2]|0)+16>>2]&31](q,c[h+188>>2]|0,d+48|0,d+32|0,c[b+24>>2]|0);q=c[b+8>>2]|0}f=f+1|0}while((f|0)<(q|0))}b=c[5022]|0;r=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=r;if((r|0)!=0){i=d;return}do if((c[b+4>>2]|0)!=0){Eb(d+48|0,0)|0;r=c[5008]|0;g[b+8>>2]=+(((c[d+52>>2]|0)-(c[r+4>>2]|0)+(((c[d+48>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=d;return}}while(0);c[5022]=c[b+20>>2];i=d;return}function uu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;oE(7440);d=c[a+68>>2]|0;Nb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[5022]|0;d=(c[a+16>>2]|0)+ -1|0;c[a+16>>2]=d;if((d|0)!=0){i=b;return}do if((c[a+4>>2]|0)!=0){Eb(b|0,0)|0;d=c[5008]|0;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+ +g[a+8>>2];if((c[a+16>>2]|0)==0){a=c[5022]|0;break}else{i=b;return}}while(0);c[5022]=c[a+20>>2];i=b;return}function vu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;oE(7472);Lb[c[(c[a>>2]|0)+8>>2]&511](a);Lb[c[(c[a>>2]|0)+12>>2]&511](a);d=c[a+24>>2]|0;oE(7512);if((d|0)!=0){f=c[(c[d>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=Pb[c[(c[e>>2]|0)+36>>2]&127](e)|0;vc[f&127](d,e,a+28|0,c[a+24>>2]|0)}a=c[5022]|0;f=(c[a+16>>2]|0)+ -1|0;c[a+16>>2]=f;do if((f|0)==0){if((c[a+4>>2]|0)!=0){Eb(b|0,0)|0;d=c[5008]|0;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+ +g[a+8>>2];d=c[5022]|0;if((c[a+16>>2]|0)==0)a=d;else{a=d;break}}a=c[a+20>>2]|0;c[5022]=a}while(0);d=a+16|0;f=(c[d>>2]|0)+ -1|0;c[d>>2]=f;if((f|0)!=0){i=b;return}do if((c[a+4>>2]|0)!=0){Eb(b|0,0)|0;e=c[5008]|0;f=a+8|0;g[f>>2]=+(((c[b+4>>2]|0)-(c[e+4>>2]|0)+(((c[b>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3+ +g[f>>2];if((c[d>>2]|0)==0){a=c[5022]|0;break}else{i=b;return}}while(0);c[5022]=c[a+20>>2];i=b;return}function wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[b+188>>2]|0;if((f|0)!=0){k=c[a+68>>2]|0;k=Pb[c[(c[k>>2]|0)+36>>2]&127](k)|0;rc[c[(c[k>>2]|0)+40>>2]&127](k,f,c[a+24>>2]|0);k=c[a+68>>2]|0;rc[c[(c[k>>2]|0)+12>>2]&127](k,f,c[a+24>>2]|0);c[b+188>>2]=0}f=c[a+8>>2]|0;if((f|0)<=0){i=e;return}g=c[a+16>>2]|0;h=0;while(1){j=g+(h<<2)|0;k=h+1|0;if((c[j>>2]|0)==(b|0))break;if((k|0)<(f|0))h=k;else{d=9;break}}if((d|0)==9){i=e;return}if((h|0)>=(f|0)){i=e;return}c[j>>2]=c[g+(f+ -1<<2)>>2];c[(c[a+16>>2]|0)+(f+ -1<<2)>>2]=b;c[a+8>>2]=f+ -1;i=e;return}function xu(d,e,f,h){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,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0.0,L=0.0;j=i;i=i+1392|0;c[j+1192>>2]=0;g[j+1196>>2]=1.0;g[j+1200>>2]=1.0;g[j+1204>>2]=1.0;g[j+1208>>2]=0.0;c[j+1184>>2]=16680;c[j+1188>>2]=8;g[j+1212>>2]=0.0;g[j+1228>>2]=0.0;z=c[f+4>>2]|0;y=c[f+12>>2]|0;A=c[z+4>>2]|0;if((A|0)<20){c[j+1008>>2]=9440;c[j+1176>>2]=0;g[j+1180>>2]=0.0;g[j+1172>>2]=+g[h+4>>2];g[j+956>>2]=9999999747378752.0e-20;a[j+980>>0]=0;c[j+632>>2]=17152;c[j+636>>2]=j+648;c[j+640>>2]=j+1184;c[j+644>>2]=z;c[j+616>>2]=13184;c[j+620>>2]=j+648;c[j+624>>2]=j+1184;c[j+628>>2]=z;J=(c[h+16>>2]&4|0)==0?j+616|0:j+632|0;if(!(ac[c[(c[J>>2]|0)+8>>2]&3](J,d,e,y,y,j+1008|0)|0)){i=j;return}y=j+1140|0;m=+g[y>>2];k=+g[j+1144>>2];n=+g[j+1148>>2];if(!(m*m+k*k+n*n>9999999747378752.0e-20)){i=j;return}l=+g[j+1172>>2];if(!(l<+g[h+4>>2])){i=j;return}H=1.0/+Q(+(m*m+k*k+n*n));g[y>>2]=m*H;g[j+1144>>2]=k*H;g[j+1148>>2]=n*H;c[j+584>>2]=c[f+8>>2];c[j+588>>2]=0;c[j+592>>2]=c[y+0>>2];c[j+596>>2]=c[y+4>>2];c[j+600>>2]=c[y+8>>2];c[j+604>>2]=c[y+12>>2];g[j+608>>2]=l;+hc[c[(c[h>>2]|0)+12>>2]&15](h,j+584|0,1);i=j;return}if((A+ -21|0)>>>0<9){t=+g[y>>2];u=+g[y+16>>2];s=+g[y+32>>2];v=+g[y+4>>2];w=+g[y+20>>2];r=+g[y+36>>2];G=+g[y+8>>2];H=+g[y+24>>2];q=+g[y+40>>2];x=-+g[y+48>>2];E=-+g[y+52>>2];F=-+g[y+56>>2];n=+g[d+48>>2];o=+g[d+52>>2];p=+g[d+56>>2];g[j+568>>2]=t*x+u*E+s*F+(t*n+u*o+s*p);g[j+572>>2]=v*x+w*E+r*F+(v*n+w*o+r*p);g[j+576>>2]=G*x+H*E+q*F+(G*n+H*o+q*p);g[j+580>>2]=0.0;l=+g[e+48>>2];k=+g[e+52>>2];m=+g[e+56>>2];s=t*x+u*E+s*F+(t*l+u*k+s*m);r=v*x+w*E+r*F+(v*l+w*k+r*m);q=G*x+H*E+q*F+(G*l+H*k+q*m);g[j+552>>2]=s;g[j+556>>2]=r;g[j+560>>2]=q;g[j+564>>2]=0.0;e=c[z+4>>2]|0;if((e|0)==25){J=c[f+8>>2]|0;I=c[h+16>>2]|0;c[j+316>>2]=c[j+568>>2];c[j+320>>2]=c[j+572>>2];c[j+324>>2]=c[j+576>>2];c[j+328>>2]=c[j+580>>2];c[j+332>>2]=c[j+552>>2];c[j+336>>2]=c[j+556>>2];c[j+340>>2]=c[j+560>>2];c[j+344>>2]=c[j+564>>2];c[j+348>>2]=I;g[j+352>>2]=1.0;c[j+312>>2]=9248;c[j+356>>2]=h;c[j+360>>2]=J;c[j+364>>2]=z;c[j+368>>2]=c[y+0>>2];c[j+372>>2]=c[y+4>>2];c[j+376>>2]=c[y+8>>2];c[j+380>>2]=c[y+12>>2];c[j+384>>2]=c[y+16>>2];c[j+388>>2]=c[y+20>>2];c[j+392>>2]=c[y+24>>2];c[j+396>>2]=c[y+28>>2];c[j+400>>2]=c[y+32>>2];c[j+404>>2]=c[y+36>>2];c[j+408>>2]=c[y+40>>2];c[j+412>>2]=c[y+44>>2];c[j+416>>2]=c[y+48>>2];c[j+420>>2]=c[y+52>>2];c[j+424>>2]=c[y+56>>2];c[j+428>>2]=c[y+60>>2];g[j+352>>2]=+g[h+4>>2];vc[c[(c[z>>2]|0)+144>>2]&127](z,j+312|0,j+568|0,j+552|0);i=j;return}else if((e|0)==21){J=c[f+8>>2]|0;I=c[h+16>>2]|0;c[j+436>>2]=c[j+568>>2];c[j+440>>2]=c[j+572>>2];c[j+444>>2]=c[j+576>>2];c[j+448>>2]=c[j+580>>2];c[j+452>>2]=c[j+552>>2];c[j+456>>2]=c[j+556>>2];c[j+460>>2]=c[j+560>>2];c[j+464>>2]=c[j+564>>2];c[j+468>>2]=I;g[j+472>>2]=1.0;c[j+432>>2]=9248;c[j+476>>2]=h;c[j+480>>2]=J;c[j+484>>2]=z;c[j+488>>2]=c[y+0>>2];c[j+492>>2]=c[y+4>>2];c[j+496>>2]=c[y+8>>2];c[j+500>>2]=c[y+12>>2];c[j+504>>2]=c[y+16>>2];c[j+508>>2]=c[y+20>>2];c[j+512>>2]=c[y+24>>2];c[j+516>>2]=c[y+28>>2];c[j+520>>2]=c[y+32>>2];c[j+524>>2]=c[y+36>>2];c[j+528>>2]=c[y+40>>2];c[j+532>>2]=c[y+44>>2];c[j+536>>2]=c[y+48>>2];c[j+540>>2]=c[y+52>>2];c[j+544>>2]=c[y+56>>2];c[j+548>>2]=c[y+60>>2];g[j+472>>2]=+g[h+4>>2];h=c[z+48>>2]|0;c[j+1272>>2]=6152;c[j+1276>>2]=h;c[j+1280>>2]=j+432;h=c[z+52>>2]|0;c[j+1328>>2]=0;c[j+1332>>2]=0;c[j+1336>>2]=0;c[j+1340>>2]=0;c[j+1304>>2]=0;c[j+1308>>2]=0;c[j+1312>>2]=0;c[j+1316>>2]=0;if((a[h+60>>0]|0)==0){EA(h,j+1272|0,j+568|0,s,r,q,j+1328|0,j+1304|0);i=j;return}else{FA(h,j+1272|0,j+568|0,s,r,q,j+1328|0,j+1304|0,c[h+56>>2]|0);i=j;return}}else{L=+g[y>>2];K=+g[y+16>>2];s=+g[y+32>>2];t=+g[y+4>>2];u=+g[y+20>>2];v=+g[y+36>>2];F=+g[y+8>>2];G=+g[y+24>>2];H=+g[y+40>>2];w=-+g[y+48>>2];x=-+g[y+52>>2];E=-+g[y+56>>2];r=L*w+K*x+s*E+(L*n+K*o+s*p);q=t*w+u*x+v*E+(t*n+u*o+v*p);o=F*w+G*x+H*E+(F*n+G*o+H*p);p=L*w+K*x+s*E+(L*l+K*k+s*m);n=t*w+u*x+v*E+(t*l+u*k+v*m);k=F*w+G*x+H*E+(F*l+G*k+H*m);J=c[f+8>>2]|0;I=c[h+16>>2]|0;g[j+196>>2]=r;g[j+200>>2]=q;g[j+204>>2]=o;g[j+208>>2]=0.0;g[j+212>>2]=p;g[j+216>>2]=n;g[j+220>>2]=k;g[j+224>>2]=0.0;c[j+228>>2]=I;g[j+232>>2]=1.0;c[j+192>>2]=9056;c[j+236>>2]=h;c[j+240>>2]=J;c[j+244>>2]=z;c[j+248>>2]=c[y+0>>2];c[j+252>>2]=c[y+4>>2];c[j+256>>2]=c[y+8>>2];c[j+260>>2]=c[y+12>>2];c[j+264>>2]=c[y+16>>2];c[j+268>>2]=c[y+20>>2];c[j+272>>2]=c[y+24>>2];c[j+276>>2]=c[y+28>>2];c[j+280>>2]=c[y+32>>2];c[j+284>>2]=c[y+36>>2];c[j+288>>2]=c[y+40>>2];c[j+292>>2]=c[y+44>>2];c[j+296>>2]=c[y+48>>2];c[j+300>>2]=c[y+52>>2];c[j+304>>2]=c[y+56>>2];c[j+308>>2]=c[y+60>>2];g[j+232>>2]=+g[h+4>>2];g[j+176>>2]=r;g[j+180>>2]=q;g[j+184>>2]=o;g[j+188>>2]=0.0;if(p>2]=p;if(n>2]=n;if(k>2]=k;g[j+160>>2]=r;g[j+164>>2]=q;g[j+168>>2]=o;g[j+172>>2]=0.0;if(r>2]=p;if(q>2]=n;if(o>2]=k;vc[c[(c[z>>2]|0)+64>>2]&127](z,j+192|0,j+176|0,j+160|0);i=j;return}}if((A|0)!=31){i=j;return}A=c[z+64>>2]|0;J=c[f+8>>2]|0;c[j+128>>2]=8840;c[j+132>>2]=J;c[j+136>>2]=z;c[j+140>>2]=y;c[j+144>>2]=d;c[j+148>>2]=e;c[j+152>>2]=h;if((A|0)==0){h=c[z+16>>2]|0;if((h|0)<=0){i=j;return}f=0;while(1){J=c[z+24>>2]|0;I=c[J+(f*80|0)+64>>2]|0;co(j+1328|0,y,J+(f*80|0)|0);J=c[j+132>>2]|0;c[j+1304>>2]=0;c[j+1308>>2]=I;c[j+1312>>2]=J;c[j+1316>>2]=j+1328;c[j+1320>>2]=-1;c[j+1324>>2]=f;J=c[j+152>>2]|0;g[j+1276>>2]=1.0;c[j+1280>>2]=0;b[j+1284>>1]=1;b[j+1286>>1]=-1;c[j+1288>>2]=0;c[j+1272>>2]=8664;c[j+1292>>2]=J;c[j+1296>>2]=f;g[j+1276>>2]=+g[J+4>>2];c[j+1288>>2]=c[J+16>>2];xu(c[j+144>>2]|0,c[j+148>>2]|0,j+1304|0,j+1272|0);f=f+1|0;if((f|0)>=(h|0))break;z=c[j+136>>2]|0;y=c[j+140>>2]|0}i=j;return}zu(j+64|0,y,d);p=+g[j+112>>2];q=+g[j+116>>2];o=+g[j+120>>2];zu(j,y,e);z=c[A>>2]|0;if((z|0)==0){i=j;return}r=+g[j+48>>2]-p;t=+g[j+52>>2]-q;u=+g[j+56>>2]-o;s=1.0/+Q(+(r*r+t*t+u*u));if(r*s==0.0)v=999999984306749400.0;else v=1.0/(r*s);if(t*s==0.0)w=999999984306749400.0;else w=1.0/(t*s);if(u*s==0.0)x=999999984306749400.0;else x=1.0/(u*s);h=v<0.0&1;y=w<0.0&1;f=x<0.0&1;c[5004]=(c[5004]|0)+1;e=XE(531)|0;if((e|0)==0)C=0;else{c[(e+19&-16)+ -4>>2]=e;C=e+19&-16}d=0;do{e=C+(d<<2)|0;if((e|0)!=0)c[e>>2]=0;d=d+1|0}while((d|0)!=128);c[C>>2]=z;A=128;D=128;z=1;B=126;do{e=z+ -1|0;d=c[C+(e<<2)>>2]|0;c[j+1240>>2]=c[d+0>>2];c[j+1244>>2]=c[d+4>>2];c[j+1248>>2]=c[d+8>>2];c[j+1252>>2]=c[d+12>>2];c[j+1256>>2]=c[d+16>>2];c[j+1260>>2]=c[d+20>>2];c[j+1264>>2]=c[d+24>>2];c[j+1268>>2]=c[d+28>>2];G=v*(+g[j+1240+(h<<4)>>2]-p);E=v*(+g[j+1240+((h^1)<<4)>>2]-p);H=w*(+g[j+1240+(y<<4)+4>>2]-q);F=w*(+g[j+1240+((y^1)<<4)+4>>2]-q);do if(((!(G>F|H>E)?(n=H>G?H:G,l=F>2]-o),k=x*(+g[j+1240+((f^1)<<4)+8>>2]-o),!(n>k|m>l)):0)?(m>n?m:n)0.0:0){if((c[d+40>>2]|0)==0){Nb[c[(c[j+128>>2]|0)+12>>2]&127](j+128|0,d);z=e;break}if((e|0)>(B|0)){B=A<<1;if((A|0)<(B|0)){do if((D|0)<(B|0)){do if((A|0)==0)D=0;else{c[5004]=(c[5004]|0)+1;D=XE((A<<3|3)+16|0)|0;if((D|0)==0)D=0;else{c[(D+19&-16)+ -4>>2]=D;D=D+19&-16}if((A|0)>0)I=0;else break;do{J=D+(I<<2)|0;if((J|0)!=0)c[J>>2]=c[C+(I<<2)>>2];I=I+1|0}while((I|0)!=(A|0))}while(0);if((C|0)==0){C=D;D=B;break}c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0);C=D;D=B}while(0);do{I=C+(A<<2)|0;if((I|0)!=0)c[I>>2]=0;A=A+1|0}while((A|0)!=(B|0))}A=B;B=B+ -2|0}c[C+(e<<2)>>2]=c[d+36>>2];c[C+(z<<2)>>2]=c[d+40>>2];z=z+1|0}else z=e;while(0)}while((z|0)!=0);if((C|0)==0){i=j;return}c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0);i=j;return}function yu(a){a=a|0;return}function zu(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,y=0.0;j=+g[c+48>>2]- +g[b+48>>2];h=+g[c+52>>2]- +g[b+52>>2];e=+g[c+56>>2]- +g[b+56>>2];p=+g[b>>2];y=+g[c>>2];o=+g[b+16>>2];x=+g[c+16>>2];n=+g[b+32>>2];w=+g[c+32>>2];v=+g[c+4>>2];u=+g[c+20>>2];t=+g[c+36>>2];s=+g[c+8>>2];r=+g[c+24>>2];q=+g[c+40>>2];m=+g[b+4>>2];l=+g[b+20>>2];k=+g[b+36>>2];i=+g[b+8>>2];f=+g[b+24>>2];d=+g[b+40>>2];g[a>>2]=p*y+o*x+n*w;g[a+4>>2]=p*v+o*u+n*t;g[a+8>>2]=p*s+o*r+n*q;g[a+12>>2]=0.0;g[a+16>>2]=y*m+x*l+w*k;g[a+20>>2]=v*m+u*l+t*k;g[a+24>>2]=s*m+r*l+q*k;g[a+28>>2]=0.0;g[a+32>>2]=y*i+x*f+w*d;g[a+36>>2]=v*i+u*f+t*d;g[a+40>>2]=s*i+r*f+q*d;g[a+44>>2]=0.0;g[a+48>>2]=j*p+h*o+e*n;g[a+52>>2]=j*m+h*l+e*k;g[a+56>>2]=j*i+h*f+e*d;g[a+60>>2]=0.0;return}function Au(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,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,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;l=i;i=i+1664|0;m=c[h+4>>2]|0;n=c[h+12>>2]|0;D=c[m+4>>2]|0;if((D|0)<20){c[l+1424>>2]=9440;c[l+1592>>2]=0;g[l+1596>>2]=k;g[l+1588>>2]=+g[j+4>>2];g[l+1372>>2]=9999999747378752.0e-20;a[l+1396>>0]=0;c[l+1056>>2]=13248;c[l+1032>>2]=10152;c[l+1036>>2]=l+1064;c[l+1040>>2]=l+1056;c[l+1044>>2]=d;c[l+1048>>2]=m;c[l+1052>>2]=0;if(!(nw(l+1032|0,e,f,n,n,l+1424|0)|0)){i=l;return}m=l+1556|0;q=+g[m>>2];p=+g[l+1560>>2];o=+g[l+1564>>2];if(!(q*q+p*p+o*o>9999999747378752.0e-20)){i=l;return}k=+g[l+1588>>2];if(!(k<+g[j+4>>2])){i=l;return}C=1.0/+Q(+(q*q+p*p+o*o));g[m>>2]=q*C;g[l+1560>>2]=p*C;g[l+1564>>2]=o*C;c[l+984>>2]=c[h+8>>2];c[l+988>>2]=0;c[l+992>>2]=c[m+0>>2];c[l+996>>2]=c[m+4>>2];c[l+1e3>>2]=c[m+8>>2];c[l+1004>>2]=c[m+12>>2];c[l+1008>>2]=c[l+1572>>2];c[l+1012>>2]=c[l+1576>>2];c[l+1016>>2]=c[l+1580>>2];c[l+1020>>2]=c[l+1584>>2];g[l+1024>>2]=k;+hc[c[(c[j>>2]|0)+12>>2]&15](j,l+984|0,1);i=l;return}if(!((D+ -21|0)>>>0<9)){if((D|0)!=31){i=l;return}oE(7544);if((c[m+16>>2]|0)>0){D=0;do{F=c[m+24>>2]|0;o=+g[F+(D*80|0)>>2];r=+g[F+(D*80|0)+4>>2];u=+g[F+(D*80|0)+8>>2];p=+g[F+(D*80|0)+16>>2];s=+g[F+(D*80|0)+20>>2];w=+g[F+(D*80|0)+24>>2];q=+g[F+(D*80|0)+32>>2];t=+g[F+(D*80|0)+36>>2];y=+g[F+(D*80|0)+40>>2];N=+g[F+(D*80|0)+48>>2];M=+g[F+(D*80|0)+52>>2];C=+g[F+(D*80|0)+56>>2];F=c[F+(D*80|0)+64>>2]|0;L=+g[n>>2];K=+g[n+4>>2];J=+g[n+8>>2];I=+g[n+16>>2];H=+g[n+20>>2];G=+g[n+24>>2];v=+g[n+32>>2];x=+g[n+36>>2];z=+g[n+40>>2];A=N*L+M*K+C*J+ +g[n+48>>2];B=N*I+M*H+C*G+ +g[n+52>>2];C=N*v+M*x+C*z+ +g[n+56>>2];g[l+1600>>2]=o*L+p*K+q*J;g[l+1604>>2]=r*L+s*K+t*J;g[l+1608>>2]=u*L+w*K+y*J;g[l+1612>>2]=0.0;g[l+1616>>2]=o*I+p*H+q*G;g[l+1620>>2]=r*I+s*H+t*G;g[l+1624>>2]=u*I+w*H+y*G;g[l+1628>>2]=0.0;g[l+1632>>2]=o*v+p*x+q*z;g[l+1636>>2]=r*v+s*x+t*z;g[l+1640>>2]=u*v+w*x+y*z;g[l+1644>>2]=0.0;g[l+1648>>2]=A;g[l+1652>>2]=B;g[l+1656>>2]=C;g[l+1660>>2]=0.0;b[l+32>>1]=1;b[l+34>>1]=-1;c[l+24>>2]=8024;c[l+36>>2]=j;c[l+40>>2]=D;g[l+28>>2]=+g[j+4>>2];E=c[h+8>>2]|0;c[l>>2]=h;c[l+4>>2]=F;c[l+8>>2]=E;c[l+12>>2]=l+1600;c[l+16>>2]=-1;c[l+20>>2]=D;Au(d,e,f,l,l+24|0,k);D=D+1|0}while((D|0)<(c[m+16>>2]|0))}h=c[5022]|0;F=(c[h+16>>2]|0)+ -1|0;c[h+16>>2]=F;if((F|0)!=0){i=l;return}do if((c[h+4>>2]|0)!=0){Eb(l+1600|0,0)|0;F=c[5008]|0;g[h+8>>2]=+(((c[l+1604>>2]|0)-(c[F+4>>2]|0)+(((c[l+1600>>2]|0)-(c[F>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0)/1.0e3+ +g[h+8>>2];if((c[h+16>>2]|0)==0){h=c[5022]|0;break}else{i=l;return}}while(0);c[5022]=c[h+20>>2];i=l;return}if((D|0)==21){v=+g[n>>2];p=+g[n+16>>2];q=+g[n+32>>2];r=+g[n+4>>2];s=+g[n+20>>2];t=+g[n+36>>2];C=+g[n+8>>2];A=+g[n+24>>2];y=+g[n+40>>2];u=-+g[n+48>>2];o=-+g[n+52>>2];w=-+g[n+56>>2];x=+g[e+48>>2];z=+g[e+52>>2];B=+g[e+56>>2];g[l+968>>2]=v*u+p*o+q*w+(v*x+p*z+q*B);g[l+972>>2]=r*u+s*o+t*w+(r*x+s*z+t*B);g[l+976>>2]=C*u+A*o+y*w+(C*x+A*z+y*B);g[l+980>>2]=0.0;B=+g[f+48>>2];z=+g[f+52>>2];x=+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[l+904>>2]=v*O+p*G+q*H;g[l+908>>2]=v*I+p*J+q*K;g[l+912>>2]=v*L+p*M+q*N;g[l+916>>2]=0.0;g[l+920>>2]=r*O+s*G+t*H;g[l+924>>2]=r*I+s*J+t*K;g[l+928>>2]=r*L+s*M+t*N;g[l+932>>2]=0.0;g[l+936>>2]=C*O+A*G+y*H;g[l+940>>2]=C*I+A*J+y*K;g[l+944>>2]=C*L+A*M+y*N;F=l+948|0;c[F+0>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;h=c[h+8>>2]|0;N=+$b[c[(c[m>>2]|0)+48>>2]&15](m);c[l+680>>2]=16256;c[l+684>>2]=d;c[l+688>>2]=c[e+0>>2];c[l+692>>2]=c[e+4>>2];c[l+696>>2]=c[e+8>>2];c[l+700>>2]=c[e+12>>2];c[l+704>>2]=c[e+16>>2];c[l+708>>2]=c[e+20>>2];c[l+712>>2]=c[e+24>>2];c[l+716>>2]=c[e+28>>2];c[l+720>>2]=c[e+32>>2];c[l+724>>2]=c[e+36>>2];c[l+728>>2]=c[e+40>>2];c[l+732>>2]=c[e+44>>2];c[l+736>>2]=c[e+48>>2];c[l+740>>2]=c[e+52>>2];c[l+744>>2]=c[e+56>>2];c[l+748>>2]=c[e+60>>2];c[l+752>>2]=c[f+0>>2];c[l+756>>2]=c[f+4>>2];c[l+760>>2]=c[f+8>>2];c[l+764>>2]=c[f+12>>2];c[l+768>>2]=c[f+16>>2];c[l+772>>2]=c[f+20>>2];c[l+776>>2]=c[f+24>>2];c[l+780>>2]=c[f+28>>2];c[l+784>>2]=c[f+32>>2];c[l+788>>2]=c[f+36>>2];c[l+792>>2]=c[f+40>>2];c[l+796>>2]=c[f+44>>2];c[l+800>>2]=c[f+48>>2];c[l+804>>2]=c[f+52>>2];c[l+808>>2]=c[f+56>>2];c[l+812>>2]=c[f+60>>2];c[l+816>>2]=c[n+0>>2];c[l+820>>2]=c[n+4>>2];c[l+824>>2]=c[n+8>>2];c[l+828>>2]=c[n+12>>2];c[l+832>>2]=c[n+16>>2];c[l+836>>2]=c[n+20>>2];c[l+840>>2]=c[n+24>>2];c[l+844>>2]=c[n+28>>2];c[l+848>>2]=c[n+32>>2];c[l+852>>2]=c[n+36>>2];c[l+856>>2]=c[n+40>>2];c[l+860>>2]=c[n+44>>2];c[l+864>>2]=c[n+48>>2];c[l+868>>2]=c[n+52>>2];c[l+872>>2]=c[n+56>>2];c[l+876>>2]=c[n+60>>2];g[l+884>>2]=N;c[l+680>>2]=8448;c[l+892>>2]=j;c[l+896>>2]=h;c[l+900>>2]=m;g[l+880>>2]=+g[j+4>>2];g[l+888>>2]=k;vc[c[(c[d>>2]|0)+8>>2]&127](d,l+904|0,l+664|0,l+648|0);h=c[m+48>>2]|0;c[l+1600>>2]=5992;c[l+1604>>2]=h;c[l+1608>>2]=l+680;h=c[m+52>>2]|0;if((a[h+60>>0]|0)==0){EA(h,l+1600|0,l+968|0,v*u+p*o+q*w+(v*B+p*z+q*x),r*u+s*o+t*w+(r*B+s*z+t*x),C*u+A*o+y*w+(C*B+A*z+y*x),l+664|0,l+648|0);i=l;return}else{FA(h,l+1600|0,l+968|0,v*u+p*o+q*w+(v*B+p*z+q*x),r*u+s*o+t*w+(r*B+s*z+t*x),C*u+A*o+y*w+(C*B+A*z+y*x),l+664|0,l+648|0,c[h+56>>2]|0);i=l;return}}else if((D|0)==28){c[l+472>>2]=9440;c[l+640>>2]=0;g[l+644>>2]=k;g[l+636>>2]=+g[j+4>>2];c[l+448>>2]=10152;c[l+452>>2]=0;c[l+456>>2]=0;c[l+460>>2]=d;c[l+464>>2]=0;c[l+468>>2]=m;if(!(nw(l+448|0,e,f,n,n,l+472|0)|0)){i=l;return}m=l+604|0;k=+g[m>>2];o=+g[l+608>>2];p=+g[l+612>>2];if(!(k*k+o*o+p*p>9999999747378752.0e-20)){i=l;return}q=+g[l+636>>2];if(!(q<+g[j+4>>2])){i=l;return}O=1.0/+Q(+(k*k+o*o+p*p));g[m>>2]=k*O;g[l+608>>2]=o*O;g[l+612>>2]=p*O;c[l+400>>2]=c[h+8>>2];c[l+404>>2]=0;c[l+408>>2]=c[m+0>>2];c[l+412>>2]=c[m+4>>2];c[l+416>>2]=c[m+8>>2];c[l+420>>2]=c[m+12>>2];c[l+424>>2]=c[l+620>>2];c[l+428>>2]=c[l+624>>2];c[l+432>>2]=c[l+628>>2];c[l+436>>2]=c[l+632>>2];g[l+440>>2]=q;+hc[c[(c[j>>2]|0)+12>>2]&15](j,l+400|0,1);i=l;return}else{u=+g[n>>2];v=+g[n+16>>2];w=+g[n+32>>2];x=+g[n+4>>2];y=+g[n+20>>2];z=+g[n+36>>2];J=+g[n+8>>2];L=+g[n+24>>2];N=+g[n+40>>2];H=-+g[n+48>>2];G=-+g[n+52>>2];C=-+g[n+56>>2];A=+g[e+48>>2];B=+g[e+52>>2];p=+g[e+56>>2];t=u*H+v*G+w*C+(u*A+v*B+w*p);q=x*H+y*G+z*C+(x*A+y*B+z*p);p=J*H+L*G+N*C+(J*A+L*B+N*p);B=+g[f+48>>2];A=+g[f+52>>2];o=+g[f+56>>2];s=u*H+v*G+w*C+(u*B+v*A+w*o);r=x*H+y*G+z*C+(x*B+y*A+z*o);o=J*H+L*G+N*C+(J*B+L*A+N*o);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[l+336>>2]=u*A+v*B+w*C;g[l+340>>2]=u*G+v*H+w*I;g[l+344>>2]=u*K+v*M+w*O;g[l+348>>2]=0.0;g[l+352>>2]=x*A+y*B+z*C;g[l+356>>2]=x*G+y*H+z*I;g[l+360>>2]=x*K+y*M+z*O;g[l+364>>2]=0.0;g[l+368>>2]=J*A+L*B+N*C;g[l+372>>2]=J*G+L*H+N*I;g[l+376>>2]=J*K+L*M+N*O;F=l+380|0;c[F+0>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[F+16>>2]=0;F=c[h+8>>2]|0;O=+$b[c[(c[m>>2]|0)+48>>2]&15](m);c[l+112>>2]=16256;c[l+116>>2]=d;c[l+120>>2]=c[e+0>>2];c[l+124>>2]=c[e+4>>2];c[l+128>>2]=c[e+8>>2];c[l+132>>2]=c[e+12>>2];c[l+136>>2]=c[e+16>>2];c[l+140>>2]=c[e+20>>2];c[l+144>>2]=c[e+24>>2];c[l+148>>2]=c[e+28>>2];c[l+152>>2]=c[e+32>>2];c[l+156>>2]=c[e+36>>2];c[l+160>>2]=c[e+40>>2];c[l+164>>2]=c[e+44>>2];c[l+168>>2]=c[e+48>>2];c[l+172>>2]=c[e+52>>2];c[l+176>>2]=c[e+56>>2];c[l+180>>2]=c[e+60>>2];c[l+184>>2]=c[f+0>>2];c[l+188>>2]=c[f+4>>2];c[l+192>>2]=c[f+8>>2];c[l+196>>2]=c[f+12>>2];c[l+200>>2]=c[f+16>>2];c[l+204>>2]=c[f+20>>2];c[l+208>>2]=c[f+24>>2];c[l+212>>2]=c[f+28>>2];c[l+216>>2]=c[f+32>>2];c[l+220>>2]=c[f+36>>2];c[l+224>>2]=c[f+40>>2];c[l+228>>2]=c[f+44>>2];c[l+232>>2]=c[f+48>>2];c[l+236>>2]=c[f+52>>2];c[l+240>>2]=c[f+56>>2];c[l+244>>2]=c[f+60>>2];c[l+248>>2]=c[n+0>>2];c[l+252>>2]=c[n+4>>2];c[l+256>>2]=c[n+8>>2];c[l+260>>2]=c[n+12>>2];c[l+264>>2]=c[n+16>>2];c[l+268>>2]=c[n+20>>2];c[l+272>>2]=c[n+24>>2];c[l+276>>2]=c[n+28>>2];c[l+280>>2]=c[n+32>>2];c[l+284>>2]=c[n+36>>2];c[l+288>>2]=c[n+40>>2];c[l+292>>2]=c[n+44>>2];c[l+296>>2]=c[n+48>>2];c[l+300>>2]=c[n+52>>2];c[l+304>>2]=c[n+56>>2];c[l+308>>2]=c[n+60>>2];g[l+316>>2]=O;c[l+112>>2]=8224;c[l+324>>2]=j;c[l+328>>2]=F;c[l+332>>2]=m;g[l+312>>2]=+g[j+4>>2];g[l+320>>2]=k;vc[c[(c[d>>2]|0)+8>>2]&127](d,l+336|0,l+96|0,l+80|0);g[l+64>>2]=t;g[l+68>>2]=q;g[l+72>>2]=p;g[l+76>>2]=0.0;if(s>2]=s;v=s}else v=t;if(r>2]=r;u=r}else u=q;if(o>2]=o;k=o}else k=p;g[l+48>>2]=t;g[l+52>>2]=q;g[l+56>>2]=p;g[l+60>>2]=0.0;if(t>2]=s;else s=t;if(q>2]=r;q=r}if(p>2]=o;else o=p;g[l+64>>2]=+g[l+96>>2]+v;g[l+68>>2]=+g[l+100>>2]+u;g[l+72>>2]=+g[l+104>>2]+k;g[l+48>>2]=+g[l+80>>2]+s;g[l+52>>2]=+g[l+84>>2]+q;g[l+56>>2]=+g[l+88>>2]+o;vc[c[(c[m>>2]|0)+64>>2]&127](m,l+112|0,l+64|0,l+48|0);i=l;return}}function Bu(a){a=a|0;return}function Cu(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.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=i;i=i+256|0;c[j+32>>2]=7960;h=j+68|0;c[h+0>>2]=c[b+0>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=j+84|0;c[f+0>>2]=c[d+0>>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[j+244>>2]=a;c[j+248>>2]=e;g[j+100>>2]=1.0;c[j+104>>2]=0;c[j+108>>2]=0;c[j+112>>2]=0;c[j+116>>2]=0;g[j+120>>2]=1.0;c[j+124>>2]=0;c[j+128>>2]=0;c[j+132>>2]=0;c[j+136>>2]=0;g[j+140>>2]=1.0;c[j+144>>2]=0;c[j+148>>2]=c[h+0>>2];c[j+152>>2]=c[h+4>>2];c[j+156>>2]=c[h+8>>2];c[j+160>>2]=c[h+12>>2];g[j+164>>2]=1.0;c[j+168>>2]=0;c[j+172>>2]=0;c[j+176>>2]=0;c[j+180>>2]=0;g[j+184>>2]=1.0;c[j+188>>2]=0;c[j+192>>2]=0;c[j+196>>2]=0;c[j+200>>2]=0;g[j+204>>2]=1.0;c[j+208>>2]=0;c[j+212>>2]=c[d+0>>2];c[j+216>>2]=c[d+4>>2];c[j+220>>2]=c[d+8>>2];c[j+224>>2]=c[d+12>>2];n=+g[d>>2]- +g[b>>2];k=+g[d+4>>2]- +g[b+4>>2];q=+g[d+8>>2]- +g[b+8>>2];l=1.0/+Q(+(n*n+k*k+q*q));if(n*l==0.0)p=999999984306749400.0;else p=1.0/(n*l);g[j+36>>2]=p;if(k*l==0.0)o=999999984306749400.0;else o=1.0/(k*l);g[j+40>>2]=o;if(q*l==0.0)m=999999984306749400.0;else m=1.0/(q*l);g[j+44>>2]=m;c[j+52>>2]=p<0.0&1;c[j+56>>2]=o<0.0&1;c[j+60>>2]=m<0.0&1;g[j+64>>2]=n*l*(+g[f>>2]- +g[h>>2])+k*l*(+g[j+88>>2]- +g[j+72>>2])+q*l*(+g[j+92>>2]- +g[j+76>>2]);e=c[a+68>>2]|0;h=c[(c[e>>2]|0)+24>>2]|0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;Zb[h&7](e,b,d,j+32|0,j+16|0,j);i=j;return}function Du(a){a=a|0;return}function Eu(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,u=0.0,v=0;j=i;i=i+416|0;oE(7568);c[j+144>>2]=c[d+0>>2];c[j+148>>2]=c[d+4>>2];c[j+152>>2]=c[d+8>>2];c[j+156>>2]=c[d+12>>2];c[j+160>>2]=c[d+16>>2];c[j+164>>2]=c[d+20>>2];c[j+168>>2]=c[d+24>>2];c[j+172>>2]=c[d+28>>2];c[j+176>>2]=c[d+32>>2];c[j+180>>2]=c[d+36>>2];c[j+184>>2]=c[d+40>>2];c[j+188>>2]=c[d+44>>2];k=j+192|0;c[k+0>>2]=c[d+48>>2];c[k+4>>2]=c[d+52>>2];c[k+8>>2]=c[d+56>>2];c[k+12>>2]=c[d+60>>2];c[j+80>>2]=c[e+0>>2];c[j+84>>2]=c[e+4>>2];c[j+88>>2]=c[e+8>>2];c[j+92>>2]=c[e+12>>2];c[j+96>>2]=c[e+16>>2];c[j+100>>2]=c[e+20>>2];c[j+104>>2]=c[e+24>>2];c[j+108>>2]=c[e+28>>2];c[j+112>>2]=c[e+32>>2];c[j+116>>2]=c[e+36>>2];c[j+120>>2]=c[e+40>>2];c[j+124>>2]=c[e+44>>2];l=j+128|0;c[l+0>>2]=c[e+48>>2];c[l+4>>2]=c[e+52>>2];c[l+8>>2]=c[e+56>>2];c[l+12>>2]=c[e+60>>2];Bo(j+144|0,j+80|0,j+212|0,j+208|0);u=+g[j+208>>2];m=u*+g[j+216>>2];r=u*+g[j+220>>2];g[j+32>>2]=+g[j+212>>2]*u;g[j+36>>2]=m;g[j+40>>2]=r;g[j+44>>2]=0.0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;g[j+212>>2]=1.0;v=j+216|0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;g[j+232>>2]=1.0;t=j+236|0;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;g[j+252>>2]=1.0;s=j+256|0;c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;Hc(j+144|0,j);r=+g[j>>2];m=+g[j+4>>2];u=+g[j+8>>2];q=+g[j+12>>2];o=r*(2.0/(r*r+m*m+u*u+q*q));n=m*(2.0/(r*r+m*m+u*u+q*q));p=u*(2.0/(r*r+m*m+u*u+q*q));g[j+212>>2]=1.0-(m*n+u*p);g[v>>2]=r*n-q*p;g[j+220>>2]=r*p+q*n;g[j+224>>2]=0.0;g[j+228>>2]=r*n+q*p;g[j+232>>2]=1.0-(r*o+u*p);g[t>>2]=m*p-q*o;g[j+240>>2]=0.0;g[j+244>>2]=r*p-q*n;g[j+248>>2]=m*p+q*o;g[j+252>>2]=1.0-(r*o+m*n);g[s>>2]=0.0;mu(b,j+212|0,j+16|0,j+32|0,j+64|0,j+48|0);c[j+212>>2]=7848;c[j+248>>2]=c[d+0>>2];c[j+252>>2]=c[d+4>>2];c[j+256>>2]=c[d+8>>2];c[j+260>>2]=c[d+12>>2];c[j+264>>2]=c[d+16>>2];c[j+268>>2]=c[d+20>>2];c[j+272>>2]=c[d+24>>2];c[j+276>>2]=c[d+28>>2];c[j+280>>2]=c[d+32>>2];c[j+284>>2]=c[d+36>>2];c[j+288>>2]=c[d+40>>2];c[j+292>>2]=c[d+44>>2];s=j+296|0;c[s+0>>2]=c[d+48>>2];c[s+4>>2]=c[d+52>>2];c[s+8>>2]=c[d+56>>2];c[s+12>>2]=c[d+60>>2];c[j+312>>2]=c[e+0>>2];c[j+316>>2]=c[e+4>>2];c[j+320>>2]=c[e+8>>2];c[j+324>>2]=c[e+12>>2];c[j+328>>2]=c[e+16>>2];c[j+332>>2]=c[e+20>>2];c[j+336>>2]=c[e+24>>2];c[j+340>>2]=c[e+28>>2];c[j+344>>2]=c[e+32>>2];c[j+348>>2]=c[e+36>>2];c[j+352>>2]=c[e+40>>2];c[j+356>>2]=c[e+44>>2];d=j+360|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];c[j+392>>2]=a;c[j+396>>2]=f;g[j+400>>2]=h;c[j+404>>2]=b;n=+g[d>>2]- +g[s>>2];h=+g[j+364>>2]- +g[j+300>>2];m=+g[j+368>>2]- +g[j+304>>2];o=1.0/+Q(+(n*n+h*h+m*m));if(n*o==0.0)p=999999984306749400.0;else p=1.0/(n*o);g[j+216>>2]=p;if(h*o==0.0)q=999999984306749400.0;else q=1.0/(h*o);g[j+220>>2]=q;if(m*o==0.0)r=999999984306749400.0;else r=1.0/(m*o);g[j+224>>2]=r;c[j+232>>2]=p<0.0&1;c[j+236>>2]=q<0.0&1;c[j+240>>2]=r<0.0&1;g[j+244>>2]=m*m*o+(n*n*o+h*h*o);v=c[a+68>>2]|0;Zb[c[(c[v>>2]|0)+24>>2]&7](v,k,l,j+212|0,j+64|0,j+48|0);k=c[5022]|0;v=(c[k+16>>2]|0)+ -1|0;c[k+16>>2]=v;if((v|0)!=0){i=j;return}do if((c[k+4>>2]|0)!=0){Eb(j+212|0,0)|0;v=c[5008]|0;g[k+8>>2]=+(((c[j+216>>2]|0)-(c[v+4>>2]|0)+(((c[j+212>>2]|0)-(c[v>>2]|0)|0)*1e6|0)-(c[k+12>>2]|0)|0)>>>0)/1.0e3+ +g[k+8>>2];if((c[k+16>>2]|0)==0){k=c[5022]|0;break}else{i=j;return}}while(0);c[5022]=c[k+20>>2];i=j;return}function Fu(a){a=a|0;return}function Gu(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+68>>2]=g;c[f+72>>2]=b;c[f+76>>2]=b+4;c[f+80>>2]=-1;c[f+84>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+44>>2]=b;c[f+48>>2]=d;c[f+52>>2]=d+4;c[f+56>>2]=-1;c[f+60>>2]=-1;d=c[a+24>>2]|0;d=Tb[c[(c[d>>2]|0)+8>>2]&31](d,f+64|0,f+40|0,0)|0;if((d|0)==0){i=f;return}c[f+4>>2]=0;c[f+8>>2]=f+64;c[f+12>>2]=f+40;c[f>>2]=7728;c[f+32>>2]=e;Jb[c[(c[d>>2]|0)+8>>2]&31](d,f+64|0,f+40|0,a+28|0,f);Lb[c[c[d>>2]>>2]&511](d);g=c[a+24>>2]|0;Nb[c[(c[g>>2]|0)+60>>2]&127](g,d);i=f;return}function Hu(a){a=a|0;return}function Iu(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.0,m=0.0,n=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.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;f=i;i=i+480|0;h=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;tc[c[(c[h>>2]|0)+56>>2]&7](h,b,1.0);h=c[d+4>>2]|0;switch(h|0){case 9:{h=c[d+92>>2]|0;if((h|0)<=0){i=f;return}do{h=h+ -1|0;r=c[d+100>>2]|0;D=+g[r+(h<<4)>>2];C=+g[r+(h<<4)+4>>2];m=+g[r+(h<<4)+8>>2];r=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[r>>2]|0)+16>>2]|0;o=+g[(c[d+120>>2]|0)+(h<<2)>>2];A=+g[b>>2];z=+g[b+4>>2];B=+g[b+8>>2];x=+g[b+16>>2];w=+g[b+20>>2];y=+g[b+24>>2];u=+g[b+32>>2];t=+g[b+36>>2];v=+g[b+40>>2];s=D*A+C*z+m*B+ +g[b+48>>2];l=D*x+C*w+m*y+ +g[b+52>>2];m=D*u+C*t+m*v+ +g[b+56>>2];g[f+320>>2]=A+z*0.0+B*0.0;g[f+324>>2]=A*0.0+z+B*0.0;g[f+328>>2]=B+(A*0.0+z*0.0);g[f+332>>2]=0.0;g[f+336>>2]=x+w*0.0+y*0.0;g[f+340>>2]=x*0.0+w+y*0.0;g[f+344>>2]=y+(x*0.0+w*0.0);g[f+348>>2]=0.0;g[f+352>>2]=u+t*0.0+v*0.0;g[f+356>>2]=u*0.0+t+v*0.0;g[f+360>>2]=v+(u*0.0+t*0.0);g[f+364>>2]=0.0;g[f+368>>2]=s;g[f+372>>2]=l;g[f+376>>2]=m;g[f+380>>2]=0.0;Sb[q&0](r,o,f+320|0,e)}while((h|0)>0);i=f;return};case 8:{D=+$b[c[(c[d>>2]|0)+48>>2]&15](d);r=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Sb[c[(c[r>>2]|0)+16>>2]&0](r,D,b,e);i=f;return};case 28:{D=+g[d+64>>2];r=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;cc[c[(c[r>>2]|0)+88>>2]&0](r,d+48|0,D,b,e);i=f;return};case 11:{C=+g[d+56>>2];D=+g[d+60>>2];r=c[d+68>>2]|0;q=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Rb[c[(c[q>>2]|0)+84>>2]&0](q,C,D,r,b,e);i=f;return};case 31:{h=c[d+16>>2]|0;if((h|0)<=0){i=f;return}do{h=h+ -1|0;r=c[d+24>>2]|0;l=+g[r+(h*80|0)>>2];s=+g[r+(h*80|0)+4>>2];v=+g[r+(h*80|0)+8>>2];m=+g[r+(h*80|0)+16>>2];t=+g[r+(h*80|0)+20>>2];x=+g[r+(h*80|0)+24>>2];o=+g[r+(h*80|0)+32>>2];u=+g[r+(h*80|0)+36>>2];z=+g[r+(h*80|0)+40>>2];L=+g[r+(h*80|0)+48>>2];K=+g[r+(h*80|0)+52>>2];D=+g[r+(h*80|0)+56>>2];r=c[r+(h*80|0)+64>>2]|0;q=c[(c[a>>2]|0)+28>>2]|0;J=+g[b>>2];I=+g[b+4>>2];H=+g[b+8>>2];G=+g[b+16>>2];F=+g[b+20>>2];E=+g[b+24>>2];w=+g[b+32>>2];y=+g[b+36>>2];A=+g[b+40>>2];B=L*J+K*I+D*H+ +g[b+48>>2];C=L*G+K*F+D*E+ +g[b+52>>2];D=L*w+K*y+D*A+ +g[b+56>>2];g[f+416>>2]=l*J+m*I+o*H;g[f+420>>2]=s*J+t*I+u*H;g[f+424>>2]=v*J+x*I+z*H;g[f+428>>2]=0.0;g[f+432>>2]=l*G+m*F+o*E;g[f+436>>2]=s*G+t*F+u*E;g[f+440>>2]=v*G+x*F+z*E;g[f+444>>2]=0.0;g[f+448>>2]=l*w+m*y+o*A;g[f+452>>2]=s*w+t*y+u*A;g[f+456>>2]=v*w+x*y+z*A;g[f+460>>2]=0.0;g[f+464>>2]=B;g[f+468>>2]=C;g[f+472>>2]=D;g[f+476>>2]=0.0;vc[q&127](a,f+416|0,r,e)}while((h|0)>0);i=f;return};case 10:{r=c[d+52>>2]|0;K=+g[d+(((r+2|0)%3|0)<<2)+28>>2];L=+g[d+(r<<2)+28>>2];q=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Rb[c[(c[q>>2]|0)+76>>2]&0](q,K,L,r,b,e);i=f;return};case 0:{c[f+400>>2]=c[d+28>>2];c[f+404>>2]=c[d+32>>2];c[f+408>>2]=c[d+36>>2];c[f+412>>2]=c[d+40>>2];J=+$b[c[(c[d>>2]|0)+48>>2]&15](d);K=+$b[c[(c[d>>2]|0)+48>>2]&15](d);L=+$b[c[(c[d>>2]|0)+48>>2]&15](d);J=J+ +g[f+400>>2];g[f+400>>2]=J;K=K+ +g[f+404>>2];g[f+404>>2]=K;L=L+ +g[f+408>>2];g[f+408>>2]=L;r=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[r>>2]|0)+72>>2]|0;g[f+384>>2]=-J;g[f+388>>2]=-K;g[f+392>>2]=-L;g[f+396>>2]=0.0;Jb[q&31](r,f+384|0,f+400|0,b,e);i=f;return};case 13:{r=c[d+52>>2]|0;K=+$b[c[(c[d>>2]|0)+92>>2]&15](d);c[f+304>>2]=c[d+28>>2];c[f+308>>2]=c[d+32>>2];c[f+312>>2]=c[d+36>>2];c[f+316>>2]=c[d+40>>2];I=+$b[c[(c[d>>2]|0)+48>>2]&15](d);J=+$b[c[(c[d>>2]|0)+48>>2]&15](d);L=+$b[c[(c[d>>2]|0)+48>>2]&15](d);g[f+304>>2]=I+ +g[f+304>>2];g[f+308>>2]=J+ +g[f+308>>2];g[f+312>>2]=L+ +g[f+312>>2];L=+g[f+304+(r<<2)>>2];q=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Rb[c[(c[q>>2]|0)+80>>2]&0](q,K,L,r,b,e);i=f;return};default:{a:do if((h|0)<7){j=c[d+52>>2]|0;if((j|0)==0){if((Pb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;h=0;while(1){vc[c[(c[d>>2]|0)+104>>2]&127](d,h,f+208|0,f+192|0);J=+g[f+208>>2];x=+g[b>>2];H=+g[f+212>>2];y=+g[b+4>>2];F=+g[f+216>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];A=+g[b+48>>2];E=+g[b+52>>2];L=+g[b+56>>2];g[f+176>>2]=J*x+H*y+F*z+A;g[f+180>>2]=J*B+H*C+F*D+E;g[f+184>>2]=J*G+H*I+F*K+L;g[f+188>>2]=0.0;F=+g[f+192>>2];H=+g[f+196>>2];J=+g[f+200>>2];g[f+160>>2]=F*x+H*y+J*z+A;g[f+164>>2]=F*B+H*C+J*D+E;g[f+168>>2]=F*G+H*I+J*K+L;g[f+172>>2]=0.0;r=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;vc[c[(c[r>>2]|0)+8>>2]&127](r,f+176|0,f+160|0,e);h=h+1|0;if((h|0)>=(Pb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[j+28>>2]|0)>0){h=0;do{n=c[j+36>>2]|0;k=c[n+(h*36|0)+4>>2]|0;b:do if((k|0)>0){p=c[n+(h*36|0)+12>>2]|0;q=p;o=0.0;m=0.0;l=0.0;p=c[p+(k+ -1<<2)>>2]|0;r=0;while(1){n=c[q+(r<<2)>>2]|0;q=c[j+16>>2]|0;o=o+ +g[q+(n<<4)>>2];m=m+ +g[q+(n<<4)+4>>2];l=l+ +g[q+(n<<4)+8>>2];q=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;M=c[(c[q>>2]|0)+8>>2]|0;N=c[j+16>>2]|0;J=+g[N+(p<<4)>>2];x=+g[b>>2];H=+g[N+(p<<4)+4>>2];y=+g[b+4>>2];F=+g[N+(p<<4)+8>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];A=+g[b+48>>2];E=+g[b+52>>2];L=+g[b+56>>2];g[f+288>>2]=J*x+H*y+F*z+A;g[f+292>>2]=J*B+H*C+F*D+E;g[f+296>>2]=J*G+H*I+F*K+L;g[f+300>>2]=0.0;F=+g[N+(n<<4)>>2];H=+g[N+(n<<4)+4>>2];J=+g[N+(n<<4)+8>>2];g[f+272>>2]=F*x+H*y+J*z+A;g[f+276>>2]=F*B+H*C+J*D+E;g[f+280>>2]=F*G+H*I+J*K+L;g[f+284>>2]=0.0;vc[M&127](q,f+288|0,f+272|0,e);r=r+1|0;p=c[j+36>>2]|0;if((r|0)>=(c[p+(h*36|0)+4>>2]|0))break b;q=c[p+(h*36|0)+12>>2]|0;p=n}}else{o=0.0;m=0.0;l=0.0}while(0);o=o*(1.0/+(k|0));m=m*(1.0/+(k|0));l=l*(1.0/+(k|0));N=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if(((Pb[c[(c[N>>2]|0)+48>>2]&127](N)|0)&16384|0)!=0){g[f+256>>2]=1.0;g[f+260>>2]=1.0;g[f+264>>2]=0.0;g[f+268>>2]=0.0;N=c[j+36>>2]|0;F=+g[N+(h*36|0)+20>>2];H=+g[N+(h*36|0)+24>>2];J=+g[N+(h*36|0)+28>>2];N=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;M=c[(c[N>>2]|0)+8>>2]|0;x=+g[b>>2];y=+g[b+4>>2];z=+g[b+8>>2];B=+g[b+16>>2];C=+g[b+20>>2];D=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];A=+g[b+48>>2];E=+g[b+52>>2];L=+g[b+56>>2];g[f+240>>2]=o*x+m*y+l*z+A;g[f+244>>2]=o*B+m*C+l*D+E;g[f+248>>2]=o*G+m*I+l*K+L;g[f+252>>2]=0.0;g[f+224>>2]=(o+F)*x+(m+H)*y+(l+J)*z+A;g[f+228>>2]=(o+F)*B+(m+H)*C+(l+J)*D+E;g[f+232>>2]=(o+F)*G+(m+H)*I+(l+J)*K+L;g[f+236>>2]=0.0;vc[M&127](N,f+240|0,f+224|0,f+256|0)}h=h+1|0}while((h|0)<(c[j+28>>2]|0))}}while(0);h=c[d+4>>2]|0;if((h+ -21|0)>>>0<9){g[f+144>>2]=999999984306749400.0;g[f+148>>2]=999999984306749400.0;g[f+152>>2]=999999984306749400.0;g[f+156>>2]=0.0;g[f+128>>2]=-999999984306749400.0;g[f+132>>2]=-999999984306749400.0;g[f+136>>2]=-999999984306749400.0;g[f+140>>2]=0.0;h=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[f+32>>2]=7624;c[f+36>>2]=7648;c[f+40>>2]=h;c[f+44>>2]=c[e+0>>2];c[f+48>>2]=c[e+4>>2];c[f+52>>2]=c[e+8>>2];c[f+56>>2]=c[e+12>>2];c[f+60>>2]=c[b+0>>2];c[f+64>>2]=c[b+4>>2];c[f+68>>2]=c[b+8>>2];c[f+72>>2]=c[b+12>>2];c[f+76>>2]=c[b+16>>2];c[f+80>>2]=c[b+20>>2];c[f+84>>2]=c[b+24>>2];c[f+88>>2]=c[b+28>>2];c[f+92>>2]=c[b+32>>2];c[f+96>>2]=c[b+36>>2];c[f+100>>2]=c[b+40>>2];c[f+104>>2]=c[b+44>>2];c[f+108>>2]=c[b+48>>2];c[f+112>>2]=c[b+52>>2];c[f+116>>2]=c[b+56>>2];c[f+120>>2]=c[b+60>>2];vc[c[(c[d>>2]|0)+64>>2]&127](d,f+32|0,f+128|0,f+144|0);h=c[d+4>>2]|0}if((h|0)!=3){i=f;return}g[f+16>>2]=999999984306749400.0;g[f+20>>2]=999999984306749400.0;g[f+24>>2]=999999984306749400.0;g[f+28>>2]=0.0;g[f>>2]=-999999984306749400.0;g[f+4>>2]=-999999984306749400.0;g[f+8>>2]=-999999984306749400.0;g[f+12>>2]=0.0;N=Pb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[f+32>>2]=7624;c[f+36>>2]=7648;c[f+40>>2]=N;c[f+44>>2]=c[e+0>>2];c[f+48>>2]=c[e+4>>2];c[f+52>>2]=c[e+8>>2];c[f+56>>2]=c[e+12>>2];c[f+60>>2]=c[b+0>>2];c[f+64>>2]=c[b+4>>2];c[f+68>>2]=c[b+8>>2];c[f+72>>2]=c[b+12>>2];c[f+76>>2]=c[b+16>>2];c[f+80>>2]=c[b+20>>2];c[f+84>>2]=c[b+24>>2];c[f+88>>2]=c[b+28>>2];c[f+92>>2]=c[b+32>>2];c[f+96>>2]=c[b+36>>2];c[f+100>>2]=c[b+40>>2];c[f+104>>2]=c[b+44>>2];c[f+108>>2]=c[b+48>>2];c[f+112>>2]=c[b+52>>2];c[f+116>>2]=c[b+56>>2];c[f+120>>2]=c[b+60>>2];N=c[d+92>>2]|0;vc[c[(c[N>>2]|0)+8>>2]&127](N,f+36|0,f,f+16|0);i=f;return}}}function Ju(a){a=a|0;return}function Ku(b){b=b|0;var d=0,e=0,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,r=0;d=i;i=i+112|0;if(((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(r=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&8|0)!=0):0)?(e=c[b+24>>2]|0,e=Pb[c[(c[e>>2]|0)+36>>2]&127](e)|0,g[d+96>>2]=1.0,g[d+100>>2]=1.0,g[d+104>>2]=0.0,g[d+108>>2]=0.0,(e|0)>0):0){q=0;do{h=c[b+24>>2]|0;h=gc[c[(c[h>>2]|0)+40>>2]&31](h,q)|0;j=c[h+748>>2]|0;if((j|0)>0){f=0;do{r=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Mb[c[(c[r>>2]|0)+32>>2]&0](r,h+(f*184|0)+36|0,h+(f*184|0)+68|0,+g[h+(f*184|0)+84>>2],c[h+(f*184|0)+152>>2]|0,d+96|0);f=f+1|0}while((f|0)!=(j|0))}q=q+1|0}while((q|0)!=(e|0))}if((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)==0){i=d;return}r=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(((Pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&3|0)==0){i=d;return}if((c[b+8>>2]|0)<=0){i=d;return}j=d+84|0;h=d+88|0;f=d+92|0;e=0;do{q=c[(c[b+16>>2]|0)+(e<<2)>>2]|0;if((c[q+204>>2]&32|0)==0){if((Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(r=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&1|0)!=0):0){g[d+80>>2]=1.0;g[j>>2]=1.0;g[h>>2]=1.0;g[f>>2]=0.0;switch(c[q+216>>2]|0){case 1:{g[d+80>>2]=1.0;g[j>>2]=1.0;g[h>>2]=1.0;g[f>>2]=0.0;break};case 4:{g[d+80>>2]=1.0;g[j>>2]=0.0;g[h>>2]=0.0;g[f>>2]=0.0;break};case 5:{g[d+80>>2]=1.0;g[j>>2]=1.0;g[h>>2]=0.0;g[f>>2]=0.0;break};case 2:{g[d+80>>2]=0.0;g[j>>2]=1.0;g[h>>2]=0.0;g[f>>2]=0.0;break};case 3:{g[d+80>>2]=0.0;g[j>>2]=1.0;g[h>>2]=1.0;g[f>>2]=0.0;break};default:{g[d+80>>2]=1.0;g[j>>2]=0.0;g[h>>2]=0.0;g[f>>2]=0.0}}vc[c[(c[b>>2]|0)+28>>2]&127](b,q+4|0,c[q+192>>2]|0,d+80|0)}r=c[b+72>>2]|0;if((r|0)!=0?((Pb[c[(c[r>>2]|0)+48>>2]&127](r)|0)&2|0)!=0:0){g[d+32>>2]=1.0;g[d+36>>2]=0.0;g[d+40>>2]=0.0;g[d+44>>2]=0.0;r=c[q+192>>2]|0;vc[c[(c[r>>2]|0)+8>>2]&127](r,q+4|0,d+64|0,d+48|0);g[d+64>>2]=+g[d+64>>2]+-.019999999552965164;g[d+68>>2]=+g[d+68>>2]+-.019999999552965164;g[d+72>>2]=+g[d+72>>2]+-.019999999552965164;g[d+48>>2]=+g[d+48>>2]+.019999999552965164;g[d+52>>2]=+g[d+52>>2]+.019999999552965164;g[d+56>>2]=+g[d+56>>2]+.019999999552965164;do if(((a[b+44>>0]|0)!=0?(c[q+236>>2]|0)==2:0)?(c[q+204>>2]&3|0)==0:0){r=c[q+192>>2]|0;vc[c[(c[r>>2]|0)+8>>2]&127](r,q+68|0,d+16|0,d);p=+g[d+16>>2]+-.019999999552965164;g[d+16>>2]=p;o=+g[d+20>>2]+-.019999999552965164;g[d+20>>2]=o;n=+g[d+24>>2]+-.019999999552965164;g[d+24>>2]=n;m=+g[d>>2]+.019999999552965164;g[d>>2]=m;l=+g[d+4>>2]+.019999999552965164;g[d+4>>2]=l;k=+g[d+8>>2]+.019999999552965164;g[d+8>>2]=k;if(p<+g[d+64>>2])g[d+64>>2]=p;if(o<+g[d+68>>2])g[d+68>>2]=o;if(n<+g[d+72>>2])g[d+72>>2]=n;n=+g[d+28>>2];if(n<+g[d+76>>2])g[d+76>>2]=n;if(+g[d+48>>2]>2]=m;if(+g[d+52>>2]>2]=l;if(+g[d+56>>2]>2]=k;k=+g[d+12>>2];if(!(+g[d+60>>2]>2]=k}while(0);r=c[b+72>>2]|0;vc[c[(c[r>>2]|0)+52>>2]&127](r,d+64|0,d+48|0,d+32|0)}}e=e+1|0}while((e|0)<(c[b+8>>2]|0));i=d;return}function Lu(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;j=i;i=i+80|0;r=c[b+8>>2]|0;if((r|0)>0){m=0;do{n=c[(c[b+16>>2]|0)+(m<<2)>>2]|0;if((c[n+236>>2]|0)==1){Nb[c[(c[n>>2]|0)+24>>2]&127](n,d);r=c[b+8>>2]|0}m=m+1|0}while((m|0)<(r|0))}a[j+16>>0]=1;c[j+12>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;a[j+36>>0]=1;c[j+32>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;a[j+56>>0]=1;c[j+52>>2]=0;c[j+44>>2]=0;c[j+48>>2]=0;a[j+76>>0]=1;c[j+72>>2]=0;c[j+64>>2]=0;c[j+68>>2]=0;if((r|0)<=0){Nu(j);i=j;return}u=-1;t=0;p=0;s=0;q=0;m=0;while(1){n=c[(c[(c[b+16>>2]|0)+(m<<2)>>2]|0)+192>>2]|0;o=(n+~(n<<15)>>10^n+~(n<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);u=o&u;a:do if(u>>>0>>0?(h=c[p+(u<<2)>>2]|0,!((h|0)==-1)):0){u=c[j+72>>2]|0;v=h;while(1){if((n|0)==(c[u+(v<<3)>>2]|0))break;v=c[s+(v<<2)>>2]|0;if((v|0)==-1){f=15;break a}}if(!(!((v|0)==-1)?((c[j+52>>2]|0)+(v<<2)|0)!=0:0))f=15}else f=15;while(0);if((f|0)==15){f=0;r=o&q+ -1;b:do if(r>>>0>>0?(g=c[p+(r<<2)>>2]|0,!((g|0)==-1)):0){t=c[j+72>>2]|0;u=g;while(1){if((n|0)==(c[t+(u<<3)>>2]|0))break;u=c[s+(u<<2)>>2]|0;if((u|0)==-1){f=22;break b}}if(!((u|0)==-1))c[(c[j+52>>2]|0)+(u<<2)>>2]=n;else f=22}else f=22;while(0);if((f|0)==22){f=0;p=c[j+44>>2]|0;if((p|0)==(q|0)){s=(q|0)==0?1:q<<1;if((q|0)<(s|0)){if((s|0)!=0?(c[5004]=(c[5004]|0)+1,l=XE((s<<2|3)+16|0)|0,(l|0)!=0):0){c[(l+19&-16)+ -4>>2]=l;t=l+19&-16}else t=0;if((q|0)>0){u=0;do{v=t+(u<<2)|0;if((v|0)!=0)c[v>>2]=c[(c[j+52>>2]|0)+(u<<2)>>2];u=u+1|0}while((u|0)!=(q|0))}u=c[j+52>>2]|0;if((u|0)!=0){if((a[j+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[u+ -4>>2]|0)}c[j+52>>2]=0}a[j+56>>0]=1;c[j+52>>2]=t;c[j+48>>2]=s;s=q}else s=q}else s=p;t=(c[j+52>>2]|0)+(s<<2)|0;if((t|0)!=0)c[t>>2]=n;c[j+44>>2]=s+1;t=c[j+64>>2]|0;if((t|0)==(c[j+68>>2]|0)?(k=(t|0)==0?1:t<<1,(t|0)<(k|0)):0){if((k|0)!=0?(c[5004]=(c[5004]|0)+1,e=XE((k<<3|3)+16|0)|0,(e|0)!=0):0){c[(e+19&-16)+ -4>>2]=e;s=e+19&-16}else s=0;if((t|0)>0){v=0;do{u=s+(v<<3)|0;if((u|0)!=0){x=(c[j+72>>2]|0)+(v<<3)|0;w=c[x+4>>2]|0;c[u>>2]=c[x>>2];c[u+4>>2]=w}v=v+1|0}while((v|0)!=(t|0))}t=c[j+72>>2]|0;if((t|0)!=0){if((a[j+76>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[t+ -4>>2]|0)}c[j+72>>2]=0}a[j+76>>0]=1;c[j+72>>2]=s;c[j+68>>2]=k;t=c[j+64>>2]|0}s=(c[j+72>>2]|0)+(t<<3)|0;if((s|0)!=0){c[s>>2]=n;c[s+4>>2]=0}c[j+64>>2]=t+1;s=c[j+48>>2]|0;if((q|0)<(s|0)){q=c[j+4>>2]|0;do if((q|0)<(s|0)){if((q|0)<=(s|0)){if((c[j+8>>2]|0)<(s|0)){do if((s|0)==0)r=0;else{c[5004]=(c[5004]|0)+1;r=XE((s<<2|3)+16|0)|0;if((r|0)==0){r=0;break}c[(r+19&-16)+ -4>>2]=r;r=r+19&-16}while(0);v=c[j+12>>2]|0;if((q|0)>0){u=0;do{t=r+(u<<2)|0;if((t|0)!=0)c[t>>2]=c[v+(u<<2)>>2];u=u+1|0}while((u|0)!=(q|0))}if((v|0)!=0){if((a[j+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[v+ -4>>2]|0)}c[j+12>>2]=0}a[j+16>>0]=1;c[j+12>>2]=r;c[j+8>>2]=s}else r=c[j+12>>2]|0;t=q;do{u=r+(t<<2)|0;if((u|0)!=0)c[u>>2]=0;t=t+1|0}while((t|0)!=(s|0))}c[j+4>>2]=s;r=c[j+24>>2]|0;if((r|0)<(s|0)){if((c[j+28>>2]|0)<(s|0)){do if((s|0)==0)t=0;else{c[5004]=(c[5004]|0)+1;t=XE((s<<2|3)+16|0)|0;if((t|0)==0){t=0;break}c[(t+19&-16)+ -4>>2]=t;t=t+19&-16}while(0);v=c[j+32>>2]|0;if((r|0)>0){w=0;do{u=t+(w<<2)|0;if((u|0)!=0)c[u>>2]=c[v+(w<<2)>>2];w=w+1|0}while((w|0)!=(r|0))}if((v|0)!=0){if((a[j+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[v+ -4>>2]|0)}c[j+32>>2]=0}a[j+36>>0]=1;c[j+32>>2]=t;c[j+28>>2]=s}else t=c[j+32>>2]|0;do{u=t+(r<<2)|0;if((u|0)!=0)c[u>>2]=0;r=r+1|0}while((r|0)!=(s|0))}c[j+24>>2]=s;if((s|0)>0){$E(c[j+12>>2]|0,-1,s<<2|0)|0;$E(c[j+32>>2]|0,-1,s<<2|0)|0}if((q|0)<=0){s=c[j+48>>2]|0;break}t=c[j+72>>2]|0;r=c[j+12>>2]|0;v=c[j+32>>2]|0;s=c[j+48>>2]|0;u=0;do{x=c[t+(u<<3)>>2]|0;x=(x+~(x<<15)>>10^x+~(x<<15))*9|0;x=r+((((x>>6^x)+~((x>>6^x)<<11)>>16^(x>>6^x)+~((x>>6^x)<<11))&s+ -1)<<2)|0;c[v+(u<<2)>>2]=c[x>>2];c[x>>2]=u;u=u+1|0}while((u|0)!=(q|0))}while(0);q=s;r=o&s+ -1}else q=s;x=c[j+12>>2]|0;w=x+(r<<2)|0;s=c[j+32>>2]|0;c[s+(p<<2)>>2]=c[w>>2];c[w>>2]=p;p=x}Nb[c[(c[n>>2]|0)+60>>2]&127](n,d);r=c[b+8>>2]|0}m=m+1|0;if((m|0)>=(r|0))break;u=q+ -1|0;t=c[j+4>>2]|0}Nu(j);i=j;return}function Mu(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[b>>2]|0)+32>>2]&511](b);Lu(a,b);Lb[c[(c[b>>2]|0)+36>>2]&511](b);i=d;return}function Nu(b){b=b|0;var d=0,e=0;d=i;e=c[b+72>>2]|0;if((e|0)!=0){if((a[b+76>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+52>>2]|0;if((e|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+12>>2]|0;if((e|0)==0){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;e=b+8|0;c[e>>2]=0;i=d;return}if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;e=b+8|0;c[e>>2]=0;i=d;return}function Ou(a){a=a|0;return}function Pu(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Qu(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;d=i;i=i+96|0;p=+g[b>>2];j=+g[a+28>>2];q=+g[b+4>>2];l=+g[a+32>>2];r=+g[b+8>>2];n=+g[a+36>>2];s=+g[a+44>>2];t=+g[a+48>>2];f=+g[a+52>>2];v=+g[a+60>>2];w=+g[a+64>>2];x=+g[a+68>>2];o=+g[a+76>>2];u=+g[a+80>>2];y=+g[a+84>>2];g[d+80>>2]=p*j+q*l+r*n+o;g[d+84>>2]=p*s+q*t+r*f+u;g[d+88>>2]=p*v+q*w+r*x+y;g[d+92>>2]=0.0;h=+g[b+16>>2];k=+g[b+20>>2];m=+g[b+24>>2];g[d+64>>2]=h*j+k*l+m*n+o;g[d+68>>2]=h*s+k*t+m*f+u;g[d+72>>2]=h*v+k*w+m*x+y;g[d+76>>2]=0.0;z=+g[b+32>>2];A=+g[b+36>>2];B=+g[b+40>>2];g[d+48>>2]=z*j+A*l+B*n+o;g[d+52>>2]=z*s+A*t+B*f+u;g[d+56>>2]=z*v+A*w+B*x+y;g[d+60>>2]=0.0;C=(p*j+q*l+r*n+o+(h*j+k*l+m*n+o)+(z*j+A*l+B*n+o))*.3333333432674408;D=(p*s+q*t+r*f+u+(h*s+k*t+m*f+u)+(z*s+A*t+B*f+u))*.3333333432674408;E=(p*v+q*w+r*x+y+(h*v+k*w+m*x+y)+(z*v+A*w+B*x+y))*.3333333432674408;g[d+32>>2]=C;g[d+36>>2]=D;g[d+40>>2]=E;g[d+44>>2]=0.0;e=c[a+8>>2]|0;if(((Pb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&16384|0)==0){b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;e=a+12|0;vc[F&127](b,d+80|0,d+64|0,e);b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;vc[F&127](b,d+64|0,d+48|0,e);b=c[a+8>>2]|0;a=c[b>>2]|0;a=a+8|0;a=c[a>>2]|0;vc[a&127](b,d+48|0,d+80|0,e);i=d;return}H=h*j+k*l+m*n+o-(p*j+q*l+r*n+o);G=h*s+k*t+m*f+u-(p*s+q*t+r*f+u);m=h*v+k*w+m*x+y-(p*v+q*w+r*x+y);o=z*j+A*l+B*n+o-(p*j+q*l+r*n+o);u=z*s+A*t+B*f+u-(p*s+q*t+r*f+u);A=z*v+A*w+B*x+y-(p*v+q*w+r*x+y);B=1.0/+Q(+((H*u-G*o)*(H*u-G*o)+((G*A-m*u)*(G*A-m*u)+(m*o-H*A)*(m*o-H*A))));g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+28>>2]=0.0;e=c[a+8>>2]|0;b=c[(c[e>>2]|0)+8>>2]|0;g[d>>2]=B*(G*A-m*u)+C;g[d+4>>2]=B*(m*o-H*A)+D;g[d+8>>2]=B*(H*u-G*o)+E;g[d+12>>2]=0.0;vc[b&127](e,d+32|0,d,d+16|0);e=c[a+8>>2]|0;b=c[e>>2]|0;b=b+8|0;b=c[b>>2]|0;F=a+12|0;vc[b&127](e,d+80|0,d+64|0,F);e=c[a+8>>2]|0;b=c[e>>2]|0;b=b+8|0;b=c[b>>2]|0;vc[b&127](e,d+64|0,d+48|0,F);e=c[a+8>>2]|0;b=c[e>>2]|0;b=b+8|0;b=c[b>>2]|0;vc[b&127](e,d+48|0,d+80|0,F);i=d;return}function Ru(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);i=f;return}function Su(a){a=a|0;var b=0;b=i;YE(a+ -4|0);i=b;return}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a+ -4>>2]|0)+8>>2]&127](a+ -4|0,b,d,e);i=f;return}function Uu(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=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.0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0,z=0,A=0;n=i;i=i+192|0;h=c[(c[b+4>>2]|0)+740>>2]|0;j=c[(c[b+8>>2]|0)+8>>2]|0;q=+g[e>>2];k=+g[d>>2]*f+q;o=+g[e+4>>2];l=+g[d+4>>2]*f+o;p=+g[e+8>>2];m=+g[d+8>>2]*f+p;if((h|0)!=(j|0)){w=c[(c[b+12>>2]|0)+8>>2]|0;x=k- +g[w+52>>2];s=l- +g[w+56>>2];t=m- +g[w+60>>2];v=q- +g[j+52>>2];u=o- +g[j+56>>2];r=p- +g[j+60>>2];q=x*+g[w+4>>2]+s*+g[w+20>>2]+t*+g[w+36>>2];o=x*+g[w+8>>2]+s*+g[w+24>>2]+t*+g[w+40>>2];p=x*+g[w+12>>2]+s*+g[w+28>>2]+t*+g[w+44>>2];t=v*+g[j+4>>2]+u*+g[j+20>>2]+r*+g[j+36>>2];s=v*+g[j+8>>2]+u*+g[j+24>>2]+r*+g[j+40>>2];r=v*+g[j+12>>2]+u*+g[j+28>>2]+r*+g[j+44>>2]}else{u=k- +g[h+52>>2];s=l- +g[h+56>>2];t=m- +g[h+60>>2];w=c[(c[b+12>>2]|0)+8>>2]|0;v=q- +g[w+52>>2];x=o- +g[w+56>>2];r=p- +g[w+60>>2];q=u*+g[h+4>>2]+s*+g[h+20>>2]+t*+g[h+36>>2];o=u*+g[h+8>>2]+s*+g[h+24>>2]+t*+g[h+40>>2];p=u*+g[h+12>>2]+s*+g[h+28>>2]+t*+g[h+44>>2];t=v*+g[w+4>>2]+x*+g[w+20>>2]+r*+g[w+36>>2];s=v*+g[w+8>>2]+x*+g[w+24>>2]+r*+g[w+40>>2];r=v*+g[w+12>>2]+x*+g[w+28>>2]+r*+g[w+44>>2]}g[n>>2]=q;g[n+4>>2]=o;g[n+8>>2]=p;g[n+12>>2]=0.0;g[n+16>>2]=t;g[n+20>>2]=s;g[n+24>>2]=r;g[n+28>>2]=0.0;c[n+64>>2]=c[d+0>>2];c[n+68>>2]=c[d+4>>2];c[n+72>>2]=c[d+8>>2];c[n+76>>2]=c[d+12>>2];g[n+80>>2]=f;g[n+84>>2]=0.0;g[n+88>>2]=0.0;g[n+92>>2]=0.0;c[n+112>>2]=0;a[n+116>>0]=0;c[n+120>>2]=0;c[n+124>>2]=0;c[n+128>>2]=0;c[n+132>>2]=0;c[n+136>>2]=0;c[n+140>>2]=0;c[n+144>>2]=0;c[n+148>>2]=0;g[n+48>>2]=k;g[n+52>>2]=l;g[n+56>>2]=m;g[n+60>>2]=0.0;c[n+32>>2]=c[e+0>>2];c[n+36>>2]=c[e+4>>2];c[n+40>>2]=c[e+8>>2];c[n+44>>2]=c[e+12>>2];if((h|0)!=(j|0)){z=c[b+20>>2]|0;c[n+96>>2]=z;e=c[b+16>>2]|0;c[n+100>>2]=e;y=c[b+28>>2]|0;c[n+104>>2]=y;w=c[b+24>>2]|0;c[n+108>>2]=w;d=b+12|0;A=(h|0)!=(j|0)?d:b+8|0;A=c[A>>2]|0;d=(h|0)!=(j|0)?b+8|0:d;d=c[d>>2]|0;j=b+32|0;j=c[j>>2]|0;h=c[j>>2]|0;h=h+12|0;h=c[h>>2]|0;+Vb[h&1](j,n,A,z,y,d,e,w);i=n;return}else{e=c[b+16>>2]|0;c[n+96>>2]=e;z=c[b+20>>2]|0;c[n+100>>2]=z;w=c[b+24>>2]|0;c[n+104>>2]=w;A=c[b+28>>2]|0;c[n+108>>2]=A;y=b+12|0;d=(h|0)!=(j|0)?y:b+8|0;d=c[d>>2]|0;y=(h|0)!=(j|0)?b+8|0:y;y=c[y>>2]|0;j=b+32|0;j=c[j>>2]|0;h=c[j>>2]|0;h=h+12|0;h=c[h>>2]|0;+Vb[h&1](j,n,d,e,w,y,z,A);i=n;return}}function Wu(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Xu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0,j=0;d=i;i=i+32|0;e=c[a+184>>2]|0;if(+g[e+4>>2]==0.0){b=0;i=d;return b|0}b=c[b>>2]|0;if(!(gc[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){b=1;i=d;return b|0}h=c[a+192>>2]|0;j=c[b+192>>2]|0;e=c[a+184>>2]|0;f=+g[a+188>>2];c[d>>2]=0;c[d+4>>2]=j;c[d+8>>2]=b;c[d+12>>2]=b+4;c[d+16>>2]=-1;c[d+20>>2]=-1;Au(h,a+36|0,a+100|0,d,e,f);b=1;i=d;return b|0}function Yu(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+32|0;e=c[a+216>>2]|0;if(+g[e+4>>2]==0.0){b=0;i=d;return b|0}b=c[b>>2]|0;if(!(gc[c[(c[e>>2]|0)+8>>2]&31](e,c[b+188>>2]|0)|0)){b=1;i=d;return b|0}f=c[b+192>>2]|0;e=c[a+216>>2]|0;c[d>>2]=0;c[d+4>>2]=f;c[d+8>>2]=b;c[d+12>>2]=b+4;c[d+16>>2]=-1;c[d+20>>2]=-1;xu(a+68|0,a+132|0,d,e);b=1;i=d;return b|0}function _u(a){a=a|0;return}function $u(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function av(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+12>>2]|0;a=gc[c[(c[a>>2]|0)+8>>2]&31](a,b)|0;i=d;return a|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=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)==0)c[b+4>>2]=e;h=c[a+12>>2]|0;f=+hc[c[(c[h>>2]|0)+12>>2]&15](h,b,d);g[a+4>>2]=+g[(c[a+12>>2]|0)+4>>2];i=e;return+f}function cv(a){a=a|0;return}function dv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function ev(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+52>>2]=h;h=c[a+212>>2]|0;if(!(+g[h+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+0>>2];c[j+12>>2]=c[b+4>>2];c[j+16>>2]=c[b+8>>2];c[j+20>>2]=c[b+12>>2];c[j+24>>2]=c[d+0>>2];c[j+28>>2]=c[d+4>>2];c[j+32>>2]=c[d+8>>2];c[j+36>>2]=c[d+12>>2];g[j+40>>2]=e;e=+hc[c[(c[h>>2]|0)+12>>2]&15](h,j,0);i=j;return+e}function fv(a){a=a|0;return}function gv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function hv(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+52>>2]=h;h=c[a+212>>2]|0;if(!(+g[h+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+0>>2];c[j+12>>2]=c[b+4>>2];c[j+16>>2]=c[b+8>>2];c[j+20>>2]=c[b+12>>2];c[j+24>>2]=c[d+0>>2];c[j+28>>2]=c[d+4>>2];c[j+32>>2]=c[d+8>>2];c[j+36>>2]=c[d+12>>2];g[j+40>>2]=e;e=+hc[c[(c[h>>2]|0)+12>>2]&15](h,j,1);i=j;return+e}function iv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function jv(a){a=a|0;return}function kv(a){a=a|0;return}function lv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function mv(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+20>>2]|0;a=gc[c[(c[a>>2]|0)+8>>2]&31](a,b)|0;i=d;return a|0}function nv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=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)==0)c[b+4>>2]=e;h=c[a+20>>2]|0;f=+hc[c[(c[h>>2]|0)+12>>2]&15](h,b,d);g[a+4>>2]=+g[(c[a+20>>2]|0)+4>>2];i=e;return+f}function ov(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function pv(a,b,c){a=a|0;b=b|0;c=c|0;return}function qv(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;e=i;i=i+128|0;f=c[d+36>>2]|0;d=c[(c[a+8>>2]|0)+24>>2]|0;h=c[d+(f*80|0)+64>>2]|0;co(e+56|0,c[a+12>>2]|0,d+(f*80|0)|0);d=c[a+4>>2]|0;c[e+32>>2]=0;c[e+36>>2]=h;c[e+40>>2]=d;c[e+44>>2]=e+56;c[e+48>>2]=-1;c[e+52>>2]=f;d=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]=8664;c[e+20>>2]=d;c[e+24>>2]=f;g[e+4>>2]=+g[d+4>>2];c[e+16>>2]=c[d+16>>2];xu(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);i=e;return}function rv(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;Nb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=e;return}function sv(a,b){a=a|0;b=b|0;return 1}function tv(a,b){a=a|0;b=b|0;return 1}function uv(a){a=a|0;return}function vv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function wv(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+36>>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;e=c[a+44>>2]|0;d=+hc[c[(c[e>>2]|0)+12>>2]&15](e,h,1);i=h;return+d}function xv(a){a=a|0;return}function yv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function zv(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+36>>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;e=c[a+44>>2]|0;d=+hc[c[(c[e>>2]|0)+12>>2]&15](e,h,1);i=h;return+d}function Av(a,b){a=a|0;b=+b;return}function Bv(a,b){a=a|0;b=b|0;return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;return}function Dv(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ev(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;c[b+8>>2]=0;c[b>>2]=9512;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[b+32>>2]=999999984306749400.0;g[b+36>>2]=999999984306749400.0;g[b+40>>2]=999999984306749400.0;g[b+44>>2]=0.0;g[b+48>>2]=-999999984306749400.0;g[b+52>>2]=-999999984306749400.0;g[b+56>>2]=-999999984306749400.0;g[b+60>>2]=0.0;c[b+64>>2]=0;c[b+68>>2]=1;g[b+72>>2]=0.0;g[b+76>>2]=1.0;g[b+80>>2]=1.0;g[b+84>>2]=1.0;g[b+88>>2]=0.0;c[b+4>>2]=31;if(!d){i=e;return}c[5004]=(c[5004]|0)+1;d=XE(79)|0;if((d|0)!=0?(f=d+19&-16,c[f+ -4>>2]=d,(d+19&-16|0)!=0):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;c[(d+19&-16)>>2]=0;c[f+4>>2]=0;c[f+8>>2]=-1;c[f+12>>2]=0;c[f+16>>2]=0;f=d+19&-16}else f=0;c[b+64>>2]=f;i=e;return}function Fv(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=9512;e=c[b+64>>2]|0;if((e|0)!=0?(Kx(e),f=c[b+64>>2]|0,(f|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}e=c[b+24>>2]|0;if((e|0)!=0){if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Gv(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=9512;e=c[b+64>>2]|0;if((e|0)!=0?(Kx(e),f=c[b+64>>2]|0,(f|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}e=c[b+24>>2]|0;if((e|0)==0){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;f=b+20|0;c[f>>2]=0;i=d;return}if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;f=b+20|0;c[f>>2]=0;i=d;return}function Hv(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;d=i;i=i+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;e=c[a+16>>2]|0;if((e|0)<=0){h=c[a>>2]|0;h=h+68|0;h=c[h>>2]|0;Lb[h&511](a);i=d;return}h=e;do{e=e+ -1|0;g=c[a+24>>2]|0;if((c[g+(e*80|0)+64>>2]|0)==(b|0)){c[a+68>>2]=(c[a+68>>2]|0)+1;f=c[a+64>>2]|0;if((f|0)!=0){g=c[g+(e*80|0)+76>>2]|0;Ox(f,g)|0;h=c[f+4>>2]|0;if((h|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[f+4>>2]=g;c[f+12>>2]=(c[f+12>>2]|0)+ -1;h=c[a+16>>2]|0;g=c[a+24>>2]|0}h=h+ -1|0;m=g+(e*80|0)|0;c[d+0>>2]=c[m+0>>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];l=g+(e*80|0)+16|0;c[d+16>>2]=c[l+0>>2];c[d+20>>2]=c[l+4>>2];c[d+24>>2]=c[l+8>>2];c[d+28>>2]=c[l+12>>2];k=g+(e*80|0)+32|0;c[d+32>>2]=c[k+0>>2];c[d+36>>2]=c[k+4>>2];c[d+40>>2]=c[k+8>>2];c[d+44>>2]=c[k+12>>2];j=g+(e*80|0)+48|0;c[d+48>>2]=c[j+0>>2];c[d+52>>2]=c[j+4>>2];c[d+56>>2]=c[j+8>>2];c[d+60>>2]=c[j+12>>2];f=g+(e*80|0)+64|0;c[d+64>>2]=c[f+0>>2];c[d+68>>2]=c[f+4>>2];c[d+72>>2]=c[f+8>>2];c[d+76>>2]=c[f+12>>2];n=g+(h*80|0)|0;c[m+0>>2]=c[n+0>>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=g+(h*80|0)+16|0;c[l+0>>2]=c[m+0>>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=g+(h*80|0)+32|0;c[k+0>>2]=c[l+0>>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=g+(h*80|0)+48|0;c[j+0>>2]=c[k+0>>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+(h*80|0)+64|0;c[f+0>>2]=c[g+0>>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];g=c[a+24>>2]|0;c[g+(h*80|0)+0>>2]=c[d+0>>2];c[g+(h*80|0)+4>>2]=c[d+4>>2];c[g+(h*80|0)+8>>2]=c[d+8>>2];c[g+(h*80|0)+12>>2]=c[d+12>>2];c[g+(h*80|0)+16>>2]=c[d+16>>2];c[g+(h*80|0)+20>>2]=c[d+20>>2];c[g+(h*80|0)+24>>2]=c[d+24>>2];c[g+(h*80|0)+28>>2]=c[d+28>>2];c[g+(h*80|0)+32>>2]=c[d+32>>2];c[g+(h*80|0)+36>>2]=c[d+36>>2];c[g+(h*80|0)+40>>2]=c[d+40>>2];c[g+(h*80|0)+44>>2]=c[d+44>>2];c[g+(h*80|0)+48>>2]=c[d+48>>2];c[g+(h*80|0)+52>>2]=c[d+52>>2];c[g+(h*80|0)+56>>2]=c[d+56>>2];c[g+(h*80|0)+60>>2]=c[d+60>>2];c[g+(h*80|0)+64>>2]=c[d+64>>2];c[g+(h*80|0)+68>>2]=c[d+68>>2];c[g+(h*80|0)+72>>2]=c[d+72>>2];c[g+(h*80|0)+76>>2]=c[d+76>>2];if((c[a+64>>2]|0)!=0)c[(c[(c[a+24>>2]|0)+(e*80|0)+76>>2]|0)+36>>2]=e;h=(c[a+16>>2]|0)+ -1|0;c[a+16>>2]=h}}while((e|0)>0);n=c[a>>2]|0;n=n+68|0;n=c[n>>2]|0;Lb[n&511](a);i=d;return}function Iv(a){a=a|0;var b=0,d=0,e=0.0,f=0,h=0;b=i;i=i+32|0;g[a+32>>2]=999999984306749400.0;g[a+36>>2]=999999984306749400.0;g[a+40>>2]=999999984306749400.0;g[a+44>>2]=0.0;g[a+48>>2]=-999999984306749400.0;g[a+52>>2]=-999999984306749400.0;g[a+56>>2]=-999999984306749400.0;g[a+60>>2]=0.0;if((c[a+16>>2]|0)<=0){i=b;return}d=0;do{f=c[a+24>>2]|0;h=c[f+(d*80|0)+64>>2]|0;vc[c[(c[h>>2]|0)+8>>2]&127](h,f+(d*80|0)|0,b+16|0,b);e=+g[b+16>>2];if(+g[a+32>>2]>e)g[a+32>>2]=e;e=+g[b>>2];if(+g[a+48>>2]>2]=e;e=+g[b+20>>2];if(+g[a+36>>2]>e)g[a+36>>2]=e;e=+g[b+4>>2];if(+g[a+52>>2]>2]=e;e=+g[b+24>>2];if(+g[a+40>>2]>e)g[a+40>>2]=e;e=+g[b+8>>2];if(+g[a+56>>2]>2]=e;d=d+1|0}while((d|0)<(c[a+16>>2]|0));i=b;return}function Jv(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.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;f=i;t=+g[a+48>>2];v=+g[a+32>>2];E=+g[a+52>>2];w=+g[a+36>>2];F=+g[a+56>>2];k=+g[a+40>>2];G=(c[a+16>>2]|0)==0;x=G?0.0:(F+k)*.5;z=G?0.0:(E+w)*.5;B=G?0.0:(t+v)*.5;o=+$b[c[(c[a>>2]|0)+48>>2]&15](a);m=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=(G?0.0:(t-v)*.5)+o;m=(G?0.0:(E-w)*.5)+m;k=(G?0.0:(F-k)*.5)+ +$b[c[(c[a>>2]|0)+48>>2]&15](a);F=+g[b>>2];w=+P(+F);E=+g[b+4>>2];v=+P(+E);t=+g[b+8>>2];u=+P(+t);D=+g[b+16>>2];s=+P(+D);C=+g[b+20>>2];r=+P(+C);p=+g[b+24>>2];q=+P(+p);A=+g[b+32>>2];n=+P(+A);y=+g[b+36>>2];l=+P(+y);h=+g[b+40>>2];j=+P(+h);t=B*F+z*E+x*t+ +g[b+48>>2];p=B*D+z*C+x*p+ +g[b+52>>2];h=B*A+z*y+x*h+ +g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function Kv(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;k=e+76|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;vc[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+20>>2])*.5*2.0;j=(+g[e+8>>2]- +g[e+24>>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 Lv(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;k=i;i=i+144|0;if((c[a+16>>2]|0)<=0){p=a+76|0;c[p+0>>2]=c[b+0>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=c[a>>2]|0;p=p+68|0;p=c[p>>2]|0;Lb[p&511](a);i=k;return}f=k+32|0;h=k+48|0;j=k+64|0;e=0;do{p=c[a+24>>2]|0;o=p+(e*80|0)|0;c[k+16>>2]=c[o+0>>2];c[k+20>>2]=c[o+4>>2];c[k+24>>2]=c[o+8>>2];c[k+28>>2]=c[o+12>>2];o=p+(e*80|0)+16|0;c[f+0>>2]=c[o+0>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];o=p+(e*80|0)+32|0;c[h+0>>2]=c[o+0>>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];o=p+(e*80|0)+48|0;c[j+0>>2]=c[o+0>>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];p=c[p+(e*80|0)+64>>2]|0;p=Pb[c[(c[p>>2]|0)+28>>2]&127](p)|0;c[k+0>>2]=c[p+0>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];q=+g[k+4>>2]*+g[b+4>>2]/+g[a+80>>2];r=+g[k+8>>2]*+g[b+8>>2]/+g[a+84>>2];g[k>>2]=+g[k>>2]*+g[b>>2]/+g[a+76>>2];g[k+4>>2]=q;g[k+8>>2]=r;g[k+12>>2]=0.0;p=c[(c[a+24>>2]|0)+(e*80|0)+64>>2]|0;Nb[c[(c[p>>2]|0)+24>>2]&127](p,k);r=+g[k+68>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[k+72>>2]*+g[b+8>>2]/+g[a+84>>2];g[k+64>>2]=+g[j>>2]*+g[b>>2]/+g[a+76>>2];g[k+68>>2]=r;g[k+72>>2]=q;g[k+76>>2]=0.0;p=c[a+24>>2]|0;o=p+(e*80|0)|0;c[o+0>>2]=c[k+16>>2];c[o+4>>2]=c[k+20>>2];c[o+8>>2]=c[k+24>>2];c[o+12>>2]=c[k+28>>2];o=p+(e*80|0)+16|0;c[o+0>>2]=c[f+0>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];o=p+(e*80|0)+32|0;c[o+0>>2]=c[h+0>>2];c[o+4>>2]=c[h+4>>2];c[o+8>>2]=c[h+8>>2];c[o+12>>2]=c[h+12>>2];p=p+(e*80|0)+48|0;c[p+0>>2]=c[j+0>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];if((c[a+64>>2]|0)!=0){l=c[(c[a+24>>2]|0)+(e*80|0)+64>>2]|0;vc[c[(c[l>>2]|0)+8>>2]&127](l,k+16|0,k+128|0,k+112|0);c[k+80>>2]=c[k+128>>2];c[k+84>>2]=c[k+132>>2];c[k+88>>2]=c[k+136>>2];c[k+92>>2]=c[k+140>>2];c[k+96>>2]=c[k+112>>2];c[k+100>>2]=c[k+116>>2];c[k+104>>2]=c[k+120>>2];c[k+108>>2]=c[k+124>>2];l=c[a+64>>2]|0;d=c[(c[a+24>>2]|0)+(e*80|0)+76>>2]|0;o=Ox(l,d)|0;a:do if((o|0)!=0){m=c[l+8>>2]|0;if(!((m|0)>-1)){o=c[l>>2]|0;break}if((m|0)>0){n=0;while(1){p=c[o+32>>2]|0;n=n+1|0;if((p|0)==0)break a;if((n|0)>=(m|0)){o=p;break}else o=p}}}else o=0;while(0);c[d+0>>2]=c[k+80>>2];c[d+4>>2]=c[k+84>>2];c[d+8>>2]=c[k+88>>2];c[d+12>>2]=c[k+92>>2];c[d+16>>2]=c[k+96>>2];c[d+20>>2]=c[k+100>>2];c[d+24>>2]=c[k+104>>2];c[d+28>>2]=c[k+108>>2];Nx(l,o,d)}e=e+1|0}while((e|0)<(c[a+16>>2]|0));p=a+76|0;c[p+0>>2]=c[b+0>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=c[a>>2]|0;p=p+68|0;p=c[p>>2]|0;Lb[p&511](a);i=k;return}function Mv(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;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;k=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=k;if((k|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+20>>2]=+g[a+72>>2];f=c[a+16>>2]|0;c[b+16>>2]=f;c[b+12>>2]=0;if((f|0)==0){i=e;return 9616}f=Yb[c[(c[d>>2]|0)+16>>2]&31](d,76,f)|0;k=c[f+8>>2]|0;c[b+12>>2]=gc[c[(c[d>>2]|0)+28>>2]&31](d,k)|0;if((c[b+16>>2]|0)>0){j=c[a+24>>2]|0;h=0;while(1){g[k+72>>2]=+g[j+(h*80|0)+72>>2];c[k+64>>2]=gc[c[(c[d>>2]|0)+28>>2]&31](d,c[j+(h*80|0)+64>>2]|0)|0;if((gc[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0)|0)==0){j=c[(c[d>>2]|0)+16>>2]|0;l=c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0;l=Pb[c[(c[l>>2]|0)+52>>2]&127](l)|0;l=Yb[j&31](d,l,1)|0;j=c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0;j=Yb[c[(c[j>>2]|0)+56>>2]&31](j,c[l+8>>2]|0,d)|0;Jb[c[(c[d>>2]|0)+20>>2]&31](d,l,j,1346455635,c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0)}j=c[a+24>>2]|0;c[k+68>>2]=c[j+(h*80|0)+68>>2];g[k>>2]=+g[j+(h*80|0)>>2];g[k+4>>2]=+g[j+(h*80|0)+4>>2];g[k+8>>2]=+g[j+(h*80|0)+8>>2];g[k+12>>2]=+g[j+(h*80|0)+12>>2];g[k+16>>2]=+g[j+(h*80|0)+16>>2];g[k+20>>2]=+g[j+(h*80|0)+20>>2];g[k+24>>2]=+g[j+(h*80|0)+24>>2];g[k+28>>2]=+g[j+(h*80|0)+28>>2];g[k+32>>2]=+g[j+(h*80|0)+32>>2];g[k+36>>2]=+g[j+(h*80|0)+36>>2];g[k+40>>2]=+g[j+(h*80|0)+40>>2];g[k+44>>2]=+g[j+(h*80|0)+44>>2];g[k+48>>2]=+g[j+(h*80|0)+48>>2];g[k+52>>2]=+g[j+(h*80|0)+52>>2];g[k+56>>2]=+g[j+(h*80|0)+56>>2];g[k+60>>2]=+g[j+(h*80|0)+60>>2];h=h+1|0;if((h|0)>=(c[b+16>>2]|0)){b=d;break}else k=k+76|0}}else b=d;Jb[c[(c[b>>2]|0)+20>>2]&31](d,f,9584,1497453121,c[f+8>>2]|0);i=e;return 9616}function Nv(a){a=a|0;return a+76|0}function Ov(a){a=a|0;return 9680}function Pv(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function Qv(a){a=a|0;return+(+g[a+72>>2])}function Rv(a){a=a|0;return 24}function Sv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0,k=0.0,l=0,m=0.0,n=0.0;j=i;i=i+48|0;f=+g[b+60>>2]*.5;e=c[b+68>>2]|0;k=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];n=+Q(+(k*k+m*m+n*n));h=c[b+64>>2]|0;if(+g[d+(e<<2)>>2]>n*+g[b+52>>2]){g[j+32+(h<<2)>>2]=0.0;g[j+32+(e<<2)>>2]=f;g[j+32+(c[b+72>>2]<<2)>>2]=0.0;c[a+0>>2]=c[j+32>>2];c[a+4>>2]=c[j+36>>2];c[a+8>>2]=c[j+40>>2];c[a+12>>2]=c[j+44>>2];i=j;return}k=+g[d+(h<<2)>>2];l=c[b+72>>2]|0;m=+g[d+(l<<2)>>2];n=+Q(+(k*k+m*m));if(n>1.1920928955078125e-7){n=+g[b+56>>2]/n;g[j+16+(h<<2)>>2]=k*n;g[j+16+(e<<2)>>2]=-f;g[j+16+(l<<2)>>2]=n*m;c[a+0>>2]=c[j+16>>2];c[a+4>>2]=c[j+20>>2];c[a+8>>2]=c[j+24>>2];c[a+12>>2]=c[j+28>>2];i=j;return}else{g[j+(h<<2)>>2]=0.0;g[j+(e<<2)>>2]=-f;g[j+(l<<2)>>2]=0.0;c[a+0>>2]=c[j+0>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];i=j;return}}function Tv(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;Sv(a,b,c);i=d;return}function Uv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;if((e|0)<=0){i=f;return}g=0;do{h=d+(g<<4)|0;Sv(f,a,b+(g<<4)|0);c[h+0>>2]=c[f+0>>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];g=g+1|0}while((g|0)!=(e|0));i=f;return}function Vv(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;Sv(a,b,d);if(!(+$b[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Wv(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[b+(j<<2)>>2]/+g[a+(j<<2)+12>>2]*+g[a+60>>2];g[a+60>>2]=e;f=+g[a+56>>2]*(+g[b+(i<<2)>>2]/+g[a+(i<<2)+12>>2]+ +g[b+(h<<2)>>2]/+g[a+(h<<2)+12>>2])*.5;g[a+56>>2]=f;g[a+52>>2]=f/+Q(+(e*e+f*f));f=+P(+(+g[b>>2]));e=+P(+(+g[b+4>>2]));d=+P(+(+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 Xv(a){a=a|0;return}function Yv(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Zv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);i=f;return}function _v(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;l=e+76|0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;vc[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+20>>2])*.5;k=(+g[e+8>>2]- +g[e+24>>2])*.5;f=+$b[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 $v(a){a=a|0;return 10136}function aw(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=1.0;g[a+8>>2]=0.0;g[a+12>>2]=0.0;return}function bw(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function cw(a){a=a|0;return 60}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=h;if((h|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+68>>2];i=e;return 10120}function ew(a){a=a|0;return}function fw(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function gw(a){a=a|0;return 10112}function hw(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=1.0;g[a+12>>2]=0.0;return}function iw(a){a=a|0;return}function jw(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function kw(a){a=a|0;return 10104}function lw(a,b){a=a|0;b=b|0;g[a>>2]=1.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=0.0;return} - - - -function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;k=c[a+212>>2]|0;a:do if((k|0)>0){f=c[a+220>>2]|0;g=0;while(1){h=f+(g<<2)|0;j=g+1|0;if((c[h>>2]|0)==(b|0))break;if((j|0)<(k|0))g=j;else break a}if((g|0)<(k|0)){c[h>>2]=c[f+(k+ -1<<2)>>2];c[(c[a+220>>2]|0)+(k+ -1<<2)>>2]=b;c[a+212>>2]=k+ -1}}while(0);a=c[b+28>>2]|0;g=c[a+488>>2]|0;b:do if((g|0)>0){f=c[a+496>>2]|0;h=0;while(1){j=f+(h<<2)|0;k=h+1|0;if((c[j>>2]|0)==(b|0))break;if((k|0)<(g|0))h=k;else break b}if((h|0)<(g|0)){c[j>>2]=c[f+(g+ -1<<2)>>2];c[(c[a+496>>2]|0)+(g+ -1<<2)>>2]=b;c[a+488>>2]=g+ -1;g=g+ -1|0}}while(0);c[a+256>>2]=(g|0)>0&1;a=c[b+32>>2]|0;f=c[a+488>>2]|0;if((f|0)<=0){j=f;j=(j|0)>0;j=j&1;k=a+256|0;c[k>>2]=j;i=d;return}h=c[a+496>>2]|0;j=0;while(1){k=h+(j<<2)|0;g=j+1|0;if((c[k>>2]|0)==(b|0))break;if((g|0)<(f|0))j=g;else{e=19;break}}if((e|0)==19){j=(f|0)>0;j=j&1;k=a+256|0;c[k>>2]=j;i=d;return}if((j|0)>=(f|0)){j=f;j=(j|0)>0;j=j&1;k=a+256|0;c[k>>2]=j;i=d;return}c[k>>2]=c[h+(f+ -1<<2)>>2];c[(c[a+496>>2]|0)+(f+ -1<<2)>>2]=b;c[a+488>>2]=f+ -1;j=f+ -1|0;j=(j|0)>0;j=j&1;k=a+256|0;c[k>>2]=j;i=d;return}function Wo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=c[b+280>>2]|0;if((h|0)==(c[b+284>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[b+280>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[b+288>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+288>>2]|0;if((j|0)!=0){if((a[b+292>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=g;c[b+284>>2]=f}f=(c[b+288>>2]|0)+(h<<2)|0;if((f|0)==0){k=h+1|0;c[b+280>>2]=k;i=e;return}c[f>>2]=d;k=h+1|0;c[b+280>>2]=k;i=e;return}function Xo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[a+280>>2]|0;if((f|0)<=0){i=e;return}g=c[a+288>>2]|0;h=0;while(1){j=g+(h<<2)|0;k=h+1|0;if((c[j>>2]|0)==(b|0))break;if((k|0)<(f|0))h=k;else{d=7;break}}if((d|0)==7){i=e;return}if((h|0)>=(f|0)){i=e;return}c[j>>2]=c[g+(f+ -1<<2)>>2];c[(c[a+288>>2]|0)+(f+ -1<<2)>>2]=b;c[a+280>>2]=f+ -1;i=e;return}function Yo(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function Zo(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+68>>2]&127](a,b);i=d;return}function _o(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function $o(a,b){a=a|0;b=b|0;var d=0;d=i;Nb[c[(c[a>>2]|0)+68>>2]&127](a,b);i=d;return}function ap(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;e=i;i=i+16|0;oE(1704);f=c[b+212>>2]|0;h=c[b+180>>2]|0;if((h|0)<(f|0)){if((c[b+184>>2]|0)<(f|0)){if((f|0)==0){k=0;n=h}else{c[5004]=(c[5004]|0)+1;k=XE((f<<2|3)+16|0)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}n=c[b+180>>2]|0}if((n|0)>0){l=0;do{m=k+(l<<2)|0;if((m|0)!=0)c[m>>2]=c[(c[b+188>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(n|0))}l=c[b+188>>2]|0;if((l|0)!=0){if((a[b+192>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=k;c[b+184>>2]=f;k=b+188|0}else k=b+188|0;do{l=(c[k>>2]|0)+(h<<2)|0;if((l|0)!=0)c[l>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+180>>2]=f;f=0;while(1){if((f|0)>=(Pb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[b+188>>2]|0)+(f<<2)>>2]=c[(c[b+220>>2]|0)+(f<<2)>>2];f=f+1|0}f=c[b+180>>2]|0;if((f|0)>1)sp(b+176|0,0,f+ -1|0);if((Pb[c[(c[b>>2]|0)+104>>2]&127](b)|0)==0)h=0;else h=c[b+188>>2]|0;f=c[b+196>>2]|0;v=c[b+180>>2]|0;k=Pb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[f+4>>2]=d;c[f+12>>2]=h;c[f+16>>2]=v;c[f+20>>2]=k;k=c[f+32>>2]|0;if((k|0)<0){if((c[f+36>>2]|0)<0){h=c[f+40>>2]|0;if((h|0)!=0){if((a[f+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[f+40>>2]=0}a[f+44>>0]=1;c[f+40>>2]=0;c[f+36>>2]=0;h=k}else h=k;do{k=(c[f+40>>2]|0)+(h<<2)|0;if((k|0)!=0)c[k>>2]=0;h=h+1|0}while((h|0)!=0)}c[f+32>>2]=0;h=c[f+52>>2]|0;if((h|0)<0){if((c[f+56>>2]|0)<0){k=c[f+60>>2]|0;if((k|0)!=0){if((a[f+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[f+60>>2]=0}a[f+64>>0]=1;c[f+60>>2]=0;c[f+56>>2]=0}do{k=(c[f+60>>2]|0)+(h<<2)|0;if((k|0)!=0)c[k>>2]=0;h=h+1|0}while((h|0)!=0)}c[f+52>>2]=0;k=c[f+72>>2]|0;if((k|0)<0){if((c[f+76>>2]|0)<0){h=c[f+80>>2]|0;if((h|0)!=0){if((a[f+84>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[f+80>>2]=0}a[f+84>>0]=1;c[f+80>>2]=0;c[f+76>>2]=0;h=k}else h=k;do{k=(c[f+80>>2]|0)+(h<<2)|0;if((k|0)!=0)c[k>>2]=0;h=h+1|0}while((h|0)!=0)}c[f+72>>2]=0;f=c[b+200>>2]|0;m=c[(c[f>>2]|0)+8>>2]|0;k=c[b+8>>2]|0;h=c[b+24>>2]|0;h=Pb[c[(c[h>>2]|0)+36>>2]&127](h)|0;rc[m&127](f,k,h);h=c[b+204>>2]|0;k=c[b+24>>2]|0;f=c[b+196>>2]|0;oE(16584);m=c[h+28>>2]|0;if((m|0)<0){if((c[h+32>>2]|0)<0){l=c[h+36>>2]|0;if((l|0)!=0){if((a[h+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[h+36>>2]=0}a[h+40>>0]=1;c[h+36>>2]=0;c[h+32>>2]=0}do{l=(c[h+36>>2]|0)+(m<<2)|0;if((l|0)!=0)c[l>>2]=0;m=m+1|0}while((m|0)!=0)}c[h+28>>2]=0;l=c[h+8>>2]|0;if((l|0)>0){m=c[h+16>>2]|0;n=0;do{o=m+(n<<3)|0;q=c[o>>2]|0;if((q|0)==(n|0))r=n;else{p=o;do{r=m+(q<<3)|0;c[p>>2]=c[r>>2];r=c[r>>2]|0;p=m+(r<<3)|0;q=c[p>>2]|0}while((r|0)!=(q|0))}c[o>>2]=r;n=n+1|0}while((n|0)!=(l|0));q=c[h+8>>2]|0;if((q|0)>1){jC(h+4|0,0,q+ -1|0);q=c[h+8>>2]|0}if((q|0)>0){p=c[h+16>>2]|0;r=0;while(1){o=c[p+(r<<3)>>2]|0;m=r;do{m=m+1|0;l=(m|0)<(q|0);if(!l)break}while((c[p+(m<<3)>>2]|0)==(o|0));if((r|0)<(m|0)){n=c[b+16>>2]|0;t=1;s=r;do{u=c[n+(c[p+(s<<3)+4>>2]<<2)>>2]|0;if((c[u+208>>2]|0)==(o|0)){v=c[u+216>>2]|0;t=t&(v|0)!=1&(v|0)!=4}s=s+1|0}while((s|0)!=(m|0));if(t){do{s=c[n+(c[p+(r<<3)+4>>2]<<2)>>2]|0;if((c[s+208>>2]|0)==(o|0)?!(((c[s+216>>2]|0)+ -4|0)>>>0<2):0)c[s+216>>2]=2;r=r+1|0}while((r|0)<(m|0))}else do{s=c[n+(c[p+(r<<3)+4>>2]<<2)>>2]|0;if((c[s+208>>2]|0)==(o|0)?(c[s+216>>2]|0)==2:0){c[s+216>>2]=3;g[s+220>>2]=0.0}r=r+1|0}while((r|0)<(m|0))}if(l)r=m;else break}}}m=Pb[c[(c[k>>2]|0)+36>>2]&127](k)|0;if((m|0)>0){l=0;do{n=gc[c[(c[k>>2]|0)+40>>2]&31](k,l)|0;o=c[n+740>>2]|0;p=c[n+744>>2]|0;if((o|0)!=0?(c[o+216>>2]|0)!=2:0)q=101;else q=99;if(((q|0)==99?(q=0,(p|0)!=0):0)?(c[p+216>>2]|0)!=2:0)q=101;if((q|0)==101){v=c[o+204>>2]|0;if((((v&2|0)!=0?(c[o+216>>2]|0)!=2:0)?(v&4|0)==0:0)?(c[p+204>>2]&3|0)==0:0){if(!(((c[p+216>>2]|0)+ -4|0)>>>0<2))c[p+216>>2]=1;g[p+220>>2]=0.0}v=c[p+204>>2]|0;if((((v&2|0)!=0?(c[p+216>>2]|0)!=2:0)?(v&4|0)==0:0)?(c[o+204>>2]&3|0)==0:0){if(!(((c[o+216>>2]|0)+ -4|0)>>>0<2))c[o+216>>2]=1;g[o+220>>2]=0.0}if((a[h+64>>0]|0)!=0?Yb[c[(c[k>>2]|0)+28>>2]&31](k,o,p)|0:0){p=c[h+28>>2]|0;if((p|0)==(c[h+32>>2]|0)?(j=(p|0)==0?1:p<<1,(p|0)<(j|0)):0){if((j|0)==0)o=0;else{c[5004]=(c[5004]|0)+1;o=XE((j<<2|3)+16|0)|0;if((o|0)==0)o=0;else{c[(o+19&-16)+ -4>>2]=o;o=o+19&-16}p=c[h+28>>2]|0}if((p|0)>0){r=0;do{q=o+(r<<2)|0;if((q|0)!=0)c[q>>2]=c[(c[h+36>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(p|0))}q=c[h+36>>2]|0;if((q|0)!=0){if((a[h+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[q+ -4>>2]|0);p=c[h+28>>2]|0}c[h+36>>2]=0}a[h+40>>0]=1;c[h+36>>2]=o;c[h+32>>2]=j}o=(c[h+36>>2]|0)+(p<<2)|0;if((o|0)!=0)c[o>>2]=n;c[h+28>>2]=p+1}}l=l+1|0}while((l|0)<(m|0))}j=c[5022]|0;v=(c[j+16>>2]|0)+ -1|0;c[j+16>>2]=v;do if((v|0)==0){if((c[j+4>>2]|0)!=0){Eb(e|0,0)|0;v=c[5008]|0;g[j+8>>2]=+(((c[e+4>>2]|0)-(c[v+4>>2]|0)+(((c[e>>2]|0)-(c[v>>2]|0)|0)*1e6|0)-(c[j+12>>2]|0)|0)>>>0)/1.0e3+ +g[j+8>>2];if((c[j+16>>2]|0)!=0)break;j=c[5022]|0}c[5022]=c[j+20>>2]}while(0);j=c[h+8>>2]|0;oE(16616);if((a[h+64>>0]|0)!=0){k=c[h+28>>2]|0;if((k|0)>1)hB(h+24|0,0,k+ -1|0);if((j|0)>0){n=1;o=0;l=0;do{r=c[h+16>>2]|0;m=c[r+(o<<3)>>2]|0;a:do if((o|0)<(j|0)){q=m;p=1;while(1){if((q|0)!=(m|0))break a;q=c[(c[b+16>>2]|0)+(c[r+(o<<3)+4>>2]<<2)>>2]|0;t=c[h+48>>2]|0;do if((t|0)==(c[h+52>>2]|0)){r=(t|0)==0?1:t<<1;if((t|0)>=(r|0))break;if((r|0)==0)s=0;else{c[5004]=(c[5004]|0)+1;s=XE((r<<2|3)+16|0)|0;if((s|0)==0)s=0;else{c[(s+19&-16)+ -4>>2]=s;s=s+19&-16}t=c[h+48>>2]|0}if((t|0)>0){u=0;do{v=s+(u<<2)|0;if((v|0)!=0)c[v>>2]=c[(c[h+56>>2]|0)+(u<<2)>>2];u=u+1|0}while((u|0)!=(t|0))}u=c[h+56>>2]|0;if((u|0)!=0){if((a[h+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[u+ -4>>2]|0);t=c[h+48>>2]|0}c[h+56>>2]=0}a[h+60>>0]=1;c[h+56>>2]=s;c[h+52>>2]=r}while(0);r=(c[h+56>>2]|0)+(t<<2)|0;if((r|0)!=0)c[r>>2]=q;c[h+48>>2]=t+1;v=c[q+216>>2]|0;p=p&((v|0)==2|(v|0)==5);o=o+1|0;if((o|0)>=(j|0))break a;r=c[h+16>>2]|0;q=c[r+(o<<3)>>2]|0}}else p=1;while(0);if((l|0)<(k|0)){r=c[h+36>>2]|0;q=r+(l<<2)|0;s=c[q>>2]|0;t=c[(c[s+740>>2]|0)+208>>2]|0;if(!((t|0)>-1))t=c[(c[s+744>>2]|0)+208>>2]|0;if((t|0)==(m|0)){s=l;do{s=s+1|0;if((s|0)>=(k|0))break;t=c[r+(s<<2)>>2]|0;n=c[(c[t+740>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[t+744>>2]|0)+208>>2]|0}while((m|0)==(n|0));n=s;r=s-l|0}else{r=0;q=0}}else{r=0;q=0}if(!p)Zb[c[(c[f>>2]|0)+8>>2]&7](f,c[h+56>>2]|0,c[h+48>>2]|0,q,r,m);l=(r|0)==0?l:n;p=c[h+48>>2]|0;if((p|0)<0){if((c[h+52>>2]|0)<0){m=c[h+56>>2]|0;if((m|0)!=0){if((a[h+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[h+56>>2]=0}a[h+60>>0]=1;c[h+56>>2]=0;c[h+52>>2]=0}do{m=(c[h+56>>2]|0)+(p<<2)|0;if((m|0)!=0)c[m>>2]=0;p=p+1|0}while((p|0)!=0)}c[h+48>>2]=0}while((o|0)<(j|0))}}else{u=Pb[c[(c[k>>2]|0)+44>>2]&127](k)|0;v=Pb[c[(c[k>>2]|0)+36>>2]&127](k)|0;Zb[c[(c[f>>2]|0)+8>>2]&7](f,c[b+16>>2]|0,c[b+8>>2]|0,u,v,-1)}f=c[5022]|0;v=(c[f+16>>2]|0)+ -1|0;c[f+16>>2]=v;do if((v|0)==0){if((c[f+4>>2]|0)!=0){Eb(e|0,0)|0;v=c[5008]|0;g[f+8>>2]=+(((c[e+4>>2]|0)-(c[v+4>>2]|0)+(((c[e>>2]|0)-(c[v>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if((c[f+16>>2]|0)!=0)break;f=c[5022]|0}c[5022]=c[f+20>>2]}while(0);bp(c[b+196>>2]|0);v=c[b+200>>2]|0;rc[c[(c[v>>2]|0)+16>>2]&127](v,d,c[b+72>>2]|0);b=c[5022]|0;v=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=v;if((v|0)!=0){i=e;return}do if((c[b+4>>2]|0)!=0){Eb(e|0,0)|0;v=c[5008]|0;g[b+8>>2]=+(((c[e+4>>2]|0)-(c[v+4>>2]|0)+(((c[e>>2]|0)-(c[v>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=e;return}}while(0);c[5022]=c[b+20>>2];i=e;return}function bp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=c[b+32>>2]|0;if((e|0)==0)f=0;else f=c[b+40>>2]|0;g=c[b+52>>2]|0;if((g|0)==0)h=0;else h=c[b+60>>2]|0;j=c[b+72>>2]|0;if((j|0)==0)k=0;else k=c[b+80>>2]|0;l=c[b+8>>2]|0;+ic[c[(c[l>>2]|0)+12>>2]&3](l,f,e,h,g,k,j,c[b+4>>2]|0,c[b+20>>2]|0,c[b+24>>2]|0);e=c[b+32>>2]|0;if((e|0)<0){if((c[b+36>>2]|0)<0){f=c[b+40>>2]|0;if((f|0)!=0){if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=0;c[b+36>>2]=0}do{f=(c[b+40>>2]|0)+(e<<2)|0;if((f|0)!=0)c[f>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+32>>2]=0;e=c[b+52>>2]|0;if((e|0)<0){if((c[b+56>>2]|0)<0){f=c[b+60>>2]|0;if((f|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{f=(c[b+60>>2]|0)+(e<<2)|0;if((f|0)!=0)c[f>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+52>>2]=0;e=c[b+72>>2]|0;if((e|0)>=0){c[b+72>>2]=0;i=d;return}if((c[b+76>>2]|0)<0){f=c[b+80>>2]|0;if((f|0)!=0){if((a[b+84>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0;f=e}else f=e;do{e=(c[b+80>>2]|0)+(f<<2)|0;if((e|0)!=0)c[e>>2]=0;f=f+1|0}while((f|0)!=0);c[b+72>>2]=0;i=d;return}function cp(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;d=i;i=i+16|0;oE(1728);p=c[b+204>>2]|0;rc[c[(c[p>>2]|0)+8>>2]&127](p,b,c[b+24>>2]|0);if((c[b+308>>2]|0)>0){h=c[b+316>>2]|0;j=0;do{k=c[h+(j<<2)>>2]|0;l=c[k+740>>2]|0;k=c[k+744>>2]|0;if(((l|0)!=0?!((k|0)==0?1:(c[l+204>>2]&3|0)!=0):0)?(c[k+204>>2]&3|0)==0:0){m=c[l+208>>2]|0;l=c[k+208>>2]|0;k=c[(c[b+204>>2]|0)+16>>2]|0;n=c[k+(m<<3)>>2]|0;if((n|0)!=(m|0)){o=k+(m<<3)|0;do{m=k+(n<<3)|0;c[o>>2]=c[m>>2];m=c[m>>2]|0;o=k+(m<<3)|0;n=c[o>>2]|0}while((m|0)!=(n|0))}n=c[k+(l<<3)>>2]|0;if((n|0)!=(l|0)){o=k+(l<<3)|0;do{l=k+(n<<3)|0;c[o>>2]=c[l>>2];l=c[l>>2]|0;o=k+(l<<3)|0;n=c[o>>2]|0}while((l|0)!=(n|0))}if((m|0)!=(l|0)){c[k+(m<<3)>>2]=l;p=k+(l<<3)+4|0;c[p>>2]=(c[p>>2]|0)+(c[k+(m<<3)+4>>2]|0)}}j=j+1|0}while((j|0)<(c[b+308>>2]|0))}h=c[b+212>>2]|0;if((h|0)>0){k=c[b+220>>2]|0;j=0;do{l=c[k+(j<<2)>>2]|0;if((((a[l+20>>0]|0)!=0?(e=c[l+28>>2]|0,f=c[l+32>>2]|0,(e|0)!=0):0)?!((f|0)==0?1:(c[e+204>>2]&3|0)!=0):0)?(c[f+204>>2]&3|0)==0:0){n=c[e+208>>2]|0;m=c[f+208>>2]|0;l=c[(c[b+204>>2]|0)+16>>2]|0;o=c[l+(n<<3)>>2]|0;if((o|0)!=(n|0)){p=l+(n<<3)|0;do{n=l+(o<<3)|0;c[p>>2]=c[n>>2];n=c[n>>2]|0;p=l+(n<<3)|0;o=c[p>>2]|0}while((n|0)!=(o|0))}o=c[l+(m<<3)>>2]|0;if((o|0)!=(m|0)){p=l+(m<<3)|0;do{m=l+(o<<3)|0;c[p>>2]=c[m>>2];m=c[m>>2]|0;p=l+(m<<3)|0;o=c[p>>2]|0}while((m|0)!=(o|0))}if((n|0)!=(m|0)){c[l+(n<<3)>>2]=m;p=l+(m<<3)+4|0;c[p>>2]=(c[p>>2]|0)+(c[l+(n<<3)+4>>2]|0)}}j=j+1|0}while((j|0)!=(h|0))}p=c[b+204>>2]|0;Nb[c[(c[p>>2]|0)+12>>2]&127](p,b);b=c[5022]|0;p=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=p;if((p|0)!=0){i=d;return}do if((c[b+4>>2]|0)!=0){Eb(d|0,0)|0;p=c[5008]|0;g[b+8>>2]=+(((c[d+4>>2]|0)-(c[p+4>>2]|0)+(((c[d>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=d;return}}while(0);c[5022]=c[b+20>>2];i=d;return}function dp(a){a=a|0;return}function ep(a){a=a|0;return}function fp(d,e){d=d|0;e=+e;var f=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,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0;f=i;i=i+352|0;oE(1872);if((c[d+232>>2]|0)>0){q=f+232|0;n=0;do{o=c[(c[d+240>>2]|0)+(n<<2)>>2]|0;g[o+244>>2]=1.0;A=c[o+216>>2]|0;do if(!((A|0)==2|(A|0)==5)?(c[o+204>>2]&3|0)==0:0){ro(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,e,f+184|0);D=+g[q>>2]- +g[o+52>>2];C=+g[f+236>>2]- +g[o+56>>2];B=+g[f+240>>2]- +g[o+60>>2];if((a[d+44>>0]|0)!=0?(E=+g[o+252>>2],E*E!=0.0?E*E>2]|0)+4>>2]|0)<20){c[440]=(c[440]|0)+1;z=c[d+68>>2]|0;z=Pb[c[(c[z>>2]|0)+36>>2]&127](z)|0;A=c[d+24>>2]|0;g[f+252>>2]=1.0;b[f+256>>1]=1;b[f+258>>1]=-1;c[f+248>>2]=688;c[f+260>>2]=c[o+52>>2];c[f+264>>2]=c[o+56>>2];c[f+268>>2]=c[o+60>>2];c[f+272>>2]=c[o+64>>2];c[f+276>>2]=c[q+0>>2];c[f+280>>2]=c[q+4>>2];c[f+284>>2]=c[q+8>>2];c[f+288>>2]=c[q+12>>2];c[f+324>>2]=0;c[f+248>>2]=2160;c[f+328>>2]=o;g[f+332>>2]=0.0;c[f+336>>2]=z;c[f+340>>2]=A;B=+g[o+248>>2];c[f+136>>2]=0;g[f+140>>2]=1.0;g[f+144>>2]=1.0;g[f+148>>2]=1.0;g[f+152>>2]=0.0;c[f+128>>2]=16680;c[f+132>>2]=8;g[f+156>>2]=B;g[f+172>>2]=B;g[f+332>>2]=+g[d+56>>2];A=c[o+188>>2]|0;b[f+256>>1]=b[A+4>>1]|0;b[f+258>>1]=b[A+6>>1]|0;c[f+112>>2]=c[q+0>>2];c[f+116>>2]=c[q+4>>2];c[f+120>>2]=c[q+8>>2];c[f+124>>2]=c[q+12>>2];c[f+64>>2]=c[o+4>>2];c[f+68>>2]=c[o+8>>2];c[f+72>>2]=c[o+12>>2];c[f+76>>2]=c[o+16>>2];c[f+80>>2]=c[o+20>>2];c[f+84>>2]=c[o+24>>2];c[f+88>>2]=c[o+28>>2];c[f+92>>2]=c[o+32>>2];c[f+96>>2]=c[o+36>>2];c[f+100>>2]=c[o+40>>2];c[f+104>>2]=c[o+44>>2];c[f+108>>2]=c[o+48>>2];Eu(d,f+128|0,o+4|0,f+64|0,f+248|0,0.0);B=+g[f+252>>2];if(B<1.0){g[o+244>>2]=B;ro(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,B*e,f+184|0);g[o+244>>2]=0.0;dr(o,f+184|0);r=4}else r=0;if((r|0)==0)p=11}else p=11;if((p|0)==11){p=0;r=0}s=c[5022]|0;A=(c[s+16>>2]|0)+ -1|0;c[s+16>>2]=A;do if((A|0)==0){if((c[s+4>>2]|0)!=0){Eb(f+248|0,0)|0;A=c[5008]|0;g[s+8>>2]=+(((c[f+252>>2]|0)-(c[A+4>>2]|0)+(((c[f+248>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[s+12>>2]|0)|0)>>>0)/1.0e3+ +g[s+8>>2];if((c[s+16>>2]|0)!=0)break;s=c[5022]|0}c[5022]=c[s+20>>2]}while(0);if((r|0)==4)break}dr(o,f+184|0)}while(0);n=n+1|0}while((n|0)<(c[d+232>>2]|0))}do if((a[d+275>>0]|0)!=0){oE(1920);q=c[d+308>>2]|0;if((q|0)>0){n=0;do{o=c[(c[d+316>>2]|0)+(n<<2)>>2]|0;x=c[o+740>>2]|0;if((c[x+236>>2]&2|0)==0)x=0;p=c[o+744>>2]|0;if((c[p+236>>2]&2|0)==0)p=0;z=c[o+748>>2]|0;if((z|0)>0){s=x+52|0;r=x+56|0;q=x+60|0;v=p+52|0;t=p+56|0;u=p+60|0;w=(p|0)==0;if((x|0)==0){x=p+228|0;y=0;do{e=+g[57]*+g[x>>2];if((e>0.0?(h=+g[o+(y*184|0)+124>>2],h!=0.0):0)?(j=e*h*+g[o+(y*184|0)+68>>2],k=e*h*+g[o+(y*184|0)+72>>2],l=e*h*+g[o+(y*184|0)+76>>2],g[f+48>>2]=-j,g[f+52>>2]=-k,g[f+56>>2]=-l,g[f+60>>2]=0.0,E=+g[o+(y*184|0)+56>>2]- +g[r>>2],D=+g[o+(y*184|0)+60>>2]- +g[q>>2],g[f+32>>2]=+g[o+(y*184|0)+52>>2]- +g[s>>2],g[f+36>>2]=E,g[f+40>>2]=D,g[f+44>>2]=0.0,D=+g[o+(y*184|0)+40>>2]- +g[t>>2],E=+g[o+(y*184|0)+44>>2]- +g[u>>2],g[f+16>>2]=+g[o+(y*184|0)+36>>2]- +g[v>>2],g[f+20>>2]=D,g[f+24>>2]=E,g[f+28>>2]=0.0,!w):0){g[f>>2]=j;g[f+4>>2]=k;g[f+8>>2]=l;g[f+12>>2]=0.0;qm(p,f,f+16|0);z=c[o+748>>2]|0}y=y+1|0}while((y|0)<(z|0))}else{z=x+228|0;A=p+228|0;y=0;do{e=+g[z>>2]*+g[A>>2];if((e>0.0?(m=+g[o+(y*184|0)+124>>2],m!=0.0):0)?(D=-(e*m*+g[o+(y*184|0)+72>>2]),E=-(e*m*+g[o+(y*184|0)+76>>2]),g[f+48>>2]=-(e*m*+g[o+(y*184|0)+68>>2]),g[f+52>>2]=D,g[f+56>>2]=E,g[f+60>>2]=0.0,E=+g[o+(y*184|0)+56>>2]- +g[r>>2],D=+g[o+(y*184|0)+60>>2]- +g[q>>2],g[f+32>>2]=+g[o+(y*184|0)+52>>2]- +g[s>>2],g[f+36>>2]=E,g[f+40>>2]=D,g[f+44>>2]=0.0,D=+g[o+(y*184|0)+40>>2]- +g[t>>2],E=+g[o+(y*184|0)+44>>2]- +g[u>>2],g[f+16>>2]=+g[o+(y*184|0)+36>>2]- +g[v>>2],g[f+20>>2]=D,g[f+24>>2]=E,g[f+28>>2]=0.0,qm(x,f+48|0,f+32|0),!w):0){D=-+g[f+52>>2];E=-+g[f+56>>2];g[f>>2]=-+g[f+48>>2];g[f+4>>2]=D;g[f+8>>2]=E;g[f+12>>2]=0.0;qm(p,f,f+16|0)}y=y+1|0}while((y|0)<(c[o+748>>2]|0))}q=c[d+308>>2]|0}n=n+1|0}while((n|0)<(q|0))}d=c[5022]|0;A=(c[d+16>>2]|0)+ -1|0;c[d+16>>2]=A;if((A|0)==0){if((c[d+4>>2]|0)!=0){Eb(f+248|0,0)|0;A=c[5008]|0;g[d+8>>2]=+(((c[f+252>>2]|0)-(c[A+4>>2]|0)+(((c[f+248>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if((c[d+16>>2]|0)!=0)break;d=c[5022]|0}c[5022]=c[d+20>>2]}}while(0);d=c[5022]|0;A=(c[d+16>>2]|0)+ -1|0;c[d+16>>2]=A;if((A|0)!=0){i=f;return}do if((c[d+4>>2]|0)!=0){Eb(f+248|0,0)|0;A=c[5008]|0;g[d+8>>2]=+(((c[f+252>>2]|0)-(c[A+4>>2]|0)+(((c[f+248>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if((c[d+16>>2]|0)==0){d=c[5022]|0;break}else{i=f;return}}while(0);c[5022]=c[d+20>>2];i=f;return}function gp(b,d){b=b|0;d=+d;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;e=i;i=i+16|0;oE(1960);s=c[b+232>>2]|0;if((s|0)>0){f=0;do{h=c[(c[b+240>>2]|0)+(f<<2)>>2]|0;if((c[h+204>>2]&3|0)==0){k=+g[h+444>>2];n=+R(+(1.0-k),+d);p=n*+g[h+312>>2];g[h+312>>2]=p;m=n*+g[h+316>>2];g[h+316>>2]=m;n=n*+g[h+320>>2];g[h+320>>2]=n;j=+g[h+448>>2];q=+R(+(1.0-j),+d);l=q*+g[h+328>>2];g[h+328>>2]=l;o=q*+g[h+332>>2];g[h+332>>2]=o;q=q*+g[h+336>>2];g[h+336>>2]=q;do if((a[h+452>>0]|0)!=0){if(q*q+(l*l+o*o)<+g[h+464>>2]?p*p+m*m+n*n<+g[h+460>>2]:0){r=+g[h+456>>2];g[h+328>>2]=l*r;g[h+332>>2]=r*o;g[h+336>>2]=r*q;g[h+312>>2]=r*p;g[h+316>>2]=r*m;g[h+320>>2]=r*n;p=r*p;m=r*m;n=r*n;l=l*r;o=r*o;q=r*q}r=+Q(+(p*p+m*m+n*n));do if(r.004999999888241291){p=p-p*(1.0/r)*.004999999888241291;g[h+312>>2]=p;m=m-m*(1.0/r)*.004999999888241291;g[h+316>>2]=m;n=n-n*(1.0/r)*.004999999888241291;g[h+320>>2]=n;break}else{c[h+312>>2]=0;c[h+316>>2]=0;c[h+320>>2]=0;c[h+324>>2]=0;p=0.0;m=0.0;n=0.0;break}while(0);k=+Q(+(l*l+o*o+q*q));if(k.004999999888241291){g[h+328>>2]=l-l*(1.0/k)*.004999999888241291;g[h+332>>2]=o-o*(1.0/k)*.004999999888241291;g[h+336>>2]=q-q*(1.0/k)*.004999999888241291;break}else{c[h+328>>2]=0;c[h+332>>2]=0;c[h+336>>2]=0;c[h+340>>2]=0;break}}while(0);ro(h+4|0,p,m,n,h+328|0,d,h+68|0);s=c[b+232>>2]|0}f=f+1|0}while((f|0)<(s|0))}b=c[5022]|0;s=(c[b+16>>2]|0)+ -1|0;c[b+16>>2]=s;if((s|0)!=0){i=e;return}do if((c[b+4>>2]|0)!=0){Eb(e|0,0)|0;s=c[5008]|0;g[b+8>>2]=+(((c[e+4>>2]|0)-(c[s+4>>2]|0)+(((c[e>>2]|0)-(c[s>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if((c[b+16>>2]|0)==0){b=c[5022]|0;break}else{i=e;return}}while(0);c[5022]=c[b+20>>2];i=e;return}function hp(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;if((a[b+273>>0]|0)!=0?(f=c[b+200>>2]|0,(f|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;i=e;return}function ip(a){a=a|0;return c[a+200>>2]|0}function jp(a){a=a|0;return c[a+212>>2]|0}function kp(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function lp(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0;d=i;Lb[c[(c[b>>2]|0)+32>>2]&511](b);e=Yb[c[(c[b>>2]|0)+16>>2]&31](b,104,1)|0;f=c[e+8>>2]|0;h=f+0|0;j=h+104|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));g[f+88>>2]=+g[a+248>>2];g[f+92>>2]=+g[a+252>>2];g[f+96>>2]=+g[a+256>>2];g[f+100>>2]=+g[a+260>>2];g[f>>2]=+g[a+92>>2];g[f+4>>2]=+g[a+96>>2];g[f+8>>2]=+g[a+100>>2];g[f+12>>2]=+g[a+104>>2];g[f+16>>2]=+g[a+108>>2];g[f+20>>2]=+g[a+116>>2];g[f+24>>2]=+g[a+120>>2];g[f+28>>2]=+g[a+124>>2];g[f+32>>2]=+g[a+128>>2];g[f+36>>2]=+g[a+132>>2];g[f+40>>2]=+g[a+140>>2];g[f+44>>2]=+g[a+144>>2];g[f+48>>2]=+g[a+148>>2];g[f+52>>2]=+g[a+152>>2];g[f+56>>2]=+g[a+168>>2];g[f+60>>2]=+g[a+172>>2];c[f+64>>2]=c[a+112>>2];c[f+68>>2]=c[a+156>>2];c[f+72>>2]=c[a+160>>2];c[f+76>>2]=c[a+164>>2];c[f+80>>2]=c[a+136>>2];Jb[c[(c[b>>2]|0)+20>>2]&31](b,e,1992,1145853764,f);f=c[a+8>>2]|0;if((f|0)>0){e=0;do{h=c[(c[a+16>>2]|0)+(e<<2)>>2]|0;if((c[h+236>>2]&2|0)!=0){j=Pb[c[(c[h>>2]|0)+16>>2]&127](h)|0;j=Yb[c[(c[b>>2]|0)+16>>2]&31](b,j,1)|0;f=Yb[c[(c[h>>2]|0)+20>>2]&31](h,c[j+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,j,f,1497645650,h);f=c[a+8>>2]|0}e=e+1|0}while((e|0)<(f|0))}if((c[a+212>>2]|0)<=0){Lu(a,b);j=c[b>>2]|0;j=j+36|0;j=c[j>>2]|0;Lb[j&511](b);i=d;return}e=0;do{j=c[(c[a+220>>2]|0)+(e<<2)>>2]|0;f=Pb[c[(c[j>>2]|0)+36>>2]&127](j)|0;f=Yb[c[(c[b>>2]|0)+16>>2]&31](b,f,1)|0;h=Yb[c[(c[j>>2]|0)+40>>2]&31](j,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,h,1397641027,j);e=e+1|0}while((e|0)<(c[a+212>>2]|0));Lu(a,b);j=c[b>>2]|0;j=j+36|0;j=c[j>>2]|0;Lb[j&511](b);i=d;return}function np(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function op(a){a=a|0;return c[a+72>>2]|0}function pp(a){a=a|0;return 2}function qp(a,b){a=a|0;b=b|0;return}function rp(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;oE(1664);if((c[a+280>>2]|0)>0){e=0;do{f=c[(c[a+288>>2]|0)+(e<<2)>>2]|0;tc[c[(c[f>>2]|0)+8>>2]&7](f,a,b);e=e+1|0}while((e|0)<(c[a+280>>2]|0))}a=c[5022]|0;f=(c[a+16>>2]|0)+ -1|0;c[a+16>>2]=f;if((f|0)!=0){i=d;return}do if((c[a+4>>2]|0)!=0){Eb(d|0,0)|0;f=c[5008]|0;g[a+8>>2]=+(((c[d+4>>2]|0)-(c[f+4>>2]|0)+(((c[d>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[a+12>>2]|0)|0)>>>0)/1.0e3+ +g[a+8>>2];if((c[a+16>>2]|0)==0){a=c[5022]|0;break}else{i=d;return}}while(0);c[5022]=c[a+20>>2];i=d;return}function sp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;while(1){f=c[a+12>>2]|0;g=c[f+(((b+d|0)/2|0)<<2)>>2]|0;l=b;k=d;while(1){h=c[(c[g+28>>2]|0)+208>>2]|0;if((h|0)>-1)while(1){j=c[f+(l<<2)>>2]|0;m=c[(c[j+28>>2]|0)+208>>2]|0;if(!((m|0)>-1))m=c[(c[j+32>>2]|0)+208>>2]|0;if((m|0)<(h|0))l=l+1|0;else break}else{m=c[(c[g+32>>2]|0)+208>>2]|0;while(1){j=c[f+(l<<2)>>2]|0;n=c[(c[j+28>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[j+32>>2]|0)+208>>2]|0;if((n|0)<(m|0))l=l+1|0;else break}}if((h|0)>-1)while(1){m=c[f+(k<<2)>>2]|0;n=c[(c[m+28>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[m+32>>2]|0)+208>>2]|0;if((h|0)<(n|0))k=k+ -1|0;else break}else{h=c[(c[g+32>>2]|0)+208>>2]|0;while(1){m=c[f+(k<<2)>>2]|0;n=c[(c[m+28>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[m+32>>2]|0)+208>>2]|0;if((h|0)<(n|0))k=k+ -1|0;else break}}if((l|0)<=(k|0)){c[f+(l<<2)>>2]=m;c[(c[a+12>>2]|0)+(k<<2)>>2]=j;l=l+1|0;k=k+ -1|0}if((l|0)>(k|0))break;f=c[a+12>>2]|0}if((k|0)>(b|0))sp(a,b,k);if((l|0)<(d|0))b=l;else break}i=e;return}function tp(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function up(a){a=a|0;return a+12|0}function vp(a){a=a|0;return 2144}function wp(a,b){a=a|0;b=b|0;g[a>>2]=1.0;g[a+4>>2]=1.0;g[a+8>>2]=1.0;g[a+12>>2]=0.0;return}function xp(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function yp(a){a=a|0;return+(+g[a+28>>2]*+g[a+12>>2])}function zp(a){a=a|0;return 52}function Ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=h;if((h|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];i=e;return 2112}function Bp(a){a=a|0;return 0}function Cp(a,b,c){a=a|0;b=b|0;c=c|0;return}function Dp(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ep(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;g=c[d>>2]|0;f=c[a+80>>2]|0;if((g|0)==(f|0)){d=0;i=e;return d|0}if((b[a+10>>1]&b[d+4>>1])<<16>>16==0){d=0;i=e;return d|0}if((b[d+6>>1]&b[a+8>>1])<<16>>16==0){d=0;i=e;return d|0}d=c[a+92>>2]|0;d=Yb[c[(c[d>>2]|0)+28>>2]&31](d,f,g)|0;i=e;return d|0}function Fp(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,l=0.0,m=0.0;e=i;f=c[b>>2]|0;if((f|0)==(c[a+80>>2]|0)){h=1.0;i=e;return+h}if((c[f+204>>2]&4|0)!=0){h=1.0;i=e;return+h}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]){h=1.0;i=e;return+h}g[a+4>>2]=+g[b+40>>2];c[a+76>>2]=f;if(d){c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2]}else{m=+g[b+8>>2];l=+g[b+12>>2];k=+g[b+16>>2];j=m*+g[f+20>>2]+l*+g[f+24>>2]+k*+g[f+28>>2];h=m*+g[f+36>>2]+l*+g[f+40>>2]+k*+g[f+44>>2];g[a+44>>2]=+g[f+4>>2]*m+ +g[f+8>>2]*l+ +g[f+12>>2]*k;g[a+48>>2]=j;g[a+52>>2]=h;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+64>>2]=c[b+28>>2];c[a+68>>2]=c[b+32>>2];c[a+72>>2]=c[b+36>>2];m=+g[b+40>>2];i=e;return+m}function Gp(a){a=a|0;var b=0;b=i;Jp(a);i=b;return}function Hp(a){a=a|0;var b=0;b=i;Jp(a);YE(a);i=b;return}function Ip(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;if((h|0)<0){r=c[b+8>>2]|0;+ic[c[(c[r>>2]|0)+12>>2]&3](r,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);i=j;return}m=c[b+16>>2]|0;a:do if((m|0)>0){l=c[b+12>>2]|0;o=0;while(1){k=l+(o<<2)|0;p=c[k>>2]|0;n=c[(c[p+28>>2]|0)+208>>2]|0;if((n|0)>-1)p=n;else p=c[(c[p+32>>2]|0)+208>>2]|0;n=o+1|0;if((p|0)==(h|0))break a;if((n|0)<(m|0))o=n;else{o=n;k=0;break}}}else{o=0;k=0}while(0);if((o|0)<(m|0)){n=c[b+12>>2]|0;l=0;do{q=c[n+(o<<2)>>2]|0;p=c[(c[q+28>>2]|0)+208>>2]|0;if(!((p|0)>-1))p=c[(c[q+32>>2]|0)+208>>2]|0;l=((p|0)==(h|0)&1)+l|0;o=o+1|0}while((o|0)<(m|0))}else l=0;h=c[b+4>>2]|0;if((c[h+72>>2]|0)<2){r=c[b+8>>2]|0;+ic[c[(c[r>>2]|0)+12>>2]&3](r,d,e,f,g,k,l,h,c[b+20>>2]|0,c[b+24>>2]|0);i=j;return}if((e|0)>0){o=c[b+32>>2]|0;p=c[b+36>>2]|0;h=0;while(1){m=d+(h<<2)|0;if((o|0)==(p|0)){n=(p|0)==0?1:p<<1;if((p|0)<(n|0)){if((n|0)==0)o=0;else{c[5004]=(c[5004]|0)+1;o=XE((n<<2|3)+16|0)|0;if((o|0)==0)o=0;else{c[(o+19&-16)+ -4>>2]=o;o=o+19&-16}p=c[b+32>>2]|0}if((p|0)>0){r=0;do{q=o+(r<<2)|0;if((q|0)!=0)c[q>>2]=c[(c[b+40>>2]|0)+(r<<2)>>2];r=r+1|0}while((r|0)!=(p|0))}q=c[b+40>>2]|0;if((q|0)!=0){if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[q+ -4>>2]|0);p=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=o;c[b+36>>2]=n;o=p}else{o=p;n=p}}else n=p;p=(c[b+40>>2]|0)+(o<<2)|0;if((p|0)!=0)c[p>>2]=c[m>>2];o=o+1|0;c[b+32>>2]=o;h=h+1|0;if((h|0)==(e|0))break;else p=n}}if((g|0)>0){m=c[b+52>>2]|0;n=c[b+56>>2]|0;d=0;while(1){e=f+(d<<2)|0;if((m|0)==(n|0)){h=(n|0)==0?1:n<<1;if((n|0)<(h|0)){if((h|0)==0)m=0;else{c[5004]=(c[5004]|0)+1;m=XE((h<<2|3)+16|0)|0;if((m|0)==0)m=0;else{c[(m+19&-16)+ -4>>2]=m;m=m+19&-16}n=c[b+52>>2]|0}if((n|0)>0){p=0;do{o=m+(p<<2)|0;if((o|0)!=0)c[o>>2]=c[(c[b+60>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(n|0))}o=c[b+60>>2]|0;if((o|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[o+ -4>>2]|0);n=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=m;c[b+56>>2]=h;m=n}else{m=n;h=n}}else h=n;n=(c[b+60>>2]|0)+(m<<2)|0;if((n|0)!=0)c[n>>2]=c[e>>2];m=m+1|0;c[b+52>>2]=m;d=d+1|0;if((d|0)==(g|0))break;else n=h}}if((l|0)>0){e=c[b+72>>2]|0;h=c[b+76>>2]|0;f=0;while(1){g=k+(f<<2)|0;if((e|0)==(h|0)){d=(h|0)==0?1:h<<1;if((h|0)<(d|0)){if((d|0)==0)e=0;else{c[5004]=(c[5004]|0)+1;e=XE((d<<2|3)+16|0)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}h=c[b+72>>2]|0}if((h|0)>0){m=0;do{n=e+(m<<2)|0;if((n|0)!=0)c[n>>2]=c[(c[b+80>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}m=c[b+80>>2]|0;if((m|0)!=0){if((a[b+84>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0);h=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=e;c[b+76>>2]=d;e=h}else{e=h;d=h}}else d=h;h=(c[b+80>>2]|0)+(e<<2)|0;if((h|0)!=0)c[h>>2]=c[g>>2];e=e+1|0;c[b+72>>2]=e;f=f+1|0;if((f|0)==(l|0))break;else h=d}}else e=c[b+72>>2]|0;if(((c[b+52>>2]|0)+e|0)<=(c[(c[b+4>>2]|0)+72>>2]|0)){i=j;return}bp(b);i=j;return}function Jp(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=2240;e=c[b+80>>2]|0;if((e|0)!=0){if((a[b+84>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+60>>2]|0;if((e|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+40>>2]|0;if((e|0)==0){a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;e=b+36|0;c[e>>2]=0;i=d;return}if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+40>>2]=0;a[b+44>>0]=1;c[b+40>>2]=0;c[b+32>>2]=0;e=b+36|0;c[e>>2]=0;i=d;return}function Kp(b,d,e){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.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;f=i;i=i+128|0;co(f+64|0,d,b+48|0);c[b+1064>>2]=c[f+64>>2];c[b+1068>>2]=c[f+68>>2];c[b+1072>>2]=c[f+72>>2];c[b+1076>>2]=c[f+76>>2];c[b+1080>>2]=c[f+80>>2];c[b+1084>>2]=c[f+84>>2];c[b+1088>>2]=c[f+88>>2];c[b+1092>>2]=c[f+92>>2];c[b+1096>>2]=c[f+96>>2];c[b+1100>>2]=c[f+100>>2];c[b+1104>>2]=c[f+104>>2];c[b+1108>>2]=c[f+108>>2];c[b+1112>>2]=c[f+112>>2];c[b+1116>>2]=c[f+116>>2];c[b+1120>>2]=c[f+120>>2];c[b+1124>>2]=c[f+124>>2];co(f,e,b+112|0);c[b+1128>>2]=c[f+0>>2];c[b+1132>>2]=c[f+4>>2];c[b+1136>>2]=c[f+8>>2];c[b+1140>>2]=c[f+12>>2];c[b+1144>>2]=c[f+16>>2];c[b+1148>>2]=c[f+20>>2];c[b+1152>>2]=c[f+24>>2];c[b+1156>>2]=c[f+28>>2];c[b+1160>>2]=c[f+32>>2];c[b+1164>>2]=c[f+36>>2];c[b+1168>>2]=c[f+40>>2];c[b+1172>>2]=c[f+44>>2];c[b+1176>>2]=c[f+48>>2];c[b+1180>>2]=c[f+52>>2];c[b+1184>>2]=c[f+56>>2];c[b+1188>>2]=c[f+60>>2];w=+g[b+1176>>2]- +g[b+1112>>2];x=+g[b+1180>>2]- +g[b+1116>>2];t=+g[b+1184>>2]- +g[b+1120>>2];r=+g[b+1084>>2];q=+g[b+1104>>2];m=+g[b+1088>>2];h=+g[b+1100>>2];s=+g[b+1096>>2];n=+g[b+1080>>2];o=+g[b+1064>>2];l=+g[b+1068>>2];k=+g[b+1072>>2];j=1.0/((r*q-m*h)*o+l*(m*s-q*n)+(h*n-r*s)*k);p=(h*n-r*s)*j;v=(r*q-m*h)*j*w+j*(h*k-q*l)*x+j*(m*l-r*k)*t;u=w*(m*s-q*n)*j+x*j*(q*o-s*k)+j*(n*k-m*o)*t;t=w*p+j*(s*l-h*o)*x+j*(r*o-n*l)*t;g[b+1256>>2]=v;g[b+1260>>2]=u;g[b+1264>>2]=t;g[b+1268>>2]=0.0;g[b+840>>2]=v;x=+g[b+680>>2];w=+g[b+696>>2];do if(!(x>w)){if(x>v){c[b+856>>2]=2;g[b+824>>2]=v-x;break}if(w>2]=1;g[b+824>>2]=v-w;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]=u;w=+g[b+684>>2];v=+g[b+700>>2];do if(!(w>v)){if(w>u){c[b+860>>2]=2;g[b+828>>2]=u-w;break}if(v>2]=1;g[b+828>>2]=u-v;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]=t;v=+g[b+688>>2];u=+g[b+704>>2];do if(!(v>u)){if(v>t){c[b+864>>2]=2;g[b+832>>2]=t-v;break}if(u>2]=1;g[b+832>>2]=t-u;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);B=+g[b+1128>>2];A=+g[b+1144>>2];w=+g[b+1160>>2];u=+g[b+1132>>2];v=+g[b+1148>>2];x=+g[b+1164>>2];C=(r*q-m*h)*j*u+j*(h*k-q*l)*v+j*(m*l-r*k)*x;t=(m*s-q*n)*j*u+j*(q*o-s*k)*v+j*(n*k-m*o)*x;z=B*p+j*(s*l-h*o)*A+j*(r*o-n*l)*w;y=p*+g[b+1136>>2]+j*(s*l-h*o)*+g[b+1152>>2]+j*(r*o-n*l)*+g[b+1168>>2];do if(z<1.0)if(z>-1.0){g[b+1192>>2]=+Y(+-(p*u+j*(s*l-h*o)*v+j*(r*o-n*l)*x),+y);C=z<-1.0?-1.0:z;g[b+1196>>2]=+W(+(C>1.0?1.0:C));g[b+1200>>2]=+Y(+-(B*(m*s-q*n)*j+A*j*(q*o-s*k)+j*(n*k-m*o)*w),+(B*(r*q-m*h)*j+A*j*(h*k-q*l)+j*(m*l-r*k)*w));break}else{g[b+1192>>2]=-+Y(+C,+t);g[b+1196>>2]=-1.5707963705062866;g[b+1200>>2]=0.0;break}else{g[b+1192>>2]=+Y(+C,+t);g[b+1196>>2]=1.5707963705062866;g[b+1200>>2]=0.0}while(0);g[b+1236>>2]=0.0;t=q*(B*q-w*k)-m*(A*k-B*m);u=k*(A*k-B*m)-q*(w*m-A*q);v=m*(w*m-A*q)-k*(B*q-w*k);g[b+1220>>2]=0.0;x=A*(A*k-B*m)-w*(B*q-w*k);y=w*(w*m-A*q)-B*(A*k-B*m);z=B*(B*q-w*k)-A*(w*m-A*q);g[b+1252>>2]=0.0;C=1.0/+Q(+(t*t+u*u+v*v));g[b+1208>>2]=t*C;g[b+1212>>2]=u*C;g[b+1216>>2]=v*C;C=1.0/+Q(+((w*m-A*q)*(w*m-A*q)+(B*q-w*k)*(B*q-w*k)+(A*k-B*m)*(A*k-B*m)));g[b+1224>>2]=(w*m-A*q)*C;g[b+1228>>2]=(B*q-w*k)*C;g[b+1232>>2]=(A*k-B*m)*C;C=1.0/+Q(+(x*x+y*y+z*z));g[b+1240>>2]=x*C;g[b+1244>>2]=y*C;g[b+1248>>2]=z*C;if((a[b+1301>>0]|0)==0){i=f;return}j=+g[(c[b+28>>2]|0)+344>>2];h=+g[(c[b+32>>2]|0)+344>>2];if(j<1.1920928955078125e-7)d=1;else d=h<1.1920928955078125e-7&1;a[b+1280>>0]=d;if(j+h>0.0){g[b+1272>>2]=h/(j+h);h=h/(j+h)}else{g[b+1272>>2]=.5;h=.5}g[b+1276>>2]=1.0-h;i=f;return}function Lp(a,b,d,e,f,h,j,k,l){a=a|0;b=b|0;d=d|0;e=+e;f=+f;h=+h;j=+j;k=+k;l=+l;var m=0,n=0;m=i;i=i+128|0;if((b|0)==0){i=m;return}n=c[a+28>>2]|0;g[m+80>>2]=+g[n+4>>2];g[m+84>>2]=+g[n+20>>2];g[m+88>>2]=+g[n+36>>2];g[m+92>>2]=0.0;g[m+96>>2]=+g[n+8>>2];g[m+100>>2]=+g[n+24>>2];g[m+104>>2]=+g[n+40>>2];g[m+108>>2]=0.0;g[m+112>>2]=+g[n+12>>2];g[m+116>>2]=+g[n+28>>2];g[m+120>>2]=+g[n+44>>2];g[m+124>>2]=0.0;a=c[a+32>>2]|0;g[m+32>>2]=+g[a+4>>2];g[m+36>>2]=+g[a+20>>2];g[m+40>>2]=+g[a+36>>2];g[m+44>>2]=0.0;g[m+48>>2]=+g[a+8>>2];g[m+52>>2]=+g[a+24>>2];g[m+56>>2]=+g[a+40>>2];g[m+60>>2]=0.0;g[m+64>>2]=+g[a+12>>2];g[m+68>>2]=+g[a+28>>2];g[m+72>>2]=+g[a+44>>2];g[m+76>>2]=0.0;f=f- +g[n+56>>2];h=h- +g[n+60>>2];g[m+16>>2]=e- +g[n+52>>2];g[m+20>>2]=f;g[m+24>>2]=h;g[m+28>>2]=0.0;k=k- +g[a+56>>2];l=l- +g[a+60>>2];g[m>>2]=j- +g[a+52>>2];g[m+4>>2]=k;g[m+8>>2]=l;g[m+12>>2]=0.0;Co(b,m+80|0,m+32|0,m+16|0,m,d,n+396|0,+g[n+344>>2],a+396|0,+g[a+344>>2]);i=m;return}function Mp(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,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;e=i;if((b|0)==0){i=e;return}L=c[a+28>>2]|0;u=+g[L+4>>2];t=+g[L+20>>2];s=+g[L+36>>2];q=+g[L+8>>2];p=+g[L+24>>2];o=+g[L+40>>2];m=+g[L+12>>2];k=+g[L+28>>2];h=+g[L+44>>2];a=c[a+32>>2]|0;K=+g[a+4>>2];J=+g[a+20>>2];I=+g[a+36>>2];G=+g[a+8>>2];F=+g[a+24>>2];E=+g[a+40>>2];C=+g[a+12>>2];A=+g[a+28>>2];y=+g[a+44>>2];c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;l=+g[d>>2];j=+g[d+4>>2];f=+g[d+8>>2];g[b+16>>2]=u*l+t*j+s*f;g[b+20>>2]=q*l+p*j+o*f;g[b+24>>2]=m*l+k*j+h*f;g[b+28>>2]=0.0;B=-+g[d>>2];z=-+g[d+4>>2];x=-+g[d+8>>2];g[b+32>>2]=K*B+J*z+I*x;g[b+36>>2]=G*B+F*z+E*x;g[b+40>>2]=C*B+A*z+y*x;g[b+44>>2]=0.0;v=(u*l+t*j+s*f)*+g[L+396>>2];r=(q*l+p*j+o*f)*+g[L+400>>2];n=(m*l+k*j+h*f)*+g[L+404>>2];g[b+48>>2]=v;g[b+52>>2]=r;g[b+56>>2]=n;g[b+60>>2]=0.0;H=(K*B+J*z+I*x)*+g[a+396>>2];D=(G*B+F*z+E*x)*+g[a+400>>2];w=(C*B+A*z+y*x)*+g[a+404>>2];g[b+64>>2]=H;g[b+68>>2]=D;g[b+72>>2]=w;g[b+76>>2]=0.0;g[b+80>>2]=(K*B+J*z+I*x)*H+(G*B+F*z+E*x)*D+(C*B+A*z+y*x)*w+(v*(u*l+t*j+s*f)+r*(q*l+p*j+o*f)+n*(m*l+k*j+h*f));i=e;return}function Np(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0;f=i;h=+Op(+g[b+(d<<2)+1192>>2],+g[b+(d<<6)+868>>2],+g[b+(d<<6)+872>>2]);g[b+(d<<6)+920>>2]=h;j=+g[b+(d<<6)+868>>2];k=+g[b+(d<<6)+872>>2];do if(!(j>k)){if(j>h){c[b+(d<<6)+924>>2]=1;g[b+(d<<6)+916>>2]=h-j;if(h-j>3.1415927410125732){g[b+(d<<6)+916>>2]=h-j+-6.2831854820251465;break}if(!(h-j<-3.1415927410125732))break;g[b+(d<<6)+916>>2]=h-j+6.2831854820251465;break}if(!(k>2]=0;e=14;break}c[b+(d<<6)+924>>2]=2;g[b+(d<<6)+916>>2]=h-k;if(h-k>3.1415927410125732){g[b+(d<<6)+916>>2]=h-k+-6.2831854820251465;break}if(h-k<-3.1415927410125732)g[b+(d<<6)+916>>2]=h-k+6.2831854820251465}else{c[b+(d<<6)+924>>2]=0;e=14}while(0);if((e|0)==14?(a[b+(d<<6)+912>>0]|0)==0:0){d=0;i=f;return d|0}d=1;i=f;return d|0}function Op(a,b,c){a=+a;b=+b;c=+c;var d=0;d=i;if(b>=c){b=a;i=d;return+b}if(a3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;b=+P(+b);c=+ab(+(c-a),6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;if(b<+P(+c)){b=a;i=d;return+b}b=a+6.2831854820251465;i=d;return+b}if(!(a>c)){b=a;i=d;return+b}c=+ab(+(a-c),6.2831854820251465);if(!(c<-3.1415927410125732)){if(c>3.1415927410125732)c=c+-6.2831854820251465}else c=c+6.2831854820251465;c=+P(+c);b=+ab(+(a-b),6.2831854820251465);if(!(b<-3.1415927410125732)){if(b>3.1415927410125732)b=b+-6.2831854820251465}else b=b+6.2831854820251465;if(!(+P(+b)>0]|0)==0){i=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+716>>2]=0;c[b+720>>2]=0;c[b+724>>2]=0;Kp(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Lb[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]){if((a[b+1300>>0]|0)==0){l=b+1160|0;k=b+1144|0;j=b+1128|0}else{l=b+1096|0;k=b+1080|0;j=b+1064|0}m=+g[l>>2];n=+g[k>>2];g[h>>2]=+g[j>>2];g[h+4>>2]=n;g[h+8>>2]=m;g[h+12>>2]=0.0;Lp(b,b+176|0,h,d,e,f,d,e,f)}if(+g[b+700>>2]>=+g[b+684>>2]){if((a[b+1300>>0]|0)==0){l=b+1164|0;k=b+1148|0;j=b+1132|0}else{l=b+1100|0;k=b+1084|0;j=b+1068|0}n=+g[l>>2];m=+g[k>>2];g[h>>2]=+g[j>>2];g[h+4>>2]=m;g[h+8>>2]=n;g[h+12>>2]=0.0;Lp(b,b+260|0,h,d,e,f,d,e,f)}if(+g[b+704>>2]>=+g[b+688>>2]){if((a[b+1300>>0]|0)==0){j=b+1168|0;l=b+1152|0;k=b+1136|0}else{j=b+1104|0;l=b+1088|0;k=b+1072|0}n=+g[j>>2];m=+g[l>>2];g[h>>2]=+g[k>>2];g[h+4>>2]=m;g[h+8>>2]=n;g[h+12>>2]=0.0;Lp(b,b+344|0,h,d,e,f,d,e,f)}if(Np(b,0)|0){c[h+0>>2]=c[b+1208>>2];c[h+4>>2]=c[b+1212>>2];c[h+8>>2]=c[b+1216>>2];c[h+12>>2]=c[b+1220>>2];Mp(b,b+428|0,h)}if(Np(b,1)|0){c[h+0>>2]=c[b+1224>>2];c[h+4>>2]=c[b+1228>>2];c[h+8>>2]=c[b+1232>>2];c[h+12>>2]=c[b+1236>>2];Mp(b,b+512|0,h)}if(!(Np(b,2)|0)){i=h;return}c[h+0>>2]=c[b+1240>>2];c[h+4>>2]=c[b+1244>>2];c[h+8>>2]=c[b+1248>>2];c[h+12>>2]=c[b+1252>>2];Mp(b,b+596|0,h);i=h;return}function Qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;if((a[b+1308>>0]|0)!=0){c[d>>2]=0;c[d+4>>2]=0;i=e;return}Kp(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){g=0;f=6}else{c[d>>2]=1;c[d+4>>2]=5;g=1;f=5}if(!((c[b+860>>2]|0)==0?(a[b+789>>0]|0)==0:0)){g=g+1|0;c[d>>2]=g;f=f+ -1|0;c[d+4>>2]=f}if(!((c[b+864>>2]|0)==0?(a[b+790>>0]|0)==0:0)){c[d>>2]=g+1;c[d+4>>2]=f+ -1}if(Np(b,0)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1}if(Np(b,1)|0){c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1}if(!(Np(b,2)|0)){i=e;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1;i=e;return}function Rp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=c[b+28>>2]|0;f=c[b+32>>2]|0;if((a[b+1301>>0]|0)==0){Sp(b,d,Tp(b,d,0,g+4|0,f+4|0,g+312|0,f+312|0,g+328|0,f+328|0)|0,g+4|0,f+4|0,g+312|0,f+312|0,g+328|0,f+328|0)|0;i=e;return}else{Tp(b,d,Sp(b,d,0,g+4|0,f+4|0,g+312|0,f+312|0,g+328|0,f+328|0)|0,g+4|0,f+4|0,g+312|0,f+312|0,g+328|0,f+328|0)|0;i=e;return}}function Sp(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;o=i;i=i+16|0;n=0;do{p=b+(n<<6)+868|0;if(!((c[b+(n<<6)+924>>2]|0)==0?(a[b+(n<<6)+912>>0]|0)==0:0)){q=b+(n<<4)+1208|0;c[o+0>>2]=c[q+0>>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];q=c[b+1304>>2]>>(n*3|0)+9;if((q&1|0)==0)g[b+(n<<6)+896>>2]=+g[c[d+32>>2]>>2];if((q&2|0)==0)g[b+(n<<6)+904>>2]=+g[c[d+32>>2]>>2];if((q&4|0)==0)g[b+(n<<6)+900>>2]=+g[d+4>>2];e=(Up(b,p,f,h,j,k,l,m,d,e,o,1,0)|0)+e|0}n=n+1|0}while((n|0)!=3);i=o;return e|0}function Tp(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;n=i;i=i+80|0;g[n+76>>2]=0.0;g[n+24>>2]=0.0;g[n+28>>2]=.10000000149011612;g[n+32>>2]=300.0;g[n+16>>2]=1.0;g[n+20>>2]=-1.0;g[n+44>>2]=0.0;g[n+48>>2]=.20000000298023224;g[n+52>>2]=0.0;g[n+56>>2]=0.0;g[n+36>>2]=1.0;g[n+40>>2]=.5;c[n+72>>2]=0;g[n+64>>2]=0.0;a[n+60>>0]=0;o=0;do{q=c[b+(o<<2)+856>>2]|0;p=a[b+o+788>>0]|0;do if(!((q|0)==0&p<<24>>24==0)){g[n+56>>2]=0.0;c[n+72>>2]=q;g[n+68>>2]=+g[b+(o<<2)+840>>2];g[n+64>>2]=+g[b+(o<<2)+824>>2];g[n+36>>2]=+g[b+732>>2];a[n+60>>0]=p;g[n+20>>2]=+g[b+(o<<2)+696>>2];g[n+40>>2]=+g[b+728>>2];g[n+16>>2]=+g[b+(o<<2)+680>>2];g[n+32>>2]=0.0;g[n+28>>2]=+g[b+(o<<2)+808>>2];g[n+24>>2]=+g[b+(o<<2)+792>>2];g[n>>2]=+g[b+(o<<2)+1064>>2];g[n+4>>2]=+g[b+(o<<2)+1080>>2];g[n+8>>2]=+g[b+(o<<2)+1096>>2];g[n+12>>2]=0.0;p=c[b+1304>>2]>>o*3;if((p&1|0)==0)q=c[d+32>>2]|0;else q=b+(o<<2)+740|0;g[n+44>>2]=+g[q>>2];if((p&2|0)==0)q=c[d+32>>2]|0;else q=b+(o<<2)+772|0;g[n+52>>2]=+g[q>>2];if((p&4|0)==0)p=d+4|0;else p=b+(o<<2)+756|0;g[n+48>>2]=+g[p>>2];if((a[b+1301>>0]|0)==0){e=(Up(b,n+16|0,f,h,j,k,l,m,d,e,n,0,0)|0)+e|0;break}q=o+1|0;if((c[b+(((q|0)==3?0:q)<<6)+924>>2]|0)==0)p=1;else p=(c[b+(((o+2|0)%3|0)<<6)+924>>2]|0)==0&1;e=(Up(b,n+16|0,f,h,j,k,l,m,d,e,n,0,p)|0)+e|0}while(0);o=o+1|0}while((o|0)!=3);i=n;return e|0}function Up(b,d,e,f,h,j,k,l,m,n,o,p,q){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;n=n|0;o=o|0;p=p|0;q=q|0;var 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,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;r=i;s=aa(c[m+24>>2]|0,n)|0;u=(a[d+44>>0]|0)==0;n=c[d+56>>2]|0;if(u&(n|0)==0){f=0;i=r;return f|0}E=c[((p|0)!=0?m+12|0:m+8|0)>>2]|0;D=c[((p|0)!=0?m+20|0:m+16|0)>>2]|0;g[E+(s<<2)>>2]=+g[o>>2];g[E+(s+1<<2)>>2]=+g[o+4>>2];g[E+(s+2<<2)>>2]=+g[o+8>>2];g[D+(s<<2)>>2]=-+g[o>>2];g[D+(s+1<<2)>>2]=-+g[o+4>>2];g[D+(s+2<<2)>>2]=-+g[o+8>>2];do if((p|0)==0){v=+g[b+1176>>2];if((a[b+1301>>0]|0)==0){y=v- +g[e+48>>2];B=+g[b+1180>>2]- +g[e+52>>2];C=+g[b+1184>>2]- +g[e+56>>2];A=+g[o+8>>2];x=+g[o+4>>2];z=+g[o>>2];E=c[m+12>>2]|0;g[E+(s<<2)>>2]=B*A-C*x;g[E+(s+1<<2)>>2]=C*z-y*A;g[E+(s+2<<2)>>2]=y*x-B*z;z=+g[b+1176>>2]- +g[f+48>>2];B=+g[b+1180>>2]- +g[f+52>>2];x=+g[b+1184>>2]- +g[f+56>>2];y=+g[o+8>>2];A=+g[o+4>>2];C=+g[o>>2];E=c[m+20>>2]|0;g[E+(s<<2)>>2]=-(B*y-x*A);g[E+(s+1<<2)>>2]=-(x*C-z*y);g[E+(s+2<<2)>>2]=-(z*A-B*C);break}K=v- +g[f+48>>2];I=+g[b+1180>>2]- +g[f+52>>2];G=+g[b+1184>>2]- +g[f+56>>2];J=+g[o>>2];H=+g[o+4>>2];F=+g[o+8>>2];M=+g[b+1112>>2]- +g[e+48>>2];z=+g[b+1116>>2]- +g[e+52>>2];v=+g[b+1120>>2]- +g[e+56>>2];A=+g[d+52>>2]- +g[d+48>>2];L=J*(J*M+H*z+F*v)+J*A-J*(K*J+I*H+G*F);B=H*(J*M+H*z+F*v)+H*A-H*(K*J+I*H+G*F);A=F*(J*M+H*z+F*v)+F*A-F*(K*J+I*H+G*F);w=+g[b+1272>>2];C=+g[b+1276>>2];y=F*(z-H*(J*M+H*z+F*v)+w*B)-H*(v-F*(J*M+H*z+F*v)+w*A);x=J*(v-F*(J*M+H*z+F*v)+w*A)-F*(M-J*(J*M+H*z+F*v)+w*L);v=H*(M-J*(J*M+H*z+F*v)+w*L)-J*(z-H*(J*M+H*z+F*v)+w*B);z=F*(I-H*(K*J+I*H+G*F)-C*B)-H*(G-F*(K*J+I*H+G*F)-C*A);A=J*(G-F*(K*J+I*H+G*F)-C*A)-F*(K-J*(K*J+I*H+G*F)-C*L);B=H*(K-J*(K*J+I*H+G*F)-C*L)-J*(I-H*(K*J+I*H+G*F)-C*B);if((a[b+1280>>0]|0)!=0&(q|0)==0){z=C*z;A=C*A;B=C*B;y=w*y;x=w*x;v=w*v}E=c[m+12>>2]|0;g[E+(s<<2)>>2]=y;g[E+(s+1<<2)>>2]=x;g[E+(s+2<<2)>>2]=v;E=c[m+20>>2]|0;g[E+(s<<2)>>2]=-z;g[E+(s+1<<2)>>2]=-A;g[E+(s+2<<2)>>2]=-B}while(0);if((n|0)!=0?+g[d>>2]==+g[d+4>>2]:0){u=c[m+28>>2]|0;g[u+(s<<2)>>2]=0.0}else t=11;do if((t|0)==11){t=c[m+28>>2]|0;g[t+(s<<2)>>2]=0.0;if(!u){g[(c[m+32>>2]|0)+(s<<2)>>2]=+g[d+28>>2];if((n|0)!=0){u=t;break}v=+g[d+8>>2];if((p|0)!=0)z=v;else z=-v;x=+g[d+52>>2];y=+g[d>>2];w=+g[d+4>>2];A=+g[m>>2]*+g[d+32>>2];do if(!(y>w))if(!(y==w)){z=z/A;if(z<0.0){if(x>=y?y-z>x:0){w=(y-x)/z;break}w=x0.0){if(x<=w?w-zw?0.0:1.0}else w=0.0}else w=0.0;else w=1.0;while(0);g[t+(s<<2)>>2]=w*v+ +g[t+(s<<2)>>2];g[(c[m+36>>2]|0)+(s<<2)>>2]=-+g[d+12>>2];g[(c[m+40>>2]|0)+(s<<2)>>2]=+g[d+12>>2]}if((n|0)!=0)u=t;else{E=1;i=r;return E|0}}while(0);v=+g[m>>2]*+g[d+32>>2]*+g[d+48>>2];t=u+(s<<2)|0;w=+g[t>>2];if((p|0)!=0)v=w-v;else v=v+w;g[t>>2]=v;g[(c[m+32>>2]|0)+(s<<2)>>2]=+g[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[m+36>>2]|0)+(s<<2)>>2]=-3.4028234663852886e+38;g[(c[m+40>>2]|0)+(s<<2)>>2]=3.4028234663852886e+38;E=1;i=r;return E|0}u=(c[m+36>>2]|0)+(s<<2)|0;if((n|0)==1){g[u>>2]=0.0;g[(c[m+40>>2]|0)+(s<<2)>>2]=3.4028234663852886e+38}else{g[u>>2]=-3.4028234663852886e+38;g[(c[m+40>>2]|0)+(s<<2)>>2]=0.0}v=+g[d+40>>2];if(!(v>0.0)){E=1;i=r;return E|0}if((p|0)!=0){L=+g[o>>2];M=+g[o+4>>2];w=+g[o+8>>2];w=+g[k>>2]*L+ +g[k+4>>2]*M+ +g[k+8>>2]*w-(L*+g[l>>2]+M*+g[l+4>>2]+w*+g[l+8>>2])}else{L=+g[o>>2];M=+g[o+4>>2];w=+g[o+8>>2];w=+g[h>>2]*L+ +g[h+4>>2]*M+ +g[h+8>>2]*w-(L*+g[j>>2]+M*+g[j+4>>2]+w*+g[j+8>>2])}if((n|0)==1){if(!(w<0.0)){E=1;i=r;return E|0}v=-(w*v);if(!(+g[t>>2]>2]=v;E=1;i=r;return E|0}else{if(!(w>0.0)){E=1;i=r;return E|0}v=-(w*v);if(!(+g[t>>2]>v)){E=1;i=r;return E|0}g[t>>2]=v;E=1;i=r;return E|0}return 0}function Vp(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0;d=+g[(c[a+28>>2]|0)+344>>2];b=+g[(c[a+32>>2]|0)+344>>2];if(b==0.0)b=1.0;else b=d/(d+b);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 Wp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if(e>>>0<3)if((b|0)==2){g[a+(e<<2)+756>>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>>0<3)){i=f;return}if((b|0)==3){g[a+(e+ -3<<6)+896>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>>0<3)if((b|0)==2){e=+g[a+(c<<2)+756>>2];break}else if((b|0)==3){e=+g[a+(c<<2)+740>>2];break}else if((b|0)==4){e=+g[a+(c<<2)+772>>2];break}else{e=0.0;break}else if((c+ -3|0)>>>0<3)if((b|0)==3){e=+g[a+(c+ -3<<6)+896>>2];break}else if((b|0)==4){e=+g[a+(c+ -3<<6)+904>>2];break}else if((b|0)==2){e=+g[a+(c+ -3<<6)+900>>2];break}else{e=0.0;break}else e=0.0;while(0);i=d;return+e}function Yp(a){a=a|0;return}function Zp(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function _p(a){a=a|0;return 252}function $p(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;Pr(a,b,e)|0;g[b+52>>2]=+g[a+48>>2];g[b+56>>2]=+g[a+52>>2];g[b+60>>2]=+g[a+56>>2];g[b+64>>2]=+g[a+60>>2];g[b+68>>2]=+g[a+64>>2];g[b+72>>2]=+g[a+68>>2];g[b+76>>2]=+g[a+72>>2];g[b+80>>2]=+g[a+76>>2];g[b+84>>2]=+g[a+80>>2];g[b+88>>2]=+g[a+84>>2];g[b+92>>2]=+g[a+88>>2];g[b+96>>2]=+g[a+92>>2];g[b+100>>2]=+g[a+96>>2];g[b+104>>2]=+g[a+100>>2];g[b+108>>2]=+g[a+104>>2];g[b+112>>2]=+g[a+108>>2];g[b+116>>2]=+g[a+112>>2];g[b+120>>2]=+g[a+116>>2];g[b+124>>2]=+g[a+120>>2];g[b+128>>2]=+g[a+124>>2];g[b+132>>2]=+g[a+128>>2];g[b+136>>2]=+g[a+132>>2];g[b+140>>2]=+g[a+136>>2];g[b+144>>2]=+g[a+140>>2];g[b+148>>2]=+g[a+144>>2];g[b+152>>2]=+g[a+148>>2];g[b+156>>2]=+g[a+152>>2];g[b+160>>2]=+g[a+156>>2];g[b+164>>2]=+g[a+160>>2];g[b+168>>2]=+g[a+164>>2];g[b+172>>2]=+g[a+168>>2];g[b+176>>2]=+g[a+172>>2];g[b+228>>2]=+g[a+868>>2];g[b+212>>2]=+g[a+872>>2];g[b+196>>2]=+g[a+680>>2];g[b+180>>2]=+g[a+696>>2];g[b+232>>2]=+g[a+932>>2];g[b+216>>2]=+g[a+936>>2];g[b+200>>2]=+g[a+684>>2];g[b+184>>2]=+g[a+700>>2];g[b+236>>2]=+g[a+996>>2];g[b+220>>2]=+g[a+1e3>>2];g[b+204>>2]=+g[a+688>>2];g[b+188>>2]=+g[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];i=f;return 2464}function aq(b,d,e,f,h,j,k,l){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.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;m=i;c[b+4>>2]=4;c[b+8>>2]=-1;c[b+12>>2]=-1;g[b+16>>2]=3.4028234663852886e+38;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]=2504;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+0>>2];c[b+604>>2]=c[f+4>>2];c[b+608>>2]=c[f+8>>2];c[b+612>>2]=c[f+12>>2];u=+g[d+4>>2];w=+g[d+20>>2];t=+g[d+36>>2];p=+g[j>>2];x=+g[j+4>>2];v=+g[j+8>>2];do if(!(u*p+w*x+t*v>=.9999998807907104))if(!(u*p+w*x+t*v<=-.9999998807907104)){s=u*v-t*p;o=x*(t*x-w*v)-p*(u*v-t*p);r=w*p-u*x;n=v*(u*v-t*p)-x*(w*p-u*x);q=t*x-w*v;p=p*(w*p-u*x)-v*(t*x-w*v);break}else{s=+g[d+24>>2];o=+g[d+44>>2];r=+g[d+40>>2];n=+g[d+12>>2];q=+g[d+8>>2];p=+g[d+28>>2];break}else{s=+g[d+24>>2];o=-+g[d+44>>2];r=+g[d+40>>2];n=-+g[d+12>>2];q=+g[d+8>>2];p=-+g[d+28>>2]}while(0);g[b+552>>2]=n;g[b+556>>2]=q;g[b+560>>2]=+g[j>>2];g[b+564>>2]=0.0;g[b+568>>2]=p;g[b+572>>2]=s;g[b+576>>2]=+g[j+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=o;g[b+588>>2]=r;g[b+592>>2]=+g[j+8>>2];g[b+596>>2]=0.0;t=+g[j+4>>2];s=+g[k+8>>2];u=+g[j+8>>2];q=+g[k+4>>2];r=+g[k>>2];x=+g[j>>2];do if(s*u+(t*q+r*x)<-.9999998807907104)if(+P(+u)>.7071067690849304){x=1.0/+Q(+(t*t+u*u));w=0.0;v=-(u*x);x=t*x;t=0.0;break}else{u=1.0/+Q(+(t*t+x*x));w=0.0;v=x*u;x=0.0;t=-(t*u);break}else{y=+Q(+((s*u+(t*q+r*x)+1.0)*2.0));w=y*.5;v=(u*r-s*x)*(1.0/y);x=(q*x-t*r)*(1.0/y);t=(t*s-u*q)*(1.0/y)}while(0);B=n*w+o*v-p*x;z=p*w+n*x-o*t;A=o*w+p*t-n*v;p=-(n*t)-p*v-o*x;u=-t;t=-v;v=-x;y=z*v+(w*B+p*u)-A*t;x=A*u+(w*z+p*t)-B*v;w=B*t+(w*A+p*v)-z*u;c[b+664>>2]=c[h+0>>2];c[b+668>>2]=c[h+4>>2];c[b+672>>2]=c[h+8>>2];c[b+676>>2]=c[h+12>>2];g[b+616>>2]=y;g[b+620>>2]=q*w-s*x;g[b+624>>2]=+g[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=x;g[b+636>>2]=s*y-r*w;g[b+640>>2]=+g[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=w;g[b+652>>2]=r*x-q*y;g[b+656>>2]=+g[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;i=m;return}function bq(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;h=i;Or(b,4,d);c[b>>2]=2504;c[b+552>>2]=c[e+0>>2];c[b+556>>2]=c[e+4>>2];c[b+560>>2]=c[e+8>>2];c[b+564>>2]=c[e+12>>2];c[b+568>>2]=c[e+16>>2];c[b+572>>2]=c[e+20>>2];c[b+576>>2]=c[e+24>>2];c[b+580>>2]=c[e+28>>2];c[b+584>>2]=c[e+32>>2];c[b+588>>2]=c[e+36>>2];c[b+592>>2]=c[e+40>>2];c[b+596>>2]=c[e+44>>2];c[b+600>>2]=c[e+48>>2];c[b+604>>2]=c[e+52>>2];c[b+608>>2]=c[e+56>>2];c[b+612>>2]=c[e+60>>2];c[b+616>>2]=c[e+0>>2];c[b+620>>2]=c[e+4>>2];c[b+624>>2]=c[e+8>>2];c[b+628>>2]=c[e+12>>2];c[b+632>>2]=c[e+16>>2];c[b+636>>2]=c[e+20>>2];c[b+640>>2]=c[e+24>>2];c[b+644>>2]=c[e+28>>2];c[b+648>>2]=c[e+32>>2];c[b+652>>2]=c[e+36>>2];c[b+656>>2]=c[e+40>>2];c[b+660>>2]=c[e+44>>2];c[b+664>>2]=c[e+48>>2];c[b+668>>2]=c[e+52>>2];c[b+672>>2]=c[e+56>>2];c[b+676>>2]=c[e+60>>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;d=c[b+28>>2]|0;n=+g[b+600>>2];m=+g[b+604>>2];l=+g[b+608>>2];k=n*+g[d+20>>2]+m*+g[d+24>>2]+l*+g[d+28>>2]+ +g[d+56>>2];j=n*+g[d+36>>2]+m*+g[d+40>>2]+l*+g[d+44>>2]+ +g[d+60>>2];g[b+664>>2]=n*+g[d+4>>2]+m*+g[d+8>>2]+l*+g[d+12>>2]+ +g[d+52>>2];g[b+668>>2]=k;g[b+672>>2]=j;g[b+676>>2]=0.0;g[b+732>>2]=f?-1.0:1.0;i=h;return}function cq(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.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.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=0.0,O=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0.0,X=0.0;d=i;i=i+176|0;if((a[b+738>>0]|0)==0){i=d;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;a:do if((a[b+736>>0]|0)==0){L=c[b+28>>2]|0;A=+g[b+600>>2];z=+g[b+604>>2];j=+g[b+608>>2];h=A*+g[L+20>>2]+z*+g[L+24>>2]+j*+g[L+28>>2]+ +g[L+56>>2];y=c[b+32>>2]|0;l=+g[b+664>>2];m=+g[y+4>>2];n=+g[b+668>>2];o=+g[y+8>>2];p=+g[b+672>>2];q=+g[y+12>>2];s=+g[y+20>>2];t=+g[y+24>>2];u=+g[y+28>>2];e=+g[y+36>>2];x=+g[y+40>>2];w=+g[y+44>>2];r=+g[y+52>>2];v=+g[y+56>>2];f=+g[y+60>>2];B=l*s+n*t+p*u+v-h;k=A*+g[L+4>>2]+z*+g[L+8>>2]+j*+g[L+12>>2]+ +g[L+52>>2];j=A*+g[L+36>>2]+z*+g[L+40>>2]+j*+g[L+44>>2]+ +g[L+60>>2];z=l*m+n*o+p*q+r-k;A=l*e+n*x+p*w+f-j;if(z*z+B*B+A*A>1.1920928955078125e-7){K=1.0/+Q(+(z*z+B*B+A*A));g[d+128>>2]=z*K;g[d+132>>2]=B*K;g[d+136>>2]=A*K;g[d+140>>2]=0.0;A=A*K;B=B*K;z=z*K}else{g[d+128>>2]=1.0;g[d+132>>2]=0.0;g[d+136>>2]=0.0;g[d+140>>2]=0.0;A=0.0;B=0.0;z=1.0}if(+P(+A)>.7071067690849304){H=A*A+B*B;I=1.0/+Q(+H);g[d+144>>2]=0.0;K=-(I*A);g[d+148>>2]=K;J=I*B;g[d+152>>2]=J;g[d+160>>2]=H*I;g[d+164>>2]=-(z*J);g[d+168>>2]=z*K}else{J=z*z+B*B;K=1.0/+Q(+J);I=-(B*K);g[d+144>>2]=I;H=K*z;g[d+148>>2]=H;g[d+152>>2]=0.0;g[d+160>>2]=-(A*H);g[d+164>>2]=A*I;g[d+168>>2]=J*K}C=m;z=s;A=e;B=o;D=t;E=x;F=q;K=u;G=w;J=r;I=v;H=f;L=0;while(1){M=c[b+28>>2]|0;g[d+80>>2]=+g[M+4>>2];g[d+84>>2]=+g[M+20>>2];g[d+88>>2]=+g[M+36>>2];g[d+92>>2]=0.0;g[d+96>>2]=+g[M+8>>2];g[d+100>>2]=+g[M+24>>2];g[d+104>>2]=+g[M+40>>2];g[d+108>>2]=0.0;g[d+112>>2]=+g[M+12>>2];g[d+116>>2]=+g[M+28>>2];g[d+120>>2]=+g[M+44>>2];g[d+124>>2]=0.0;g[d+32>>2]=C;g[d+36>>2]=z;g[d+40>>2]=A;g[d+44>>2]=0.0;g[d+48>>2]=B;g[d+52>>2]=D;g[d+56>>2]=E;g[d+60>>2]=0.0;g[d+64>>2]=F;g[d+68>>2]=K;g[d+72>>2]=G;g[d+76>>2]=0.0;G=h- +g[M+56>>2];K=j- +g[M+60>>2];g[d+16>>2]=k- +g[M+52>>2];g[d+20>>2]=G;g[d+24>>2]=K;g[d+28>>2]=0.0;g[d>>2]=l*m+n*o+p*q+r-J;g[d+4>>2]=l*s+n*t+p*u+v-I;g[d+8>>2]=l*e+n*x+p*w+f-H;g[d+12>>2]=0.0;Co(b+(L*84|0)+48|0,d+80|0,d+32|0,d+16|0,d,d+128+(L<<4)|0,M+396|0,+g[M+344>>2],y+396|0,+g[y+344>>2]);L=L+1|0;if((L|0)==3)break a;y=c[b+32>>2]|0;C=+g[y+4>>2];z=+g[y+20>>2];A=+g[y+36>>2];B=+g[y+8>>2];D=+g[y+24>>2];E=+g[y+40>>2];F=+g[y+12>>2];K=+g[y+28>>2];G=+g[y+44>>2];J=+g[y+52>>2];I=+g[y+56>>2];H=+g[y+60>>2]}}while(0);h=+g[b+560>>2];f=+g[b+576>>2];e=+g[b+592>>2];if(+P(+e)>.7071067690849304){j=1.0/+Q(+(f*f+e*e));o=0.0;n=-(e*j);m=f*j;l=(f*f+e*e)*j;k=-(h*f*j);j=h*-(e*j)}else{j=1.0/+Q(+(h*h+f*f));o=-(f*j);n=h*j;m=0.0;l=-(e*h*j);k=e*-(f*j);j=(h*h+f*f)*j}L=c[b+28>>2]|0;p=+g[L+4>>2];F=+g[L+8>>2];A=+g[L+12>>2];s=o*p+n*F+m*A;x=+g[L+20>>2];t=+g[L+24>>2];C=+g[L+28>>2];u=o*x+n*t+m*C;I=+g[L+36>>2];G=+g[L+40>>2];E=+g[L+44>>2];v=o*I+n*G+m*E;J=l*p+k*F+j*A;m=l*x+k*t+j*C;k=l*I+k*G+j*E;M=c[b+32>>2]|0;B=+g[M+4>>2];D=+g[M+20>>2];N=+g[M+36>>2];S=+g[M+8>>2];T=+g[M+24>>2];V=+g[M+40>>2];X=+g[M+12>>2];j=+g[M+28>>2];H=+g[M+44>>2];c[b+300>>2]=0;c[b+304>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;g[b+316>>2]=p*s+x*u+I*v;g[b+320>>2]=F*s+t*u+G*v;g[b+324>>2]=A*s+C*u+E*v;g[b+328>>2]=0.0;g[b+332>>2]=B*-s+D*-u+N*-v;g[b+336>>2]=S*-s+T*-u+V*-v;g[b+340>>2]=X*-s+j*-u+H*-v;g[b+344>>2]=0.0;o=(p*s+x*u+I*v)*+g[L+396>>2];K=(F*s+t*u+G*v)*+g[L+400>>2];q=(A*s+C*u+E*v)*+g[L+404>>2];g[b+348>>2]=o;g[b+352>>2]=K;g[b+356>>2]=q;g[b+360>>2]=0.0;R=(B*-s+D*-u+N*-v)*+g[M+396>>2];W=(S*-s+T*-u+V*-v)*+g[M+400>>2];l=(X*-s+j*-u+H*-v)*+g[M+404>>2];g[b+364>>2]=R;g[b+368>>2]=W;g[b+372>>2]=l;g[b+376>>2]=0.0;g[b+380>>2]=(B*-s+D*-u+N*-v)*R+(S*-s+T*-u+V*-v)*W+(X*-s+j*-u+H*-v)*l+(o*(p*s+x*u+I*v)+K*(F*s+t*u+G*v)+q*(A*s+C*u+E*v));M=c[b+28>>2]|0;v=+g[M+4>>2];u=+g[M+20>>2];s=+g[M+36>>2];q=+g[M+8>>2];K=+g[M+24>>2];o=+g[M+40>>2];l=+g[M+12>>2];H=+g[M+28>>2];j=+g[M+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];N=+g[L+12>>2];D=+g[L+28>>2];B=+g[L+44>>2];c[b+384>>2]=0;c[b+388>>2]=0;c[b+392>>2]=0;c[b+396>>2]=0;g[b+400>>2]=J*v+m*u+k*s;g[b+404>>2]=J*q+m*K+k*o;g[b+408>>2]=J*l+m*H+k*j;g[b+412>>2]=0.0;g[b+416>>2]=X*-J+W*-m+V*-k;g[b+420>>2]=T*-J+S*-m+R*-k;g[b+424>>2]=N*-J+D*-m+B*-k;g[b+428>>2]=0.0;w=(J*v+m*u+k*s)*+g[M+396>>2];r=(J*q+m*K+k*o)*+g[M+400>>2];n=(J*l+m*H+k*j)*+g[M+404>>2];g[b+432>>2]=w;g[b+436>>2]=r;g[b+440>>2]=n;g[b+444>>2]=0.0;U=(X*-J+W*-m+V*-k)*+g[L+396>>2];O=(T*-J+S*-m+R*-k)*+g[L+400>>2];z=(N*-J+D*-m+B*-k)*+g[L+404>>2];g[b+448>>2]=U;g[b+452>>2]=O;g[b+456>>2]=z;g[b+460>>2]=0.0;g[b+464>>2]=(X*-J+W*-m+V*-k)*U+(T*-J+S*-m+R*-k)*O+(N*-J+D*-m+B*-k)*z+(w*(J*v+m*u+k*s)+r*(J*q+m*K+k*o)+n*(J*l+m*H+k*j));L=c[b+28>>2]|0;j=+g[L+4>>2];k=+g[L+20>>2];H=+g[L+36>>2];l=+g[L+8>>2];m=+g[L+24>>2];J=+g[L+40>>2];n=+g[L+12>>2];o=+g[L+28>>2];K=+g[L+44>>2];M=c[b+32>>2]|0;q=+g[M+4>>2];r=+g[M+20>>2];s=+g[M+36>>2];u=+g[M+8>>2];v=+g[M+24>>2];w=+g[M+40>>2];z=+g[M+12>>2];B=+g[M+28>>2];D=+g[M+44>>2];c[b+468>>2]=0;c[b+472>>2]=0;c[b+476>>2]=0;c[b+480>>2]=0;H=(p*h+F*f+A*e)*j+(x*h+t*f+C*e)*k+(I*h+G*f+E*e)*H;J=(p*h+F*f+A*e)*l+(x*h+t*f+C*e)*m+(I*h+G*f+E*e)*J;K=(p*h+F*f+A*e)*n+(x*h+t*f+C*e)*o+(I*h+G*f+E*e)*K;g[b+484>>2]=H;g[b+488>>2]=J;g[b+492>>2]=K;g[b+496>>2]=0.0;A=-(p*h+F*f+A*e);C=-(x*h+t*f+C*e);E=-(I*h+G*f+E*e);g[b+500>>2]=q*A+r*C+s*E;g[b+504>>2]=u*A+v*C+w*E;g[b+508>>2]=z*A+B*C+D*E;g[b+512>>2]=0.0;G=H*+g[L+396>>2];I=J*+g[L+400>>2];e=K*+g[L+404>>2];g[b+516>>2]=G;g[b+520>>2]=I;g[b+524>>2]=e;g[b+528>>2]=0.0;t=(q*A+r*C+s*E)*+g[M+396>>2];x=(u*A+v*C+w*E)*+g[M+400>>2];F=(z*A+B*C+D*E)*+g[M+404>>2];g[b+532>>2]=t;g[b+536>>2]=x;g[b+540>>2]=F;g[b+544>>2]=0.0;g[b+548>>2]=(q*A+r*C+s*E)*t+(u*A+v*C+w*E)*x+(z*A+B*C+D*E)*F+(G*H+I*J+e*K);g[b+724>>2]=0.0;e=+fq(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;do if(+g[b+692>>2]>=0.0){e=+ab(+(e- +g[b+688>>2]),6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;f=+g[b+692>>2];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}}while(0);L=c[b+28>>2]|0;T=+g[b+560>>2];U=+g[b+576>>2];X=+g[b+592>>2];V=T*+g[L+4>>2]+U*+g[L+8>>2]+X*+g[L+12>>2];W=T*+g[L+20>>2]+U*+g[L+24>>2]+X*+g[L+28>>2];X=T*+g[L+36>>2]+U*+g[L+40>>2]+X*+g[L+44>>2];M=c[b+32>>2]|0;g[b+720>>2]=1.0/(V*(V*+g[L+264>>2]+W*+g[L+280>>2]+X*+g[L+296>>2])+W*(V*+g[L+268>>2]+W*+g[L+284>>2]+X*+g[L+300>>2])+X*(V*+g[L+272>>2]+W*+g[L+288>>2]+X*+g[L+304>>2])+(V*(V*+g[M+264>>2]+W*+g[M+280>>2]+X*+g[M+296>>2])+W*(V*+g[M+268>>2]+W*+g[M+284>>2]+X*+g[M+300>>2])+X*(V*+g[M+272>>2]+W*+g[M+288>>2]+X*+g[M+304>>2])));i=d;return}function dq(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0;e=i;if((a[b+738>>0]|0)!=0){c[d>>2]=0;c[d+4>>2]=0;i=e;return}c[d>>2]=5;c[d+4>>2]=1;h=+fq(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);g[b+728>>2]=h;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;do if(+g[b+692>>2]>=0.0){h=+ab(+(h- +g[b+688>>2]),6.2831854820251465);if(!(h<-3.1415927410125732)){if(h>3.1415927410125732)h=h+-6.2831854820251465}else h=h+6.2831854820251465;j=+g[b+692>>2];if(h<-j){a[b+716>>0]=1;g[b+708>>2]=-(h+j);g[b+712>>2]=1.0;break}if(!(h>j))if((a[b+716>>0]|0)==0){f=13;break}else break;else{a[b+716>>0]=1;g[b+708>>2]=j-h;g[b+712>>2]=-1.0;break}}else f=13;while(0);if((f|0)==13?(a[b+737>>0]|0)==0:0){i=e;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+ -1;i=e;return}function eq(b,d){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,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,O=0.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;e=i;i=i+256|0;f=c[b+28>>2]|0;h=c[b+32>>2]|0;n=c[d+24>>2]|0;if((a[b+739>>0]|0)==0){co(e+192|0,f+4|0,b+552|0);co(e+128|0,h+4|0,b+616|0);q=+g[e+240>>2];o=+g[e+244>>2];j=+g[e+248>>2];k=+g[e+176>>2];p=+g[e+180>>2];l=+g[e+184>>2];Y=(a[b+736>>0]|0)==0;if(Y){N=c[d+8>>2]|0;g[N>>2]=1.0;g[N+(n+1<<2)>>2]=1.0;g[N+((n<<1)+2<<2)>>2]=1.0;N=c[d+16>>2]|0;g[N>>2]=-1.0;g[N+(n+1<<2)>>2]=-1.0;g[N+((n<<1)+2<<2)>>2]=-1.0;N=n<<1;_=n+1|0;Z=(n<<1)+2|0}else{N=n<<1;_=n+1|0;Z=(n<<1)+2|0}m=q- +g[f+52>>2];V=o- +g[f+56>>2];U=j- +g[f+60>>2];X=c[d+12>>2]|0;g[X>>2]=0.0;g[X+4>>2]=U;g[X+8>>2]=-V;g[X+12>>2]=0.0;g[X+(n<<2)>>2]=-U;g[X+(_<<2)>>2]=0.0;g[X+(n+2<<2)>>2]=m;g[X+(n+3<<2)>>2]=0.0;g[X+(N<<2)>>2]=V;aa=N|1;g[X+(aa<<2)>>2]=-m;g[X+(Z<<2)>>2]=0.0;$=N+3|0;g[X+($<<2)>>2]=0.0;m=k- +g[h+52>>2];V=p- +g[h+56>>2];U=l- +g[h+60>>2];W=c[d+20>>2]|0;g[W>>2]=0.0;g[W+4>>2]=-U;g[W+8>>2]=V;g[W+12>>2]=0.0;g[W+(n<<2)>>2]=U;g[W+(_<<2)>>2]=0.0;g[W+(n+2<<2)>>2]=-m;g[W+(n+3<<2)>>2]=0.0;g[W+(N<<2)>>2]=-V;g[W+(aa<<2)>>2]=m;g[W+(Z<<2)>>2]=0.0;g[W+($<<2)>>2]=0.0;m=+g[d>>2]*+g[d+4>>2];N=c[d+28>>2]|0;if(Y){g[N>>2]=m*(k-q);g[N+(n<<2)>>2]=m*(p-o);g[N+(n<<1<<2)>>2]=m*(l-j)}l=+g[e+200>>2];k=+g[e+216>>2];j=+g[e+232>>2];M=+g[e+192>>2];O=+g[e+208>>2];L=+g[e+224>>2];R=+g[e+196>>2];T=+g[e+212>>2];P=+g[e+228>>2];n=c[d+24>>2]|0;g[X+(n*3<<2)>>2]=M;g[X+((n*3|0)+1<<2)>>2]=O;g[X+((n*3|0)+2<<2)>>2]=L;g[X+(n<<2<<2)>>2]=R;g[X+((n<<2|1)<<2)>>2]=T;g[X+((n<<2|2)<<2)>>2]=P;g[W+(n*3<<2)>>2]=-M;g[W+((n*3|0)+1<<2)>>2]=-O;g[W+((n*3|0)+2<<2)>>2]=-L;g[W+(n<<2<<2)>>2]=-R;g[W+((n<<2|1)<<2)>>2]=-T;g[W+((n<<2|2)<<2)>>2]=-P;U=+g[e+136>>2];S=+g[e+152>>2];V=+g[e+168>>2];g[N+(n*3<<2)>>2]=m*(L*(l*S-k*U)+(M*(k*V-j*S)+O*(j*U-l*V)));g[N+(n<<2<<2)>>2]=m*(P*(l*S-k*U)+(R*(k*V-j*S)+T*(j*U-l*V)));if((a[b+716>>0]|0)==0)if((a[b+737>>0]|0)==0){i=e;return}else{Y=0;_=0;N=0;m=0.0}else{m=+g[b+708>>2]*+g[b+732>>2];Y=1;_=(a[b+737>>0]|0)==0;N=m>0.0?1:2}g[X+(n*5<<2)>>2]=l;g[X+((n*5|0)+1<<2)>>2]=k;g[X+((n*5|0)+2<<2)>>2]=j;g[W+(n*5<<2)>>2]=-l;g[W+((n*5|0)+1<<2)>>2]=-k;g[W+((n*5|0)+2<<2)>>2]=-j;p=+ab(+(+g[b+688>>2]- +g[b+692>>2]),6.2831854820251465);if(!(p<-3.1415927410125732)){if(p>3.1415927410125732)p=p+-6.2831854820251465}else p=p+6.2831854820251465;r=+ab(+(+g[b+688>>2]+ +g[b+692>>2]),6.2831854820251465);if(!(r<-3.1415927410125732)){if(r>3.1415927410125732)r=r+-6.2831854820251465}else r=r+6.2831854820251465;X=p==r;W=(c[d+28>>2]|0)+(n*5<<2)|0;g[W>>2]=0.0;Z=c[b+748>>2]|0;o=+g[((Z&2|0)==0?d+4|0:b+760|0)>>2];if(!(Y&X|_)){if((Z&4|0)!=0)g[(c[d+32>>2]|0)+(n*5<<2)>>2]=+g[b+752>>2];s=+g[b+728>>2];q=+g[b+680>>2];_=p>r;do if(!(_|X)){t=q/(o*+g[d>>2]);if(t<0.0){if(s>=p?p-t>s:0){p=(p-s)/t;break}p=s0.0){if(s<=r?r-tr?0.0:1.0}else p=0.0}else p=_?1.0:0.0;while(0);g[W>>2]=p*q*+g[b+732>>2]+ +g[W>>2];g[(c[d+36>>2]|0)+(n*5<<2)>>2]=-+g[b+684>>2];g[(c[d+40>>2]|0)+(n*5<<2)>>2]=+g[b+684>>2]}if(!Y){i=e;return}g[W>>2]=+g[W>>2]+m*o*+g[d>>2];if((Z&1|0)!=0)g[(c[d+32>>2]|0)+(n*5<<2)>>2]=+g[b+756>>2];do if(!X){X=(c[d+36>>2]|0)+(n*5<<2)|0;if((N|0)==1){g[X>>2]=0.0;g[(c[d+40>>2]|0)+(n*5<<2)>>2]=3.4028234663852886e+38;break}else{g[X>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(n*5<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(n*5<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(n*5<<2)>>2]=3.4028234663852886e+38}while(0);m=+g[b+704>>2];do if(m>0.0){j=l*+g[f+328>>2]+k*+g[f+332>>2]+j*+g[f+336>>2]-(l*+g[h+328>>2]+k*+g[h+332>>2]+j*+g[h+336>>2]);if((N|0)==1){if(!(j<0.0))break;if(!(+g[W>>2]<-(m*j)))break;g[W>>2]=-(m*j);break}else{if(!(j>0.0))break;if(!(+g[W>>2]>-(m*j)))break;g[W>>2]=-(m*j);break}}while(0);g[W>>2]=+g[b+700>>2]*+g[W>>2];i=e;return}co(e+64|0,f+4|0,b+552|0);co(e,h+4|0,b+616|0);D=+g[e+48>>2];B=+g[e+112>>2];E=+g[e+52>>2];C=+g[e+116>>2];F=+g[e+56>>2];A=+g[e+120>>2];k=+g[(c[b+28>>2]|0)+344>>2];j=+g[(c[b+32>>2]|0)+344>>2];if(k<1.1920928955078125e-7)N=1;else N=j<1.1920928955078125e-7;if(k+j>0.0)I=j/(k+j);else I=.5;L=1.0-I;q=+g[e+72>>2];p=+g[e+88>>2];t=+g[e+104>>2];r=+g[e+8>>2];s=+g[e+24>>2];o=+g[e+40>>2];m=I*q+L*r;k=I*p+L*s;j=I*t+L*o;l=1.0/+Q(+(m*m+k*k+j*j));x=D- +g[h+52>>2];P=E- +g[h+56>>2];T=F- +g[h+60>>2];y=m*l*(x*m*l+P*k*l+T*j*l);R=k*l*(x*m*l+P*k*l+T*j*l);U=j*l*(x*m*l+P*k*l+T*j*l);z=B- +g[f+52>>2];S=C- +g[f+56>>2];V=A- +g[f+60>>2];u=m*l*(m*l*z+k*l*S+j*l*V);v=k*l*(m*l*z+k*l*S+j*l*V);w=j*l*(m*l*z+k*l*S+j*l*V);H=z-u+I*(u-y);G=S-v+I*(v-R);J=V-w+I*(w-U);M=x-y-L*(u-y);K=P-R-L*(v-R);O=T-U-L*(w-U);u=I*(x-y)+L*(z-u);v=I*(P-R)+L*(S-v);w=I*(T-U)+L*(V-w);if(u*u+v*v+w*w>1.1920928955078125e-7){z=1.0/+Q(+(u*u+v*v+w*w));u=u*z;v=z*v;z=z*w}else{u=+g[e+68>>2];v=+g[e+84>>2];z=+g[e+100>>2]}y=k*l*z-j*l*v;x=j*l*u-z*m*l;w=v*m*l-k*l*u;aa=c[d+12>>2]|0;g[aa>>2]=G*z-J*v;g[aa+4>>2]=J*u-H*z;g[aa+8>>2]=H*v-G*u;aa=c[d+20>>2]|0;g[aa>>2]=-(K*z-O*v);g[aa+4>>2]=-(O*u-M*z);g[aa+8>>2]=-(M*v-K*u);if(N?(a[b+716>>0]|0)!=0:0){S=L*(K*w-O*x);R=L*(O*y-M*w);P=L*(M*x-K*y);T=I*(G*w-J*x);U=I*(J*y-H*w);V=I*(H*x-G*y)}else{S=K*w-O*x;R=O*y-M*w;P=M*x-K*y;T=G*w-J*x;U=J*y-H*w;V=H*x-G*y}aa=c[d+12>>2]|0;g[aa+(n<<2)>>2]=T;g[aa+(n+1<<2)>>2]=U;g[aa+(n+2<<2)>>2]=V;aa=c[d+20>>2]|0;g[aa+(n<<2)>>2]=-S;g[aa+(n+1<<2)>>2]=-R;g[aa+(n+2<<2)>>2]=-P;if(N){P=L*(K*j*l-O*k*l);O=L*(O*m*l-M*j*l);K=L*(M*k*l-K*m*l);L=I*(G*j*l-J*k*l);J=I*(J*m*l-H*j*l);G=I*(H*k*l-G*m*l)}else{P=K*j*l-O*k*l;O=O*m*l-M*j*l;K=M*k*l-K*m*l;L=G*j*l-J*k*l;J=J*m*l-H*j*l;G=H*k*l-G*m*l}N=c[d+12>>2]|0;g[N+(n<<1<<2)>>2]=L;g[N+((n<<1|1)<<2)>>2]=J;g[N+((n<<1)+2<<2)>>2]=G;N=c[d+20>>2]|0;g[N+(n<<1<<2)>>2]=-P;g[N+((n<<1|1)<<2)>>2]=-O;g[N+((n<<1)+2<<2)>>2]=-K;G=+g[d>>2]*+g[d+4>>2];if((a[b+736>>0]|0)==0){X=c[d+8>>2]|0;g[X>>2]=u;g[X+4>>2]=v;g[X+8>>2]=z;X=c[d+8>>2]|0;g[X+(n<<2)>>2]=y;g[X+(n+1<<2)>>2]=x;g[X+(n+2<<2)>>2]=w;X=c[d+8>>2]|0;g[X+(n<<1<<2)>>2]=m*l;g[X+((n<<1|1)<<2)>>2]=k*l;g[X+((n<<1)+2<<2)>>2]=j*l;X=c[d+16>>2]|0;V=-u;g[X>>2]=V;T=-v;g[X+4>>2]=T;U=-z;g[X+8>>2]=U;g[X+(n<<2)>>2]=-y;g[X+(n+1<<2)>>2]=-x;g[X+(n+2<<2)>>2]=-w;g[X+(n<<1<<2)>>2]=-(m*l);g[X+((n<<1|1)<<2)>>2]=-(k*l);g[X+((n<<1)+2<<2)>>2]=-(j*l);X=c[d+28>>2]|0;g[X>>2]=G*((D-B)*u+(E-C)*v+(F-A)*z);g[X+(n<<2)>>2]=G*((D-B)*y+(E-C)*x+(F-A)*w);g[X+(n<<1<<2)>>2]=G*((D-B)*m*l+(E-C)*k*l+(F-A)*j*l);B=-y;C=-x;D=-w;F=T;A=U;E=V;N=c[d+20>>2]|0}else{B=-y;C=-x;D=-w;F=-v;A=-z;E=-u;X=c[d+28>>2]|0}W=c[d+12>>2]|0;g[W+(n*3<<2)>>2]=u;g[W+((n*3|0)+1<<2)>>2]=v;g[W+((n*3|0)+2<<2)>>2]=z;g[W+(n<<2<<2)>>2]=y;g[W+((n<<2|1)<<2)>>2]=x;g[W+((n<<2|2)<<2)>>2]=w;g[N+(n*3<<2)>>2]=E;g[N+((n*3|0)+1<<2)>>2]=F;g[N+((n*3|0)+2<<2)>>2]=A;g[N+(n<<2<<2)>>2]=B;g[N+((n<<2|1)<<2)>>2]=C;g[N+((n<<2|2)<<2)>>2]=D;V=+g[d>>2]*+g[d+4>>2];g[X+(n*3<<2)>>2]=V*((p*o-t*s)*u+(t*r-q*o)*v+(q*s-p*r)*z);g[X+(n<<2<<2)>>2]=V*((p*o-t*s)*y+(t*r-q*o)*x+(q*s-p*r)*w);if((a[b+716>>0]|0)==0)if((a[b+737>>0]|0)==0){i=e;return}else{Y=0;_=0;n=0;o=0.0}else{o=+g[b+708>>2]*+g[b+732>>2];Y=1;_=(a[b+737>>0]|0)==0;n=o>0.0?1:2}X=(c[d+24>>2]|0)*5|0;g[W+(X<<2)>>2]=m*l;g[W+(X+1<<2)>>2]=k*l;g[W+(X+2<<2)>>2]=j*l;g[N+(X<<2)>>2]=-(m*l);g[N+(X+1<<2)>>2]=-(k*l);g[N+(X+2<<2)>>2]=-(j*l);p=+ab(+(+g[b+688>>2]- +g[b+692>>2]),6.2831854820251465);if(!(p<-3.1415927410125732)){if(p>3.1415927410125732)p=p+-6.2831854820251465}else p=p+6.2831854820251465;r=+ab(+(+g[b+688>>2]+ +g[b+692>>2]),6.2831854820251465);if(!(r<-3.1415927410125732)){if(r>3.1415927410125732)r=r+-6.2831854820251465}else r=r+6.2831854820251465;W=p==r;N=(c[d+28>>2]|0)+(X<<2)|0;g[N>>2]=0.0;Z=c[b+748>>2]|0;q=+g[((Z&2|0)==0?d+4|0:b+760|0)>>2];if(!(Y&W|_)){if((Z&4|0)!=0)g[(c[d+32>>2]|0)+(X<<2)>>2]=+g[b+752>>2];t=+g[b+728>>2];s=+g[b+680>>2];_=p>r;do if(!(_|W)){u=s/(q*+g[d>>2]);if(u<0.0){if(t>=p?p-u>t:0){p=(p-t)/u;break}p=t0.0){if(t<=r?r-ur?0.0:1.0}else p=0.0}else p=_?1.0:0.0;while(0);g[N>>2]=p*s*+g[b+732>>2]+ +g[N>>2];g[(c[d+36>>2]|0)+(X<<2)>>2]=-+g[b+684>>2];g[(c[d+40>>2]|0)+(X<<2)>>2]=+g[b+684>>2]}if(!Y){i=e;return}g[N>>2]=+g[N>>2]+o*q*+g[d>>2];if((Z&1|0)!=0)g[(c[d+32>>2]|0)+(X<<2)>>2]=+g[b+756>>2];do if(!W){W=(c[d+36>>2]|0)+(X<<2)|0;if((n|0)==1){g[W>>2]=0.0;g[(c[d+40>>2]|0)+(X<<2)>>2]=3.4028234663852886e+38;break}else{g[W>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(X<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(X<<2)>>2]=-3.4028234663852886e+38;g[(c[d+40>>2]|0)+(X<<2)>>2]=3.4028234663852886e+38}while(0);o=+g[b+704>>2];do if(o>0.0){j=+g[f+328>>2]*m*l+ +g[f+332>>2]*k*l+ +g[f+336>>2]*j*l-(m*l*+g[h+328>>2]+k*l*+g[h+332>>2]+j*l*+g[h+336>>2]);if((n|0)==1){if(!(j<0.0))break;if(!(+g[N>>2]<-(o*j)))break;g[N>>2]=-(o*j);break}else{if(!(j>0.0))break;if(!(+g[N>>2]>-(o*j)))break;g[N>>2]=-(o*j);break}}while(0);g[N>>2]=+g[b+700>>2]*+g[N>>2];i=e;return}function fq(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=+Y(+((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 gq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;do if((e|0)==5|(e|0)==-1)if((b|0)==2){g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;break}else if((b|0)==3){g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;break}else if((b|0)==4){g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;break}else break;while(0);i=f;return}function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=i;do if((c|0)==5|(c|0)==-1)if((b|0)==2){e=+g[a+760>>2];break}else if((b|0)==4){e=+g[a+756>>2];break}else if((b|0)==3){e=+g[a+752>>2];break}else{e=0.0;break}else e=0.0;while(0);i=d;return+e}function iq(a){a=a|0;return}function jq(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function kq(a){a=a|0;return 220}function lq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0.0;f=i;Pr(a,b,e)|0;g[b+52>>2]=+g[a+552>>2];g[b+56>>2]=+g[a+556>>2];g[b+60>>2]=+g[a+560>>2];g[b+64>>2]=+g[a+564>>2];g[b+68>>2]=+g[a+568>>2];g[b+72>>2]=+g[a+572>>2];g[b+76>>2]=+g[a+576>>2];g[b+80>>2]=+g[a+580>>2];g[b+84>>2]=+g[a+584>>2];g[b+88>>2]=+g[a+588>>2];g[b+92>>2]=+g[a+592>>2];g[b+96>>2]=+g[a+596>>2];g[b+100>>2]=+g[a+600>>2];g[b+104>>2]=+g[a+604>>2];g[b+108>>2]=+g[a+608>>2];g[b+112>>2]=+g[a+612>>2];g[b+116>>2]=+g[a+616>>2];g[b+120>>2]=+g[a+620>>2];g[b+124>>2]=+g[a+624>>2];g[b+128>>2]=+g[a+628>>2];g[b+132>>2]=+g[a+632>>2];g[b+136>>2]=+g[a+636>>2];g[b+140>>2]=+g[a+640>>2];g[b+144>>2]=+g[a+644>>2];g[b+148>>2]=+g[a+648>>2];g[b+152>>2]=+g[a+652>>2];g[b+156>>2]=+g[a+656>>2];g[b+160>>2]=+g[a+660>>2];g[b+164>>2]=+g[a+664>>2];g[b+168>>2]=+g[a+668>>2];g[b+172>>2]=+g[a+672>>2];g[b+176>>2]=+g[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];g[b+196>>2]=+g[a+684>>2];g[b+192>>2]=+g[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+ab(+(+g[a+688>>2]- +g[a+692>>2]),6.2831854820251465);if(!(h<-3.1415927410125732)){if(h>3.1415927410125732)h=h+-6.2831854820251465}else h=h+6.2831854820251465;g[b+200>>2]=h;h=+ab(+(+g[a+688>>2]+ +g[a+692>>2]),6.2831854820251465);if(h<-3.1415927410125732){h=h+6.2831854820251465;e=b+204|0;g[e>>2]=h;e=a+696|0;h=+g[e>>2];e=b+208|0;g[e>>2]=h;e=a+700|0;h=+g[e>>2];e=b+212|0;g[e>>2]=h;e=a+704|0;h=+g[e>>2];e=b+216|0;g[e>>2]=h;i=f;return 2592}if(!(h>3.1415927410125732)){e=b+204|0;g[e>>2]=h;e=a+696|0;h=+g[e>>2];e=b+208|0;g[e>>2]=h;e=a+700|0;h=+g[e>>2];e=b+212|0;g[e>>2]=h;e=a+704|0;h=+g[e>>2];e=b+216|0;g[e>>2]=h;i=f;return 2592}h=h+-6.2831854820251465;e=b+204|0;g[e>>2]=h;e=a+696|0;h=+g[e>>2];e=b+208|0;g[e>>2]=h;e=a+700|0;h=+g[e>>2];e=b+212|0;g[e>>2]=h;e=a+704|0;h=+g[e>>2];e=b+216|0;g[e>>2]=h;i=f;return 2592}function mq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=2632;e=c[b+140>>2]|0;if((e|0)!=0){if((a[b+144>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;if((b|0)==0){i=d;return}}else{a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function nq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=2632;e=c[b+140>>2]|0;if((e|0)!=0){if((a[b+144>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function oq(a){a=a|0;return}function pq(d,e,f,h,j){d=d|0;e=e|0;f=+f;h=+h;j=+j;var k=0,l=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,w=0.0,x=0.0;k=i;i=i+240|0;p=+g[d+96>>2]+h;q=+g[d+100>>2]+j;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=p;g[d+120>>2]=q;g[d+124>>2]=0.0;g[k+168>>2]=1.0;c[k+172>>2]=0;c[k+176>>2]=0;c[k+180>>2]=0;c[k+184>>2]=0;g[k+188>>2]=1.0;c[k+192>>2]=0;c[k+196>>2]=0;c[k+200>>2]=0;c[k+204>>2]=0;g[k+208>>2]=1.0;l=k+212|0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;g[k+104>>2]=1.0;c[k+108>>2]=0;c[k+112>>2]=0;c[k+116>>2]=0;c[k+120>>2]=0;g[k+124>>2]=1.0;c[k+128>>2]=0;c[k+132>>2]=0;c[k+136>>2]=0;c[k+140>>2]=0;g[k+144>>2]=1.0;l=k+148|0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;f=1.0;l=10;while(1){r=l;l=l+ -1|0;if((r|0)<=0){d=12;break}c[k+216>>2]=c[d+92>>2];c[k+220>>2]=c[d+96>>2];c[k+224>>2]=c[d+100>>2];c[k+228>>2]=c[d+104>>2];c[k+152>>2]=c[d+112>>2];c[k+156>>2]=c[d+116>>2];c[k+160>>2]=c[d+120>>2];c[k+164>>2]=c[d+124>>2];p=+g[d+92>>2]- +g[d+112>>2];q=+g[d+96>>2]- +g[d+116>>2];j=+g[d+100>>2]- +g[d+120>>2];r=c[d+8>>2]|0;g[k+4>>2]=1.0;b[k+8>>1]=1;b[k+10>>1]=-1;c[k+76>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k+32>>2]=0;c[k+36>>2]=0;c[k+40>>2]=0;c[k>>2]=2896;c[k+80>>2]=r;g[k+84>>2]=p;g[k+88>>2]=q;g[k+92>>2]=j;g[k+96>>2]=0.0;g[k+100>>2]=0.0;r=c[r+188>>2]|0;b[k+8>>1]=b[r+4>>1]|0;b[k+10>>1]=b[r+6>>1]|0;r=c[d+12>>2]|0;j=+$b[c[(c[r>>2]|0)+48>>2]&15](r);r=c[d+12>>2]|0;Kb[c[(c[r>>2]|0)+44>>2]&31](r,j+ +g[d+56>>2]);if((a[d+170>>0]|0)==0)Eu(e,c[d+12>>2]|0,k+168|0,k+104|0,k,+g[e+56>>2]);else lz(c[d+8>>2]|0,c[d+12>>2]|0,k+168|0,k+104|0,k,+g[e+56>>2]);r=c[d+12>>2]|0;Kb[c[(c[r>>2]|0)+44>>2]&31](r,j);q=+g[k+4>>2];f=f-q;if(!(q<1.0)){c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2];if(f>.009999999776482582)continue;else{d=12;break}}p=+g[d+112>>2];m=+g[d+92>>2];o=+g[d+116>>2];h=+g[d+96>>2];n=+g[d+120>>2];j=+g[d+100>>2];q=+Q(+((p-m)*(p-m)+(o-h)*(o-h)+(n-j)*(n-j)));if(q>1.1920928955078125e-7){v=+g[k+44>>2];t=+g[k+48>>2];x=+g[k+52>>2];w=((p-m)*(1.0/q)*v+(o-h)*(1.0/q)*t+(n-j)*(1.0/q)*x)*2.0;u=(p-m)*(1.0/q)-v*w;s=(o-h)*(1.0/q)-t*w;w=(n-j)*(1.0/q)-x*w;n=1.0/+Q(+(w*w+(u*u+s*s)));c[d+112>>2]=c[d+92>>2];c[d+116>>2]=c[d+96>>2];c[d+120>>2]=c[d+100>>2];c[d+124>>2]=c[d+104>>2];p=q*(n*u-v*(x*n*w+(v*n*u+t*n*s)))+ +g[d+112>>2];g[d+112>>2]=p;o=q*(n*s-t*(x*n*w+(v*n*u+t*n*s)))+ +g[d+116>>2];g[d+116>>2]=o;n=q*(n*w-x*(x*n*w+(v*n*u+t*n*s)))+ +g[d+120>>2];g[d+120>>2]=n}m=p-m;h=o-h;j=n-j;if(!(m*m+h*h+j*j>1.1920928955078125e-7)){d=12;break}x=1.0/+Q(+(m*m+h*h+j*j));if(!(f>.009999999776482582?!(m*x*+g[d+76>>2]+h*x*+g[d+80>>2]+j*x*+g[d+84>>2]<=0.0):0)){d=12;break}}if((d|0)==12){i=k;return}}function qq(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0.0;e=i;a[b+171>>0]=1;c[b+60>>2]=c[d+0>>2];c[b+64>>2]=c[d+4>>2];c[b+68>>2]=c[d+8>>2];c[b+72>>2]=c[d+12>>2];f=+g[b+60>>2];k=+g[b+64>>2];h=+g[b+68>>2];j=1.0/+Q(+(f*f+k*k+h*h));if(+Q(+(h*j*h*j+(f*j*f*j+k*j*k*j)))<1.1920928955078125e-7){f=0.0;k=0.0;j=0.0;h=0.0}else{f=f*j;k=k*j;j=h*j;h=+g[b+72>>2]}g[b+76>>2]=f;g[b+80>>2]=k;g[b+84>>2]=j;g[b+88>>2]=h;i=e;return}function rq(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0.0,j=0.0,k=0.0,l=0.0;f=i;a[b+171>>0]=0;c[b+60>>2]=c[d+0>>2];c[b+64>>2]=c[d+4>>2];c[b+68>>2]=c[d+8>>2];c[b+72>>2]=c[d+12>>2];h=+g[b+60>>2];l=+g[b+64>>2];j=+g[b+68>>2];k=1.0/+Q(+(h*h+l*l+j*j));if(+Q(+(j*k*j*k+(h*k*h*k+l*k*l*k)))<1.1920928955078125e-7){h=0.0;l=0.0;k=0.0;j=0.0}else{h=h*k;l=l*k;k=j*k;j=+g[b+72>>2]}g[b+76>>2]=h;g[b+80>>2]=l;g[b+84>>2]=k;g[b+88>>2]=j;g[b+172>>2]=+g[b+172>>2]+e;i=f;return}function sq(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0;e=i;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+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(Pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0){i=e;return}do{h=c[b>>2]|0;j=c[h+12>>2]|0;h=c[c[(Pb[c[h+28>>2]&127](b)|0)+12>>2]>>2]|0;f=c[(c[(Pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Tb[j&31](b,h,f,c[d+24>>2]|0)|0}while((c[(Pb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);i=e;return}function tq(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+32|0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+0>>2]=c[b+0>>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;g[b+4>>2]=1.0;c[b+8>>2]=c[d+16>>2];c[b+12>>2]=c[d+20>>2];c[b+16>>2]=c[d+24>>2];c[b+20>>2]=0;g[b+24>>2]=1.0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;g[b+44>>2]=1.0;g[b+48>>2]=0.0;c[b+52>>2]=c[d+0>>2];c[b+56>>2]=c[d+4>>2];c[b+60>>2]=c[d+8>>2];c[b+64>>2]=c[d+12>>2];i=d;return}function uq(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.0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0.0;h=i;i=i+96|0;a[b+148>>0]=0;e=0;while(1){w=c[b+12>>2]|0;vc[c[(c[w>>2]|0)+8>>2]&127](w,(c[b+8>>2]|0)+4|0,h+80|0,h+64|0);w=c[d+68>>2]|0;Jb[c[(c[w>>2]|0)+16>>2]&31](w,c[(c[b+8>>2]|0)+188>>2]|0,h+80|0,h+64|0,c[d+24>>2]|0);w=c[d+24>>2]|0;vc[c[(c[w>>2]|0)+32>>2]&127](w,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,w);w=c[b+8>>2]|0;c[b+92>>2]=c[w+52>>2];c[b+96>>2]=c[w+56>>2];c[b+100>>2]=c[w+60>>2];c[b+104>>2]=c[w+64>>2];w=c[w+284>>2]|0;if((Pb[c[(c[w>>2]|0)+36>>2]&127](w)|0)>0){j=0;r=0.0;o=0;do{l=c[b+132>>2]|0;if((l|0)<0){if((c[b+136>>2]|0)<0){k=c[b+140>>2]|0;if((k|0)!=0){if((a[b+144>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[b+140>>2]=0}a[b+144>>0]=1;c[b+140>>2]=0;c[b+136>>2]=0}do{k=(c[b+140>>2]|0)+(l<<2)|0;if((k|0)!=0)c[k>>2]=0;l=l+1|0}while((l|0)!=0)}c[b+132>>2]=0;l=c[(c[b+8>>2]|0)+284>>2]|0;l=c[(Pb[c[(c[l>>2]|0)+28>>2]&127](l)|0)+12>>2]|0;w=c[c[l+(j<<4)>>2]>>2]|0;k=c[c[l+(j<<4)+4>>2]>>2]|0;if(!((w|0)!=0?(c[w+204>>2]&4|0)!=0:0))f=15;do if((f|0)==15){f=0;if((k|0)!=0?(c[k+204>>2]&4|0)!=0:0)break;k=c[l+(j<<4)+8>>2]|0;if((k|0)!=0)Nb[c[(c[k>>2]|0)+16>>2]&127](k,b+128|0);n=c[b+132>>2]|0;if((n|0)>0){m=c[b+140>>2]|0;l=c[b+8>>2]|0;k=0;u=o;while(1){o=c[m+(k<<2)>>2]|0;p=(c[o+740>>2]|0)==(l|0)?-1.0:1.0;s=c[o+748>>2]|0;if((s|0)>0){q=0;do{t=+g[o+(q*184|0)+84>>2];if(t<0.0){v=o+(q*184|0)+68|0;if(t>2];u=o+(q*184|0)+76|0;r=p*+g[u>>2];g[b+152>>2]=p*+g[v>>2];g[b+156>>2]=x;g[b+160>>2]=r;g[b+164>>2]=0.0;s=c[o+748>>2]|0;r=t}else{w=o+(q*184|0)+72|0;u=o+(q*184|0)+76|0}y=t*p*+g[w>>2]*.20000000298023224;x=t*p*+g[u>>2]*.20000000298023224;g[b+92>>2]=t*p*+g[v>>2]*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=y+ +g[b+96>>2];g[b+100>>2]=x+ +g[b+100>>2];u=1}q=q+1|0}while((q|0)<(s|0));o=u}else o=u;k=k+1|0;if((k|0)>=(n|0))break;else u=o}}}while(0);j=j+1|0;w=c[(c[b+8>>2]|0)+284>>2]|0}while((j|0)<(Pb[c[(c[w>>2]|0)+36>>2]&127](w)|0))}else o=0;w=c[b+8>>2]|0;c[h+0>>2]=c[w+4>>2];c[h+4>>2]=c[w+8>>2];c[h+8>>2]=c[w+12>>2];c[h+12>>2]=c[w+16>>2];c[h+16>>2]=c[w+20>>2];c[h+20>>2]=c[w+24>>2];c[h+24>>2]=c[w+28>>2];c[h+28>>2]=c[w+32>>2];c[h+32>>2]=c[w+36>>2];c[h+36>>2]=c[w+40>>2];c[h+40>>2]=c[w+44>>2];c[h+44>>2]=c[w+48>>2];c[h+48>>2]=c[b+92>>2];c[h+52>>2]=c[b+96>>2];c[h+56>>2]=c[b+100>>2];c[h+60>>2]=c[b+104>>2];c[w+260>>2]=(c[w+260>>2]|0)+1;c[w+4>>2]=c[h+0>>2];c[w+8>>2]=c[h+4>>2];c[w+12>>2]=c[h+8>>2];c[w+16>>2]=c[h+12>>2];c[w+20>>2]=c[h+16>>2];c[w+24>>2]=c[h+20>>2];c[w+28>>2]=c[h+24>>2];c[w+32>>2]=c[h+28>>2];c[w+36>>2]=c[h+32>>2];c[w+40>>2]=c[h+36>>2];c[w+44>>2]=c[h+40>>2];c[w+48>>2]=c[h+44>>2];c[w+52>>2]=c[h+48>>2];c[w+56>>2]=c[h+52>>2];c[w+60>>2]=c[h+56>>2];c[w+64>>2]=c[h+60>>2];if(!o){f=32;break}a[b+148>>0]=1;if((e|0)>3){f=32;break}else e=e+1|0}if((f|0)==32){w=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[w+0>>2];c[b+96>>2]=c[w+4>>2];c[b+100>>2]=c[w+8>>2];c[b+104>>2]=c[w+12>>2];dF(b+112|0,w|0,16)|0;i=h;return}}function vq(d,e,f){d=d|0;e=e|0;f=+f;var h=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0;h=i;i=i+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){i=h;return}a[d+168>>0]=(Pb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;p=+g[d+16>>2]- +g[d+44>>2]*f;g[d+16>>2]=p;if(p>0.0?(l=+g[d+28>>2],p>l):0)g[d+16>>2]=l;else l=p;if(l<0.0?(s=+P(+l),k=+P(+(+g[d+24>>2])),s>k):0){g[d+16>>2]=-k;l=-k}g[d+20>>2]=l*f;m=c[d+8>>2]|0;c[h+0>>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[m+32>>2];c[h+32>>2]=c[m+36>>2];c[h+36>>2]=c[m+40>>2];c[h+40>>2]=c[m+44>>2];c[h+44>>2]=c[m+48>>2];c[h+48>>2]=c[m+52>>2];c[h+52>>2]=c[m+56>>2];c[h+56>>2]=c[m+60>>2];c[h+60>>2]=c[m+64>>2];m=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}p=+g[d+20>>2];p=+g[d+52>>2]+(p>0.0?p:0.0);q=+g[2692+(m<<4)>>2]*p+ +g[d+96>>2];s=p*+g[2696+(m<<4)>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[2688+(m<<4)>>2]*p;g[d+116>>2]=q;g[d+120>>2]=s;g[d+124>>2]=0.0;g[h+456>>2]=1.0;c[h+460>>2]=0;c[h+464>>2]=0;c[h+468>>2]=0;c[h+472>>2]=0;g[h+476>>2]=1.0;c[h+480>>2]=0;c[h+484>>2]=0;c[h+488>>2]=0;c[h+492>>2]=0;g[h+496>>2]=1.0;m=h+500|0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;g[h+392>>2]=1.0;c[h+396>>2]=0;c[h+400>>2]=0;c[h+404>>2]=0;c[h+408>>2]=0;g[h+412>>2]=1.0;c[h+416>>2]=0;c[h+420>>2]=0;c[h+424>>2]=0;c[h+428>>2]=0;g[h+432>>2]=1.0;m=h+436|0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;m=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}n=c[d+12>>2]|0;p=+$b[c[(c[n>>2]|0)+48>>2]&15](n);p=p+ +g[d+56>>2];q=p*+g[2692+(m<<4)>>2]+ +g[d+96>>2];s=p*+g[2696+(m<<4)>>2]+ +g[d+100>>2];g[h+504>>2]=+g[2688+(m<<4)>>2]*p+ +g[d+92>>2];g[h+508>>2]=q;g[h+512>>2]=s;g[h+516>>2]=0.0;c[h+440>>2]=c[d+112>>2];c[h+444>>2]=c[d+116>>2];c[h+448>>2]=c[d+120>>2];c[h+452>>2]=c[d+124>>2];m=c[d+8>>2]|0;n=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}p=-+g[2688+(n<<4)>>2];q=-+g[2692+(n<<4)>>2];s=-+g[2696+(n<<4)>>2];g[h+292>>2]=1.0;b[h+296>>1]=1;b[h+298>>1]=-1;r=h+300|0;c[h+364>>2]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[h+288>>2]=2896;c[h+368>>2]=m;g[h+372>>2]=p;g[h+376>>2]=q;g[h+380>>2]=s;g[h+384>>2]=0.0;g[h+388>>2]=.707099974155426;m=c[d+8>>2]|0;r=c[m+188>>2]|0;b[h+296>>1]=b[r+4>>1]|0;b[h+298>>1]=b[r+6>>1]|0;if((a[d+170>>0]|0)==0)Eu(e,c[d+12>>2]|0,h+456|0,h+392|0,h+288|0,0.0);else lz(m,c[d+12>>2]|0,h+456|0,h+392|0,h+288|0,+g[e+56>>2]);if(+g[h+292>>2]<1.0){m=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}do if(+g[h+332>>2]*+g[2688+(m<<4)>>2]+ +g[h+336>>2]*+g[2692+(m<<4)>>2]+ +g[h+340>>2]*+g[2696+(m<<4)>>2]>0.0){k=+g[h+292>>2];g[d+108>>2]=+g[d+52>>2]*k;if((a[d+180>>0]|0)==0){c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2];break}else{g[d+92>>2]=(1.0-k)*+g[d+92>>2]+k*+g[d+112>>2];g[d+96>>2]=(1.0-k)*+g[d+96>>2]+k*+g[d+116>>2];g[d+100>>2]=(1.0-k)*+g[d+100>>2]+k*+g[d+120>>2];break}}while(0);g[d+16>>2]=0.0;g[d+20>>2]=0.0}else{g[d+108>>2]=+g[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2]}if((a[d+171>>0]|0)==0){q=+g[d+172>>2];s=q>f?f:q;g[d+172>>2]=q-f;pq(d,e,+g[d+60>>2]*s,s*+g[d+64>>2],s*+g[d+68>>2])}else pq(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[h+272>>2]=c[d+112>>2];c[h+276>>2]=c[d+116>>2];c[h+280>>2]=c[d+120>>2];c[h+284>>2]=c[d+124>>2];k=+g[d+16>>2];if(k<0.0)k=-k;else k=0.0;k=k*f;do if(k>0.0?(j=+g[d+24>>2],k>j):0){if((a[d+168>>0]|0)==0?(a[d+169>>0]|0)!=0:0){j=k;break}}else j=k;while(0);m=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}l=j+ +g[d+108>>2];k=+g[2688+(m<<4)>>2]*l;j=l*+g[2692+(m<<4)>>2];l=l*+g[2696+(m<<4)>>2];g[d+112>>2]=+g[d+112>>2]-k;g[d+116>>2]=+g[d+116>>2]-j;g[d+120>>2]=+g[d+120>>2]-l;n=c[d+8>>2]|0;o=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}s=+g[d+40>>2];m=h+172|0;g[m>>2]=1.0;b[h+176>>1]=1;b[h+178>>1]=-1;r=h+180|0;c[h+244>>2]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[h+168>>2]=2896;c[h+248>>2]=n;c[h+252>>2]=c[2688+(o<<4)>>2];c[h+256>>2]=c[2692+(o<<4)>>2];c[h+260>>2]=c[2696+(o<<4)>>2];c[h+264>>2]=c[2700+(o<<4)>>2];g[h+268>>2]=s;o=c[d+8>>2]|0;n=c[o+188>>2]|0;b[h+176>>1]=b[n+4>>1]|0;b[h+178>>1]=b[n+6>>1]|0;n=c[d+176>>2]|0;if((a[2736]|0)==0?(Ya(2736)|0)!=0:0){g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}s=+g[d+40>>2];g[h+68>>2]=1.0;b[h+72>>1]=1;b[h+74>>1]=-1;r=h+76|0;c[h+140>>2]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[h+64>>2]=2896;c[h+144>>2]=o;c[h+148>>2]=c[2688+(n<<4)>>2];c[h+152>>2]=c[2692+(n<<4)>>2];c[h+156>>2]=c[2696+(n<<4)>>2];c[h+160>>2]=c[2700+(n<<4)>>2];g[h+164>>2]=s;n=c[(c[d+8>>2]|0)+188>>2]|0;b[h+72>>1]=b[n+4>>1]|0;b[h+74>>1]=b[n+6>>1]|0;s=+g[d+112>>2];q=+g[d+116>>2];p=+g[d+120>>2];n=0;while(1){g[h+456>>2]=1.0;c[h+460>>2]=0;c[h+464>>2]=0;c[h+468>>2]=0;c[h+472>>2]=0;g[h+476>>2]=1.0;c[h+480>>2]=0;c[h+484>>2]=0;c[h+488>>2]=0;c[h+492>>2]=0;g[h+496>>2]=1.0;c[h+500>>2]=0;g[h+392>>2]=1.0;c[h+396>>2]=0;c[h+400>>2]=0;c[h+404>>2]=0;c[h+408>>2]=0;g[h+412>>2]=1.0;c[h+416>>2]=0;c[h+420>>2]=0;c[h+424>>2]=0;c[h+428>>2]=0;g[h+432>>2]=1.0;c[h+436>>2]=0;g[h+288>>2]=1.0;c[h+292>>2]=0;c[h+296>>2]=0;c[h+300>>2]=0;c[h+304>>2]=0;g[h+308>>2]=1.0;c[h+312>>2]=0;c[h+316>>2]=0;c[h+320>>2]=0;c[h+324>>2]=0;g[h+328>>2]=1.0;c[h+332>>2]=0;c[h+336>>2]=0;c[h+340>>2]=0;c[h+504>>2]=c[d+92>>2];c[h+508>>2]=c[d+96>>2];c[h+512>>2]=c[d+100>>2];c[h+516>>2]=c[d+104>>2];c[h+440>>2]=c[d+112>>2];c[h+444>>2]=c[d+116>>2];c[h+448>>2]=c[d+120>>2];c[h+452>>2]=c[d+124>>2];g[h+336>>2]=s-k;g[h+340>>2]=q-j;g[h+344>>2]=p-l;g[h+348>>2]=0.0;if((a[d+170>>0]|0)==0){Eu(e,c[d+12>>2]|0,h+456|0,h+392|0,h+168|0,+g[e+56>>2]);if(!(+g[m>>2]<1.0))Eu(e,c[d+12>>2]|0,h+456|0,h+288|0,h+64|0,+g[e+56>>2])}else{lz(c[d+8>>2]|0,c[d+12>>2]|0,h+456|0,h+392|0,h+168|0,+g[e+56>>2]);if(!(+g[m>>2]<1.0))lz(c[d+8>>2]|0,c[d+12>>2]|0,h+456|0,h+288|0,h+64|0,+g[e+56>>2])}p=+g[d+16>>2];if(p<0.0)q=-p;else q=0.0;s=q*f;o=(a[d+182>>0]|0)==0;if(!o?+g[m>>2]<1.0:0)r=1;else r=+g[h+68>>2]<1.0;if(!(s>0.0))break;q=+g[d+52>>2];if(!(s>0]|0)==0?(a[d+169>>0]|0)!=0:0){n=0;break}c[d+112>>2]=c[h+272>>2];c[d+116>>2]=c[h+276>>2];c[d+120>>2]=c[h+280>>2];c[d+124>>2]=c[h+284>>2];n=c[d+176>>2]|0;do if((a[2736]|0)==0){if((Ya(2736)|0)==0)break;g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}while(0);s=q+ +g[d+108>>2];q=s*+g[2692+(n<<4)>>2];p=s*+g[2696+(n<<4)>>2];s=+g[d+112>>2]- +g[2688+(n<<4)>>2]*s;g[d+112>>2]=s;q=+g[d+116>>2]-q;g[d+116>>2]=q;p=+g[d+120>>2]-p;g[d+120>>2]=p;n=1}q=+g[m>>2];if(q<1.0|n){j=+g[d+96>>2];f=(j- +g[h+232>>2])*.5;do if(!o)if((a[d+181>>0]|0)==0){g[d+92>>2]=(1.0-f)*+g[d+92>>2]+f*+g[d+112>>2];g[d+96>>2]=(1.0-f)*j+f*+g[d+116>>2];g[d+100>>2]=(1.0-f)*+g[d+100>>2]+f*+g[d+120>>2];e=d+181|0;break}else{g[d+92>>2]=(1.0-q)*+g[d+92>>2]+q*+g[d+112>>2];g[d+96>>2]=(1.0-q)*j+q*+g[d+116>>2];g[d+100>>2]=(1.0-q)*+g[d+100>>2]+q*+g[d+120>>2];e=d+181|0;break}else{g[d+92>>2]=(1.0-q)*+g[d+92>>2]+q*+g[d+112>>2];g[d+96>>2]=(1.0-q)*j+q*+g[d+116>>2];g[d+100>>2]=(1.0-q)*+g[d+100>>2]+q*+g[d+120>>2];e=d+181|0}while(0);a[e>>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(!o){if(p<0.0)q=-p;else q=0.0;p=+g[d+24>>2];if(q*f>p){if((a[d+168>>0]|0)==0?(a[d+169>>0]|0)!=0:0)break;g[d+112>>2]=k+ +g[d+112>>2];g[d+116>>2]=j+ +g[d+116>>2];g[d+120>>2]=l+ +g[d+120>>2];e=c[d+176>>2]|0;do if((a[2736]|0)==0){if((Ya(2736)|0)==0)break;g[672]=1.0;c[673]=0;c[674]=0;c[675]=0;c[676]=0;g[677]=1.0;c[678]=0;c[679]=0;c[680]=0;c[681]=0;g[682]=1.0;g[683]=0.0;bb(2736)}while(0);p=p+ +g[d+108>>2];q=p*+g[2692+(e<<4)>>2];s=p*+g[2696+(e<<4)>>2];g[d+112>>2]=+g[d+112>>2]- +g[2688+(e<<4)>>2]*p;g[d+116>>2]=+g[d+116>>2]-q;g[d+120>>2]=+g[d+120>>2]-s}}while(0);c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2]}c[h+48>>2]=c[d+92>>2];c[h+52>>2]=c[d+96>>2];c[h+56>>2]=c[d+100>>2];c[h+60>>2]=c[d+104>>2];r=c[d+8>>2]|0;c[r+260>>2]=(c[r+260>>2]|0)+1;c[r+4>>2]=c[h+0>>2];c[r+8>>2]=c[h+4>>2];c[r+12>>2]=c[h+8>>2];c[r+16>>2]=c[h+12>>2];c[r+20>>2]=c[h+16>>2];c[r+24>>2]=c[h+20>>2];c[r+28>>2]=c[h+24>>2];c[r+32>>2]=c[h+28>>2];c[r+36>>2]=c[h+32>>2];c[r+40>>2]=c[h+36>>2];c[r+44>>2]=c[h+40>>2];c[r+48>>2]=c[h+44>>2];c[r+52>>2]=c[h+48>>2];c[r+56>>2]=c[h+52>>2];c[r+60>>2]=c[h+56>>2];c[r+64>>2]=c[h+60>>2];i=h;return}function wq(a){a=a|0;var b=0;b=i;a=Pb[c[(c[a>>2]|0)+48>>2]&127](a)|0;i=b;return a|0}function xq(b){b=b|0;var d=0;d=i;if(!(Pb[c[(c[b>>2]|0)+40>>2]&127](b)|0)){i=d;return}g[b+16>>2]=+g[b+28>>2];a[b+169>>0]=1;i=d;return}function yq(a){a=a|0;var b=0;b=i;if(!(+g[a+16>>2]==0.0)){a=0;i=b;return a|0}a=+g[a+20>>2]==0.0;i=b;return a|0}function zq(a,b){a=a|0;b=b|0;return}function Aq(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function Bq(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;Nb[c[(c[a>>2]|0)+32>>2]&127](a,b);tc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);i=e;return}function Cq(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Dq(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,l=0.0,m=0.0;e=i;f=c[b>>2]|0;if((f|0)==(c[a+80>>2]|0)){k=1.0;i=e;return+k}if((c[f+204>>2]&4|0)!=0){k=1.0;i=e;return+k}if(d){k=+g[b+8>>2];j=+g[b+12>>2];h=+g[b+16>>2]}else{m=+g[b+8>>2];l=+g[b+12>>2];h=+g[b+16>>2];k=+g[f+4>>2]*m+ +g[f+8>>2]*l+ +g[f+12>>2]*h;j=m*+g[f+20>>2]+l*+g[f+24>>2]+h*+g[f+28>>2];h=m*+g[f+36>>2]+l*+g[f+40>>2]+h*+g[f+44>>2]}if(k*+g[a+84>>2]+j*+g[a+88>>2]+h*+g[a+92>>2]<+g[a+100>>2]){m=1.0;i=e;return+m}g[a+4>>2]=+g[b+40>>2];c[a+76>>2]=f;if(d){c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2]}else{h=+g[b+8>>2];j=+g[b+12>>2];k=+g[b+16>>2];l=h*+g[f+20>>2]+j*+g[f+24>>2]+k*+g[f+28>>2];m=h*+g[f+36>>2]+j*+g[f+40>>2]+k*+g[f+44>>2];g[a+44>>2]=+g[f+4>>2]*h+ +g[f+8>>2]*j+ +g[f+12>>2]*k;g[a+48>>2]=l;g[a+52>>2]=m;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+64>>2]=c[b+28>>2];c[a+68>>2]=c[b+32>>2];c[a+72>>2]=c[b+36>>2];m=+g[b+40>>2];i=e;return+m}function Eq(a){a=a|0;var b=0,d=0,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.0;b=i;i=i+144|0;g[a+36>>2]=0.0;c[b+128>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;d=0;do{e=b+128+(d<<2)|0;g[e>>2]=1.0;h=c[a+28>>2]|0;G=+g[h+4>>2];g[b+80>>2]=G;C=+g[h+20>>2];g[b+84>>2]=C;j=+g[h+36>>2];g[b+88>>2]=j;g[b+92>>2]=0.0;F=+g[h+8>>2];g[b+96>>2]=F;B=+g[h+24>>2];g[b+100>>2]=B;u=+g[h+40>>2];g[b+104>>2]=u;g[b+108>>2]=0.0;E=+g[h+12>>2];g[b+112>>2]=E;A=+g[h+28>>2];g[b+116>>2]=A;n=+g[h+44>>2];g[b+120>>2]=n;g[b+124>>2]=0.0;f=c[a+32>>2]|0;x=+g[f+4>>2];g[b+32>>2]=x;t=+g[f+20>>2];g[b+36>>2]=t;o=+g[f+36>>2];g[b+40>>2]=o;g[b+44>>2]=0.0;w=+g[f+8>>2];g[b+48>>2]=w;s=+g[f+24>>2];g[b+52>>2]=s;m=+g[f+40>>2];g[b+56>>2]=m;g[b+60>>2]=0.0;v=+g[f+12>>2];g[b+64>>2]=v;r=+g[f+28>>2];g[b+68>>2]=r;k=+g[f+44>>2];g[b+72>>2]=k;g[b+76>>2]=0.0;y=+g[a+300>>2];q=+g[a+304>>2];l=+g[a+308>>2];D=+g[h+52>>2];z=+g[h+56>>2];p=+g[h+60>>2];g[b+16>>2]=y*G+q*F+l*E+D-D;g[b+20>>2]=y*C+q*B+l*A+z-z;g[b+24>>2]=y*j+q*u+l*n+p-p;g[b+28>>2]=0.0;p=+g[a+316>>2];n=+g[a+320>>2];l=+g[a+324>>2];u=+g[f+52>>2];q=+g[f+56>>2];j=+g[f+60>>2];g[b>>2]=p*x+n*w+l*v+u-u;g[b+4>>2]=p*t+n*s+l*r+q-q;g[b+8>>2]=p*o+n*m+l*k+j-j;g[b+12>>2]=0.0;h=c[a+28>>2]|0;Co(a+(d*84|0)+48|0,b+80|0,b+32|0,b+16|0,b,b+128|0,h+396|0,+g[h+344>>2],f+396|0,+g[f+344>>2]);g[e>>2]=0.0;d=d+1|0}while((d|0)!=3);i=b;return}function Fq(b,d){b=b|0;d=d|0;var e=0;e=i;if((a[b+344>>0]|0)==0){c[d>>2]=3;c[d+4>>2]=3;i=e;return}else{c[d>>2]=0;c[d+4>>2]=0;i=e;return}}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.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;d=i;l=c[a+28>>2]|0;m=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;j=c[b+24>>2]|0;g[e+(j+1<<2)>>2]=1.0;g[e+((j<<1)+2<<2)>>2]=1.0;n=+g[a+300>>2];s=+g[a+304>>2];h=+g[a+308>>2];q=+g[l+4>>2]*n+ +g[l+8>>2]*s+ +g[l+12>>2]*h;o=n*+g[l+20>>2]+s*+g[l+24>>2]+h*+g[l+28>>2];h=n*+g[l+36>>2]+s*+g[l+40>>2]+h*+g[l+44>>2];e=c[b+12>>2]|0;g[e>>2]=0.0;g[e+4>>2]=h;g[e+8>>2]=-o;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=-h;g[e+(j+1<<2)>>2]=0.0;g[e+(j+2<<2)>>2]=q;g[e+(j+3<<2)>>2]=0.0;g[e+(j<<1<<2)>>2]=o;g[e+((j<<1|1)<<2)>>2]=-q;g[e+((j<<1)+2<<2)>>2]=0.0;g[e+((j<<1)+3<<2)>>2]=0.0;e=c[b+16>>2]|0;g[e>>2]=-1.0;g[e+(j+1<<2)>>2]=-1.0;g[e+((j<<1)+2<<2)>>2]=-1.0;s=+g[a+316>>2];n=+g[a+320>>2];f=+g[a+324>>2];r=+g[m+4>>2]*s+ +g[m+8>>2]*n+ +g[m+12>>2]*f;p=s*+g[m+20>>2]+n*+g[m+24>>2]+f*+g[m+28>>2];f=s*+g[m+36>>2]+n*+g[m+40>>2]+f*+g[m+44>>2];e=c[b+20>>2]|0;g[e>>2]=0.0;g[e+4>>2]=-f;g[e+8>>2]=p;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=f;g[e+(j+1<<2)>>2]=0.0;g[e+(j+2<<2)>>2]=-r;g[e+(j+3<<2)>>2]=0.0;g[e+(j<<1<<2)>>2]=-p;g[e+((j<<1|1)<<2)>>2]=r;g[e+((j<<1)+2<<2)>>2]=0.0;g[e+((j<<1)+3<<2)>>2]=0.0;j=c[a+332>>2]|0;n=+g[((j&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];e=c[b+24>>2]|0;k=c[b+28>>2]|0;g[k>>2]=n*(r+ +g[m+52>>2]-q- +g[l+52>>2]);g[k+(e<<2)>>2]=n*(p+ +g[m+56>>2]-o- +g[l+56>>2]);g[k+(e<<1<<2)>>2]=n*(f+ +g[m+60>>2]-h- +g[l+60>>2]);if((j&2|0)!=0){m=c[b+32>>2]|0;g[m>>2]=+g[a+340>>2];g[m+(e<<2)>>2]=+g[a+340>>2];g[m+(e<<1<<2)>>2]=+g[a+340>>2]}f=+g[a+356>>2];if(f>0.0){g[c[b+36>>2]>>2]=-f;g[c[b+40>>2]>>2]=f;h=+g[a+356>>2]}else h=f;if(h>0.0){g[(c[b+36>>2]|0)+(e<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<2)>>2]=f;h=+g[a+356>>2]}if(!(h>0.0)){m=a+352|0;s=+g[m>>2];m=b+52|0;g[m>>2]=s;i=d;return}g[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<1<<2)>>2]=f;m=a+352|0;s=+g[m>>2];m=b+52|0;g[m>>2]=s;i=d;return}function Hq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;do if((e|0)==-1)if((b|0)==2|(b|0)==1){g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;break}else if((b|0)==4|(b|0)==3){g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;break}else break;while(0);i=f;return}function Iq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=i;do if((c|0)==-1)if((b|0)==2|(b|0)==1){e=+g[a+336>>2];break}else if((b|0)==4|(b|0)==3){e=+g[a+340>>2];break}else{e=3.4028234663852886e+38;break}else e=3.4028234663852886e+38;while(0);i=d;return+e}function Jq(a){a=a|0;return}function Kq(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Lq(a){a=a|0;return 84}function Mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;Pr(a,b,c)|0;g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];g[b+76>>2]=+g[a+324>>2];g[b+80>>2]=+g[a+328>>2];i=d;return 3080}function Nq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=3912;e=c[b+496>>2]|0;if((e|0)!=0){if((a[b+500>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function Oq(a){a=a|0;var b=0;b=i;Pq(a);YE(a);i=b;return}function Pq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=3752;e=c[b+144>>2]|0;if((e|0)!=0){if((a[b+148>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+76>>2]|0;if((e|0)!=0){if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+56>>2]|0;if((e|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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+36>>2]|0;if((e|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}function Qq(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;f=i;i=i+64|0;a[d+84>>0]=0;c[f+0>>2]=c[b+4>>2];c[f+4>>2]=c[b+8>>2];c[f+8>>2]=c[b+12>>2];c[f+12>>2]=c[b+16>>2];c[f+16>>2]=c[b+20>>2];c[f+20>>2]=c[b+24>>2];c[f+24>>2]=c[b+28>>2];c[f+28>>2]=c[b+32>>2];c[f+32>>2]=c[b+36>>2];c[f+36>>2]=c[b+40>>2];c[f+40>>2]=c[b+44>>2];c[f+44>>2]=c[b+48>>2];c[f+48>>2]=c[b+52>>2];c[f+52>>2]=c[b+56>>2];c[f+56>>2]=c[b+60>>2];c[f+60>>2]=c[b+64>>2];if(e?(h=c[b+480>>2]|0,(h|0)!=0):0)Nb[c[(c[h>>2]|0)+8>>2]&127](h,f);w=+g[d+156>>2];u=+g[f>>2];v=+g[d+160>>2];t=+g[f+4>>2];o=+g[d+164>>2];s=+g[f+8>>2];r=+g[f+16>>2];q=+g[f+20>>2];p=+g[f+24>>2];n=+g[f+32>>2];l=+g[f+36>>2];j=+g[f+40>>2];m=w*r+v*q+o*p+ +g[f+52>>2];k=w*n+v*l+o*j+ +g[f+56>>2];g[d+36>>2]=w*u+v*t+o*s+ +g[f+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=f;return}function Rq(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,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;e=i;Qq(a,b+(c*284|0)|0,d);o=+g[b+(c*284|0)+52>>2];j=+g[b+(c*284|0)+56>>2];s=+g[b+(c*284|0)+60>>2];I=+g[b+(c*284|0)+76>>2];B=+g[b+(c*284|0)+72>>2];A=+g[b+(c*284|0)+68>>2];y=1.0/+Q(+((B*-o-A*-j)*(B*-o-A*-j)+((I*-j-B*-s)*(I*-j-B*-s)+(A*-s-I*-o)*(A*-s-I*-o))));x=(I*-j-B*-s)*y;w=y*(A*-s-I*-o);y=y*(B*-o-A*-j);f=+g[b+(c*284|0)+232>>2]*.5;m=+T(+f)/+Q(+(o*o+j*j+s*s));f=+S(+f);n=2.0/(f*f+(m*-s*m*-s+(m*-o*m*-o+m*-j*m*-j)));G=1.0-(m*-j*m*-j*n+m*-s*m*-s*n);F=m*-o*m*-j*n-f*m*-s*n;H=m*-o*m*-s*n+f*m*-j*n;D=m*-o*m*-j*n+f*m*-s*n;C=1.0-(m*-o*m*-o*n+m*-s*m*-s*n);E=m*-j*m*-s*n-f*m*-o*n;l=m*-o*m*-s*n-f*m*-j*n;f=m*-j*m*-s*n+f*m*-o*n;n=1.0-(m*-o*m*-o*n+m*-j*m*-j*n);m=+g[b+(c*284|0)+236>>2]*-.5;z=+T(+m)/+Q(+(I*I+(B*B+A*A)));m=+S(+m);t=2.0/(m*m+(I*z*I*z+(A*z*A*z+B*z*B*z)));p=1.0-(B*z*B*z*t+I*z*I*z*t);k=A*z*B*z*t-m*I*z*t;v=A*z*I*z*t+m*B*z*t;q=A*z*B*z*t+m*I*z*t;h=1.0-(A*z*A*z*t+I*z*I*z*t);u=B*z*I*z*t-m*A*z*t;r=A*z*I*z*t-m*B*z*t;m=B*z*I*z*t+m*A*z*t;t=1.0-(A*z*A*z*t+B*z*B*z*t);z=+g[b+(c*284|0)+72>>2];B=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=B*(G*v+F*u+H*t)+(A*(H*r+(F*q+G*p))+z*(H*m+(G*k+F*h)));g[b+(c*284|0)+96>>2]=y*(G*v+F*u+H*t)+(x*(H*r+(F*q+G*p))+w*(H*m+(G*k+F*h)));g[b+(c*284|0)+100>>2]=(G*v+F*u+H*t)*-s+((H*r+(F*q+G*p))*-o+(H*m+(G*k+F*h))*-j);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=B*(D*v+C*u+E*t)+(A*(E*r+(C*q+D*p))+z*(E*m+(D*k+C*h)));g[b+(c*284|0)+112>>2]=y*(D*v+C*u+E*t)+(x*(E*r+(C*q+D*p))+w*(E*m+(D*k+C*h)));g[b+(c*284|0)+116>>2]=(D*v+C*u+E*t)*-s+((E*r+(C*q+D*p))*-o+(E*m+(D*k+C*h))*-j);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=B*(l*v+f*u+n*t)+(A*(n*r+(f*q+l*p))+z*(n*m+(l*k+f*h)));g[b+(c*284|0)+128>>2]=y*(l*v+f*u+n*t)+(x*(n*r+(f*q+l*p))+w*(n*m+(l*k+f*h)));g[b+(c*284|0)+132>>2]=(l*v+f*u+n*t)*-s+((n*r+(f*q+l*p))*-o+(n*m+(l*k+f*h))*-j);g[b+(c*284|0)+136>>2]=0.0;j=+g[b+(c*284|0)+32>>2];h=j*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];f=j*+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]*j+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=h;g[b+(c*284|0)+148>>2]=f;g[b+(c*284|0)+152>>2]=0.0;i=e;return}function Sq(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,q=0,r=0.0,s=0.0,t=0.0,u=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,F=0.0,G=0.0;e=i;i=i+112|0;h=c[b+136>>2]|0;if((h|0)>0){f=0;do{Rq(c[b+116>>2]|0,c[b+144>>2]|0,f,0);f=f+1|0;h=c[b+136>>2]|0}while((f|0)<(h|0));f=b+116|0}else f=b+116|0;k=c[f>>2]|0;C=+g[k+312>>2];D=+g[k+316>>2];r=+g[k+320>>2];r=+Q(+(C*C+D*D+r*r))*3.5999999046325684;g[b+112>>2]=r;y=c[b+128>>2]|0;if(+g[k+(y<<2)+4>>2]*+g[k+312>>2]+ +g[k+(y<<2)+20>>2]*+g[k+316>>2]+ +g[k+(y<<2)+36>>2]*+g[k+320>>2]<0.0)g[b+112>>2]=r*-1.0;a:do if((h|0)>0){h=0;do{j=c[b+144>>2]|0;q=j+(h*284|0)|0;Qq(k,q,0);u=j+(h*284|0)+204|0;y=j+(h*284|0)+212|0;r=+g[u>>2]+ +g[y>>2];n=j+(h*284|0)+52|0;o=j+(h*284|0)+56|0;p=j+(h*284|0)+60|0;E=j+(h*284|0)+36|0;m=j+(h*284|0)+16|0;C=r*+g[o>>2]+ +g[j+(h*284|0)+40>>2];D=r*+g[p>>2]+ +g[j+(h*284|0)+44>>2];g[j+(h*284|0)+16>>2]=+g[n>>2]*r+ +g[E>>2];l=j+(h*284|0)+20|0;g[l>>2]=C;k=j+(h*284|0)+24|0;g[k>>2]=D;g[j+(h*284|0)+28>>2]=0.0;g[e+64>>2]=-1.0;x=c[b+100>>2]|0;E=Tb[c[(c[x>>2]|0)+8>>2]&31](x,E,m,e+32|0)|0;x=j+(h*284|0)+88|0;c[x>>2]=0;do if((E|0)!=0){r=r*+g[e+64>>2];c[q+0>>2]=c[e+48>>2];c[q+4>>2]=c[e+52>>2];c[q+8>>2]=c[e+56>>2];c[q+12>>2]=c[e+60>>2];a[j+(h*284|0)+84>>0]=1;if((a[3736]|0)==0?(Ya(3736)|0)!=0:0){c[e+88>>2]=0;c[e+92>>2]=0;c[e+96>>2]=0;c[e+100>>2]=0;br(3120,0.0,0,0,e+88|0);bb(3736)}c[e+72>>2]=0;c[e+76>>2]=0;c[e+80>>2]=0;c[e+84>>2]=0;cr(3120,0.0,e+72|0);c[x>>2]=3120;t=r- +g[y>>2];x=j+(h*284|0)+32|0;g[x>>2]=t;r=+g[u>>2];s=+g[j+(h*284|0)+208>>2]*.009999999776482582;if(t>2]=r-s;t=r-s}if(t>r+s)g[x>>2]=r+s;c[m+0>>2]=c[e+32>>2];c[m+4>>2]=c[e+36>>2];c[m+8>>2]=c[e+40>>2];c[m+12>>2]=c[e+44>>2];s=+g[q>>2];r=+g[j+(h*284|0)+4>>2];t=+g[j+(h*284|0)+8>>2];v=s*+g[n>>2]+r*+g[o>>2]+t*+g[p>>2];n=c[f>>2]|0;w=+g[m>>2]- +g[n+52>>2];z=+g[l>>2]- +g[n+56>>2];C=+g[k>>2]- +g[n+60>>2];D=+g[n+332>>2];A=+g[n+336>>2];B=+g[n+328>>2];if(!(v>=-.10000000149011612)){g[j+(h*284|0)+272>>2]=-1.0/v*(r*(w*A-C*B+ +g[n+316>>2])+s*(D*C-z*A+ +g[n+312>>2])+t*(z*B-w*D+ +g[n+320>>2]));g[j+(h*284|0)+268>>2]=-1.0/v;break}else{g[j+(h*284|0)+272>>2]=0.0;g[j+(h*284|0)+268>>2]=10.0;break}}else{g[j+(h*284|0)+32>>2]=+g[u>>2];g[j+(h*284|0)+272>>2]=0.0;C=-+g[o>>2];D=-+g[p>>2];g[q>>2]=-+g[n>>2];g[j+(h*284|0)+4>>2]=C;g[j+(h*284|0)+8>>2]=D;g[j+(h*284|0)+12>>2]=0.0;g[j+(h*284|0)+268>>2]=1.0}while(0);h=h+1|0;j=c[b+136>>2]|0;k=c[f>>2]|0}while((h|0)<(j|0));r=1.0/+g[k+344>>2];if((j|0)>0){m=c[b+144>>2]|0;l=0;do{if((a[m+(l*284|0)+84>>0]|0)!=0){D=+g[m+(l*284|0)+272>>2];D=r*(+g[m+(l*284|0)+216>>2]*(+g[m+(l*284|0)+204>>2]- +g[m+(l*284|0)+32>>2])*+g[m+(l*284|0)+268>>2]-D*+g[(D<0.0?m+(l*284|0)+220|0:m+(l*284|0)+224|0)>>2]);h=m+(l*284|0)+276|0;g[h>>2]=D;if(D<0.0)g[h>>2]=0.0}else g[m+(l*284|0)+276>>2]=0.0;l=l+1|0}while((l|0)<(j|0));h=0;while(1){B=+g[m+(h*284|0)+276>>2];D=+g[m+(h*284|0)+248>>2];B=B>D?D:B;D=B*+g[m+(h*284|0)+4>>2]*d;C=B*+g[m+(h*284|0)+8>>2]*d;g[e+16>>2]=+g[m+(h*284|0)>>2]*B*d;g[e+20>>2]=D;g[e+24>>2]=C;g[e+28>>2]=0.0;C=+g[m+(h*284|0)+20>>2]- +g[k+56>>2];D=+g[m+(h*284|0)+24>>2]- +g[k+60>>2];g[e>>2]=+g[m+(h*284|0)+16>>2]- +g[k+52>>2];g[e+4>>2]=C;g[e+8>>2]=D;g[e+12>>2]=0.0;qm(k,e+16|0,e);h=h+1|0;if((h|0)>=(c[b+136>>2]|0))break a;m=c[b+144>>2]|0;k=c[f>>2]|0}}}while(0);Kb[c[(c[b>>2]|0)+20>>2]&31](b,d);h=c[b+136>>2]|0;if((h|0)<=0){i=e;return}j=c[b+144>>2]|0;f=c[f>>2]|0;k=0;do{t=+g[j+(k*284|0)+36>>2]- +g[f+52>>2];s=+g[j+(k*284|0)+40>>2]- +g[f+56>>2];w=+g[j+(k*284|0)+44>>2]- +g[f+60>>2];r=+g[f+332>>2];v=+g[f+336>>2];z=+g[f+328>>2];if((a[j+(k*284|0)+84>>0]|0)==0){r=+g[j+(k*284|0)+240>>2];E=j+(k*284|0)+236|0;g[E>>2]=r+ +g[E>>2]}else{E=c[b+128>>2]|0;G=+g[f+(E<<2)+4>>2];A=+g[f+(E<<2)+20>>2];C=+g[f+(E<<2)+36>>2];F=+g[j+(k*284|0)>>2];B=+g[j+(k*284|0)+4>>2];D=+g[j+(k*284|0)+8>>2];r=((s*z-t*r+ +g[f+320>>2])*(C-D*(G*F+A*B+C*D))+((r*w-s*v+ +g[f+312>>2])*(G-F*(G*F+A*B+C*D))+(t*v-w*z+ +g[f+316>>2])*(A-B*(G*F+A*B+C*D))))*d/+g[j+(k*284|0)+212>>2];g[j+(k*284|0)+240>>2]=r;E=j+(k*284|0)+236|0;g[E>>2]=r+ +g[E>>2]}g[j+(k*284|0)+240>>2]=r*.9900000095367432;k=k+1|0}while((k|0)<(h|0));i=e;return}function Tq(b,d){b=b|0;d=+d;var e=0,f=0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.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,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,R=0.0;e=i;i=i+384|0;j=c[b+136>>2]|0;if((j|0)==0){i=e;return}k=c[b+8>>2]|0;if((k|0)<(j|0)){if((c[b+12>>2]|0)<(j|0)){c[5004]=(c[5004]|0)+1;l=XE((j<<4|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}m=c[b+8>>2]|0;if((m|0)>0){n=0;do{s=l+(n<<4)|0;q=(c[b+16>>2]|0)+(n<<4)|0;c[s+0>>2]=c[q+0>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[b+16>>2]|0;if((m|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=l;c[b+12>>2]=j;l=b+16|0}else l=b+16|0;do{s=(c[l>>2]|0)+(k<<4)|0;c[s+0>>2]=c[e+144>>2];c[s+4>>2]=c[e+148>>2];c[s+8>>2]=c[e+152>>2];c[s+12>>2]=c[e+156>>2];k=k+1|0}while((k|0)!=(j|0))}c[b+8>>2]=j;k=c[b+28>>2]|0;if((k|0)<(j|0)){if((c[b+32>>2]|0)<(j|0)){c[5004]=(c[5004]|0)+1;l=XE((j<<4|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}n=c[b+28>>2]|0;if((n|0)>0){m=0;do{s=l+(m<<4)|0;q=(c[b+36>>2]|0)+(m<<4)|0;c[s+0>>2]=c[q+0>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];m=m+1|0}while((m|0)!=(n|0))}m=c[b+36>>2]|0;if((m|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=l;c[b+32>>2]=j;l=b+36|0}else l=b+36|0;do{s=(c[l>>2]|0)+(k<<4)|0;c[s+0>>2]=c[e+128>>2];c[s+4>>2]=c[e+132>>2];c[s+8>>2]=c[e+136>>2];c[s+12>>2]=c[e+140>>2];k=k+1|0}while((k|0)!=(j|0))}c[b+28>>2]=j;k=c[b+48>>2]|0;if((k|0)<(j|0)){if((c[b+52>>2]|0)<(j|0)){c[5004]=(c[5004]|0)+1;l=XE((j<<2|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}m=c[b+48>>2]|0;if((m|0)>0){n=0;do{o=l+(n<<2)|0;if((o|0)!=0)g[o>>2]=+g[(c[b+56>>2]|0)+(n<<2)>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[b+56>>2]|0;if((m|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=l;c[b+52>>2]=j}else l=c[b+56>>2]|0;do{m=l+(k<<2)|0;if((m|0)!=0)g[m>>2]=0.0;k=k+1|0}while((k|0)!=(j|0))}c[b+48>>2]=j;k=c[b+68>>2]|0;if((k|0)<(j|0)){if((c[b+72>>2]|0)<(j|0)){c[5004]=(c[5004]|0)+1;l=XE((j<<2|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}n=c[b+68>>2]|0;if((n|0)>0){m=0;do{o=l+(m<<2)|0;if((o|0)!=0)g[o>>2]=+g[(c[b+76>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(n|0))}m=c[b+76>>2]|0;if((m|0)!=0){if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=l;c[b+72>>2]=j}else l=c[b+76>>2]|0;do{m=l+(k<<2)|0;if((m|0)!=0)g[m>>2]=0.0;k=k+1|0}while((k|0)!=(j|0))}c[b+68>>2]=j;m=c[b+136>>2]|0;if((m|0)<=0){i=e;return}k=c[b+76>>2]|0;l=c[b+56>>2]|0;j=0;do{g[k+(j<<2)>>2]=0.0;g[l+(j<<2)>>2]=0.0;j=j+1|0}while((j|0)<(m|0));j=0;do{k=c[b+144>>2]|0;l=c[k+(j*284|0)+88>>2]|0;if((l|0)!=0){m=k+(j*284|0)+92|0;c[e+80>>2]=c[m+0>>2];c[e+84>>2]=c[m+4>>2];c[e+88>>2]=c[m+8>>2];c[e+92>>2]=c[m+12>>2];m=k+(j*284|0)+108|0;c[e+96>>2]=c[m+0>>2];c[e+100>>2]=c[m+4>>2];c[e+104>>2]=c[m+8>>2];c[e+108>>2]=c[m+12>>2];m=k+(j*284|0)+124|0;c[e+112>>2]=c[m+0>>2];c[e+116>>2]=c[m+4>>2];c[e+120>>2]=c[m+8>>2];c[e+124>>2]=c[m+12>>2];m=c[b+36>>2]|0;y=c[b+120>>2]|0;p=+g[e+80+(y<<2)+16>>2];z=+g[e+80+(y<<2)+32>>2];g[m+(j<<4)>>2]=+g[e+80+(y<<2)>>2];g[m+(j<<4)+4>>2]=p;g[m+(j<<4)+8>>2]=z;g[m+(j<<4)+12>>2]=0.0;m=c[b+36>>2]|0;y=m+(j<<4)|0;z=+g[y>>2];n=k+(j*284|0)|0;p=+g[n>>2];o=m+(j<<4)+4|0;x=+g[o>>2];s=k+(j*284|0)+4|0;r=+g[s>>2];m=m+(j<<4)+8|0;u=+g[m>>2];q=k+(j*284|0)+8|0;w=+g[q>>2];t=z-p*(z*p+x*r+u*w);v=x-r*(z*p+x*r+u*w);w=u-w*(z*p+x*r+u*w);u=1.0/+Q(+(t*t+v*v+w*w));g[y>>2]=t*u;g[o>>2]=v*u;g[m>>2]=w*u;m=c[b+16>>2]|0;r=+g[s>>2];x=+g[q>>2];p=+g[n>>2];g[m+(j<<4)>>2]=r*w*u-x*v*u;g[m+(j<<4)+4>>2]=x*t*u-w*u*p;g[m+(j<<4)+8>>2]=v*u*p-r*t*u;g[m+(j<<4)+12>>2]=0.0;m=c[b+16>>2]|0;n=m+(j<<4)|0;u=+g[n>>2];q=m+(j<<4)+4|0;t=+g[q>>2];m=m+(j<<4)+8|0;r=+g[m>>2];p=1.0/+Q(+(u*u+t*t+r*r));g[n>>2]=u*p;g[q>>2]=t*p;g[m>>2]=r*p;m=c[b+116>>2]|0;q=c[b+36>>2]|0;n=q+(j<<4)|0;s=(c[b+76>>2]|0)+(j<<2)|0;p=+g[n>>2];o=q+(j<<4)+4|0;r=+g[o>>2];q=q+(j<<4)+8|0;t=+g[q>>2];if(p*p+r*r+t*t>1.100000023841858)g[s>>2]=0.0;else{z=+g[k+(j*284|0)+16>>2];r=z- +g[m+52>>2];t=+g[k+(j*284|0)+20>>2];B=t- +g[m+56>>2];x=+g[k+(j*284|0)+24>>2];D=x- +g[m+60>>2];g[e+360>>2]=r;g[e+364>>2]=B;g[e+368>>2]=D;g[e+372>>2]=0.0;z=z- +g[l+52>>2];t=t- +g[l+56>>2];x=x- +g[l+60>>2];g[e+344>>2]=z;g[e+348>>2]=t;g[e+352>>2]=x;g[e+356>>2]=0.0;p=+g[m+332>>2];E=+g[m+336>>2];A=+g[m+328>>2];v=+g[l+332>>2];C=+g[l+336>>2];u=+g[l+328>>2];w=p*D-E*B+ +g[m+312>>2]-(v*x-C*t+ +g[l+312>>2]);x=+g[m+316>>2]+(E*r-D*A)-(+g[l+316>>2]+(C*z-x*u));z=B*A-p*r+ +g[m+320>>2]-(t*u-v*z+ +g[l+320>>2]);g[e+208>>2]=+g[m+4>>2];g[e+212>>2]=+g[m+20>>2];g[e+216>>2]=+g[m+36>>2];g[e+220>>2]=0.0;g[e+224>>2]=+g[m+8>>2];g[e+228>>2]=+g[m+24>>2];g[e+232>>2]=+g[m+40>>2];g[e+236>>2]=0.0;g[e+240>>2]=+g[m+12>>2];g[e+244>>2]=+g[m+28>>2];g[e+248>>2]=+g[m+44>>2];g[e+252>>2]=0.0;g[e+160>>2]=+g[l+4>>2];g[e+164>>2]=+g[l+20>>2];g[e+168>>2]=+g[l+36>>2];g[e+172>>2]=0.0;g[e+176>>2]=+g[l+8>>2];g[e+180>>2]=+g[l+24>>2];g[e+184>>2]=+g[l+40>>2];g[e+188>>2]=0.0;g[e+192>>2]=+g[l+12>>2];g[e+196>>2]=+g[l+28>>2];g[e+200>>2]=+g[l+44>>2];g[e+204>>2]=0.0;Co(e+256|0,e+208|0,e+160|0,e+360|0,e+344|0,n,m+396|0,+g[m+344>>2],l+396|0,+g[l+344>>2]);g[s>>2]=1.0/+g[e+336>>2]*(w*+g[n>>2]+x*+g[o>>2]+z*+g[q>>2])*-.20000000298023224}m=c[b+136>>2]|0}j=j+1|0}while((j|0)<(m|0));if((m|0)<=0){i=e;return}o=c[b+144>>2]|0;k=0;j=0;while(1){l=c[o+(j*284|0)+88>>2]|0;if((l|0)!=0){p=+g[o+(j*284|0)+252>>2];if(p!=0.0){l=c[b+56>>2]|0;q=l+(j<<2)|0;g[q>>2]=0.0;n=o+(j*284|0)+280|0;g[n>>2]=1.0;m=o;r=p*d}else{E=+g[o+(j*284|0)+256>>2];E=E!=0.0?E:0.0;m=c[b+116>>2]|0;q=c[b+16>>2]|0;x=+g[o+(j*284|0)+16>>2];v=+g[o+(j*284|0)+20>>2];F=+g[o+(j*284|0)+24>>2];H=+g[q+(j<<4)>>2];u=+g[q+(j<<4)+4>>2];r=+g[q+(j<<4)+8>>2];O=x- +g[m+52>>2];P=v- +g[m+56>>2];M=F- +g[m+60>>2];L=+g[m+264>>2]*(P*r-M*u)+ +g[m+280>>2]*(M*H-O*r)+(O*u-P*H)*+g[m+296>>2];R=(P*r-M*u)*+g[m+268>>2]+(M*H-O*r)*+g[m+284>>2]+(O*u-P*H)*+g[m+300>>2];N=(P*r-M*u)*+g[m+272>>2]+(M*H-O*r)*+g[m+288>>2]+(O*u-P*H)*+g[m+304>>2];C=x- +g[l+52>>2];A=v- +g[l+56>>2];t=F- +g[l+60>>2];I=(u*C-H*A)*+g[l+296>>2]+(+g[l+264>>2]*(r*A-u*t)+ +g[l+280>>2]*(H*t-r*C));K=(r*A-u*t)*+g[l+268>>2]+(H*t-r*C)*+g[l+284>>2]+(u*C-H*A)*+g[l+300>>2];J=(r*A-u*t)*+g[l+272>>2]+(H*t-r*C)*+g[l+288>>2]+(u*C-H*A)*+g[l+304>>2];x=x- +g[m+52>>2];v=v- +g[m+56>>2];F=F- +g[m+60>>2];z=+g[m+332>>2];G=+g[m+336>>2];w=+g[m+328>>2];D=+g[l+332>>2];p=+g[l+336>>2];B=+g[l+328>>2];r=-(1.0/(+g[m+344>>2]+(r*(P*L-O*R)+(H*(M*R-P*N)+u*(O*N-M*L)))+(+g[l+344>>2]+(r*(A*I-C*K)+(H*(t*K-A*J)+u*(C*J-t*I)))))*((F*z-v*G+ +g[m+312>>2]-(t*D-A*p+ +g[l+312>>2]))*H+(+g[m+316>>2]+(x*G-F*w)-(+g[l+316>>2]+(C*p-t*B)))*u+(v*w-x*z+ +g[m+320>>2]-(A*B-C*D+ +g[l+320>>2]))*r));r=E>2]|0;l=c[b+56>>2]|0;q=l+(j<<2)|0;g[q>>2]=0.0;n=m+(j*284|0)+280|0;g[n>>2]=1.0;r=r<-E?-E:r}g[n>>2]=1.0;p=+g[o+(j*284|0)+276>>2]*d*+g[o+(j*284|0)+228>>2];g[q>>2]=r;r=r*.5;t=+g[(c[b+76>>2]|0)+(j<<2)>>2];if(r*r+t*t>p*p){R=p/+Q(+(r*r+t*t));g[n>>2]=R*+g[n>>2];k=1}}else{l=c[b+56>>2]|0;g[l+(j<<2)>>2]=0.0;g[o+(j*284|0)+280>>2]=1.0;m=o}j=j+1|0;n=c[b+136>>2]|0;if((j|0)>=(n|0))break;else o=m}if(k){if((n|0)<=0){i=e;return}j=c[b+76>>2]|0;k=0;do{o=j+(k<<2)|0;if(+g[o>>2]!=0.0?(f=m+(k*284|0)+280|0,h=+g[f>>2],h<1.0):0){y=l+(k<<2)|0;g[y>>2]=h*+g[y>>2];g[o>>2]=+g[f>>2]*+g[o>>2]}k=k+1|0}while((k|0)<(n|0))}if((n|0)<=0){i=e;return}n=0;while(1){o=c[b+116>>2]|0;k=m+(n*284|0)+16|0;f=m+(n*284|0)+20|0;R=+g[f>>2]- +g[o+56>>2];j=m+(n*284|0)+24|0;h=+g[j>>2]- +g[o+60>>2];g[e+64>>2]=+g[k>>2]- +g[o+52>>2];g[e+68>>2]=R;g[e+72>>2]=h;g[e+76>>2]=0.0;h=+g[l+(n<<2)>>2];if(h!=0.0){y=c[b+16>>2]|0;P=h*+g[y+(n<<4)+4>>2];R=h*+g[y+(n<<4)+8>>2];g[e+48>>2]=h*+g[y+(n<<4)>>2];g[e+52>>2]=P;g[e+56>>2]=R;g[e+60>>2]=0.0;qm(o,e+48|0,e+64|0)}h=+g[(c[b+76>>2]|0)+(n<<2)>>2];if(h!=0.0){y=c[(c[b+144>>2]|0)+(n*284|0)+88>>2]|0;L=+g[f>>2]- +g[y+56>>2];N=+g[j>>2]- +g[y+60>>2];g[e+32>>2]=+g[k>>2]- +g[y+52>>2];g[e+36>>2]=L;g[e+40>>2]=N;g[e+44>>2]=0.0;s=c[b+36>>2]|0;N=h*+g[s+(n<<4)+4>>2];L=h*+g[s+(n<<4)+8>>2];g[e+16>>2]=+g[s+(n<<4)>>2]*h;g[e+20>>2]=N;g[e+24>>2]=L;g[e+28>>2]=0.0;s=c[b+116>>2]|0;q=c[b+124>>2]|0;L=+g[s+(q<<2)+4>>2];N=+g[s+(q<<2)+20>>2];R=+g[s+(q<<2)+36>>2];K=+g[e+64>>2];M=+g[e+68>>2];O=+g[e+72>>2];P=(L*K+N*M+R*O)*(1.0- +g[m+(n*284|0)+244>>2]);g[e+64>>2]=K-L*P;g[e+68>>2]=M-N*P;g[e+72>>2]=O-R*P;qm(s,e+16|0,e+64|0);P=-+g[e+20>>2];R=-+g[e+24>>2];g[e>>2]=-+g[e+16>>2];g[e+4>>2]=P;g[e+8>>2]=R;g[e+12>>2]=0.0;qm(y,e,e+32|0)}n=n+1|0;if((n|0)>=(c[b+136>>2]|0))break;m=c[b+144>>2]|0;l=c[b+56>>2]|0}i=e;return}function Uq(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;e=i;i=i+48|0;if((c[b+136>>2]|0)<=0){i=e;return}f=0;do{m=c[b+144>>2]|0;g[e+32>>2]=(a[m+(f*284|0)+84>>0]|0)==0?1.0:0.0;g[e+36>>2]=0.0;g[e+40>>2]=1.0;g[e+44>>2]=0.0;l=m+(f*284|0)+140|0;c[e+16>>2]=c[l+0>>2];c[e+20>>2]=c[l+4>>2];c[e+24>>2]=c[l+8>>2];c[e+28>>2]=c[l+12>>2];l=c[b+120>>2]|0;h=c[(c[d>>2]|0)+8>>2]|0;k=+g[m+(f*284|0)+(l<<2)+108>>2]+ +g[e+20>>2];j=+g[m+(f*284|0)+(l<<2)+124>>2]+ +g[e+24>>2];g[e>>2]=+g[m+(f*284|0)+(l<<2)+92>>2]+ +g[e+16>>2];g[e+4>>2]=k;g[e+8>>2]=j;g[e+12>>2]=0.0;vc[h&127](d,e+16|0,e,e+32|0);vc[c[(c[d>>2]|0)+8>>2]&127](d,e+16|0,(c[b+144>>2]|0)+(f*284|0)+16|0,e+32|0);f=f+1|0}while((f|0)<(c[b+136>>2]|0));i=e;return}function Vq(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]=336;c[h+20>>2]=c[d+0>>2];c[h+24>>2]=c[d+4>>2];c[h+28>>2]=c[d+8>>2];c[h+32>>2]=c[d+12>>2];c[h+36>>2]=c[e+0>>2];c[h+40>>2]=c[e+4>>2];c[h+44>>2]=c[e+8>>2];c[h+48>>2]=c[e+12>>2];a=c[a+4>>2]|0;vc[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);e=c[h+8>>2]|0;if((e|0)==0){a=0;i=h;return a|0}if((c[e+236>>2]&2|0)==0){a=0;i=h;return a|0}if((c[e+204>>2]&4|0)!=0){a=0;i=h;return a|0}c[f+0>>2]=c[h+68>>2];c[f+4>>2]=c[h+72>>2];c[f+8>>2]=c[h+76>>2];c[f+12>>2]=c[h+80>>2];c[f+16>>2]=c[h+52>>2];c[f+20>>2]=c[h+56>>2];c[f+24>>2]=c[h+60>>2];c[f+28>>2]=c[h+64>>2];m=+g[f+16>>2];l=+g[f+20>>2];k=+g[f+24>>2];j=1.0/+Q(+(m*m+l*l+k*k));g[f+16>>2]=m*j;g[f+20>>2]=l*j;g[f+24>>2]=k*j;g[f+32>>2]=+g[h+4>>2];a=e;i=h;return a|0}function Wq(a,b,d){a=a|0;b=b|0;d=+d;b=i;Kb[c[(c[a>>2]|0)+16>>2]&31](a,d);i=b;return}function Xq(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 Yq(a){a=a|0;return}function Zq(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function _q(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=3912;e=c[b+496>>2]|0;if((e|0)==0){a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0}else{if((a[b+500>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function $q(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 ar(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=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,A=0.0,B=0.0,C=0.0,D=0.0;e=i;c[b+236>>2]=2;c[b+312>>2]=0;c[b+316>>2]=0;c[b+320>>2]=0;c[b+324>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b+336>>2]=0;c[b+340>>2]=0;g[b+544>>2]=1.0;g[b+548>>2]=1.0;g[b+552>>2]=1.0;g[b+556>>2]=0.0;g[b+348>>2]=1.0;g[b+352>>2]=1.0;g[b+356>>2]=1.0;l=b+360|0;k=l+36|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(k|0));c[b+412>>2]=0;c[b+416>>2]=0;c[b+420>>2]=0;c[b+424>>2]=0;c[b+428>>2]=0;c[b+432>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;h=+g[d+92>>2];f=+g[d+96>>2];if(h<0.0)h=0.0;else h=h>1.0?1.0:h;g[b+444>>2]=h;if(f<0.0)f=0.0;else f=f>1.0?1.0:f;g[b+448>>2]=f;g[b+472>>2]=+g[d+112>>2];g[b+476>>2]=+g[d+116>>2];k=c[d+4>>2]|0;c[b+480>>2]=k;c[b+608>>2]=0;c[b+612>>2]=0;a[b+452>>0]=a[d+120>>0]|0;g[b+456>>2]=+g[d+124>>2];g[b+460>>2]=+g[d+128>>2];g[b+464>>2]=+g[d+132>>2];g[b+468>>2]=+g[d+136>>2];if((k|0)==0){c[b+4>>2]=c[d+8>>2];c[b+8>>2]=c[d+12>>2];c[b+12>>2]=c[d+16>>2];c[b+16>>2]=c[d+20>>2];c[b+20>>2]=c[d+24>>2];c[b+24>>2]=c[d+28>>2];c[b+28>>2]=c[d+32>>2];c[b+32>>2]=c[d+36>>2];c[b+36>>2]=c[d+40>>2];c[b+40>>2]=c[d+44>>2];c[b+44>>2]=c[d+48>>2];c[b+48>>2]=c[d+52>>2];c[b+52>>2]=c[d+56>>2];c[b+56>>2]=c[d+60>>2];c[b+60>>2]=c[d+64>>2];c[b+64>>2]=c[d+68>>2];n=b+52|0;m=b+20|0;k=b+36|0;l=b+4|0}else{Nb[c[(c[k>>2]|0)+8>>2]&127](k,b+4|0);n=b+52|0;m=b+20|0;k=b+36|0;l=b+4|0}c[b+68>>2]=c[l+0>>2];c[b+72>>2]=c[l+4>>2];c[b+76>>2]=c[l+8>>2];c[b+80>>2]=c[l+12>>2];c[b+84>>2]=c[m+0>>2];c[b+88>>2]=c[m+4>>2];c[b+92>>2]=c[m+8>>2];c[b+96>>2]=c[m+12>>2];c[b+100>>2]=c[k+0>>2];c[b+104>>2]=c[k+4>>2];c[b+108>>2]=c[k+8>>2];c[b+112>>2]=c[k+12>>2];c[b+116>>2]=c[n+0>>2];c[b+120>>2]=c[n+4>>2];c[b+124>>2]=c[n+8>>2];c[b+128>>2]=c[n+12>>2];c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+144>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;c[b+160>>2]=0;g[b+224>>2]=+g[d+100>>2];g[b+232>>2]=+g[d+104>>2];g[b+228>>2]=+g[d+108>>2];Nb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);k=c[986]|0;c[986]=k+1;c[b+508>>2]=k;h=+g[d>>2];k=c[b+204>>2]|0;if(h==0.0){c[b+204>>2]=k|1;g[b+344>>2]=0.0;f=0.0}else{c[b+204>>2]=k&-2;g[b+344>>2]=1.0/h;f=1.0/h}j=h*+g[b+384>>2];o=h*+g[b+388>>2];g[b+364>>2]=h*+g[b+380>>2];g[b+368>>2]=j;g[b+372>>2]=o;g[b+376>>2]=0.0;h=+g[d+76>>2];if(h!=0.0)h=1.0/h;else h=0.0;j=+g[d+80>>2];if(j!=0.0)j=1.0/j;else j=0.0;o=+g[d+84>>2];if(o!=0.0)o=1.0/o;else o=0.0;g[b+396>>2]=h;g[b+400>>2]=j;g[b+404>>2]=o;g[b+408>>2]=0.0;D=f*+g[b+352>>2];x=f*+g[b+356>>2];g[b+560>>2]=f*+g[b+348>>2];g[b+564>>2]=D;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];D=x*h;w=+g[b+8>>2];C=w*j;v=+g[b+12>>2];B=v*o;u=+g[b+20>>2];A=h*u;t=+g[b+24>>2];z=j*t;s=+g[b+28>>2];y=o*s;r=+g[b+36>>2];q=h*r;p=+g[b+40>>2];f=j*p;j=+g[b+44>>2];h=o*j;g[b+264>>2]=x*D+w*C+v*B;g[b+268>>2]=D*u+C*t+B*s;g[b+272>>2]=D*r+C*p+B*j;g[b+276>>2]=0.0;g[b+280>>2]=x*A+w*z+v*y;g[b+284>>2]=u*A+t*z+s*y;g[b+288>>2]=A*r+z*p+y*j;g[b+292>>2]=0.0;g[b+296>>2]=x*q+w*f+v*h;g[b+300>>2]=u*q+t*f+s*h;g[b+304>>2]=r*q+p*f+j*h;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+516>>2]=0;c[b+520>>2]=0;c[b+524>>2]=0;c[b+528>>2]=0;c[b+532>>2]=0;c[b+536>>2]=0;c[b+540>>2]=0;h=+g[b+344>>2];j=h*+g[b+352>>2];o=h*+g[b+356>>2];g[b+560>>2]=+g[b+348>>2]*h;g[b+564>>2]=j;g[b+568>>2]=o;l=b+572|0;k=l+36|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(k|0));i=e;return}function br(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;g[b+164>>2]=1.0;g[b+168>>2]=1.0;g[b+172>>2]=1.0;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749400.0;c[b+188>>2]=0;c[b+192>>2]=0;c[b+196>>2]=0;c[b+200>>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+252>>2]=0;c[b+256>>2]=0;c[b+260>>2]=0;g[b+4>>2]=1.0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[b+24>>2]=1.0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;g[b+44>>2]=1.0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+64>>2]=0;c[b>>2]=3912;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+0>>2];c[j+80>>2]=c[h+4>>2];c[j+84>>2]=c[h+8>>2];c[j+88>>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;g[j+8>>2]=1.0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;g[j+28>>2]=1.0;c[j+32>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;c[j+44>>2]=0;g[j+48>>2]=1.0;c[j+52>>2]=0;c[j+56>>2]=0;c[j+60>>2]=0;c[j+64>>2]=0;c[j+68>>2]=0;ar(b,j);i=j;return}function cr(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0.0,i=0;i=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=i|1;g[a+344>>2]=0.0;e=0.0}else{c[a+204>>2]=i&-2;g[a+344>>2]=1.0/b;e=1.0/b}f=+g[a+384>>2]*b;h=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=f;g[a+372>>2]=h;g[a+376>>2]=0.0;b=+g[d>>2];if(b!=0.0)b=1.0/b;else b=0.0;f=+g[d+4>>2];if(f!=0.0)f=1.0/f;else f=0.0;h=+g[d+8>>2];if(h!=0.0)h=1.0/h;else h=0.0;g[a+396>>2]=b;g[a+400>>2]=f;g[a+404>>2]=h;g[a+408>>2]=0.0;f=e*+g[a+352>>2];h=e*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*e;g[a+564>>2]=f;g[a+568>>2]=h;g[a+572>>2]=0.0;return}function dr(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.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;j=i;if((c[a+204>>2]&2|0)==0){c[a+68>>2]=c[b+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+88>>2]=c[b+20>>2];c[a+92>>2]=c[b+24>>2];c[a+96>>2]=c[b+28>>2];c[a+100>>2]=c[b+32>>2];c[a+104>>2]=c[b+36>>2];c[a+108>>2]=c[b+40>>2];c[a+112>>2]=c[b+44>>2];c[a+116>>2]=c[b+48>>2];c[a+120>>2]=c[b+52>>2];c[a+124>>2]=c[b+56>>2];c[a+128>>2]=c[b+60>>2];l=a+20|0;m=b+16|0;d=a+36|0;k=b+32|0;f=a+52|0;h=b+48|0;e=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+72>>2]=c[a+8>>2];c[a+76>>2]=c[a+12>>2];c[a+80>>2]=c[a+16>>2];c[a+84>>2]=c[a+20>>2];c[a+88>>2]=c[a+24>>2];c[a+92>>2]=c[a+28>>2];c[a+96>>2]=c[a+32>>2];c[a+100>>2]=c[a+36>>2];c[a+104>>2]=c[a+40>>2];c[a+108>>2]=c[a+44>>2];c[a+112>>2]=c[a+48>>2];c[a+116>>2]=c[a+52>>2];c[a+120>>2]=c[a+56>>2];c[a+124>>2]=c[a+60>>2];c[a+128>>2]=c[a+64>>2];l=a+20|0;m=b+16|0;d=a+36|0;k=b+32|0;f=a+52|0;h=b+48|0;e=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+136>>2]=c[a+316>>2];c[a+140>>2]=c[a+320>>2];c[a+144>>2]=c[a+324>>2];c[a+148>>2]=c[a+328>>2];c[a+152>>2]=c[a+332>>2];c[a+156>>2]=c[a+336>>2];c[a+160>>2]=c[a+340>>2];c[e+0>>2]=c[b+0>>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[l+0>>2]=c[m+0>>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];c[d+0>>2]=c[k+0>>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];c[f+0>>2]=c[h+0>>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];y=+g[a+4>>2];s=+g[a+396>>2];x=+g[a+8>>2];q=+g[a+400>>2];w=+g[a+12>>2];o=+g[a+404>>2];v=+g[a+20>>2];u=+g[a+24>>2];t=+g[a+28>>2];r=+g[a+36>>2];p=+g[a+40>>2];n=+g[a+44>>2];g[a+264>>2]=y*y*s+x*x*q+w*w*o;g[a+268>>2]=y*s*v+x*q*u+w*o*t;g[a+272>>2]=y*s*r+x*q*p+w*o*n;g[a+276>>2]=0.0;g[a+280>>2]=y*s*v+x*q*u+w*o*t;g[a+284>>2]=v*s*v+u*q*u+t*o*t;g[a+288>>2]=s*v*r+q*u*p+o*t*n;g[a+292>>2]=0.0;g[a+296>>2]=y*s*r+x*q*p+w*o*n;g[a+300>>2]=v*s*r+u*q*p+t*o*n;g[a+304>>2]=r*s*r+p*q*p+n*o*n;g[a+308>>2]=0.0;i=j;return}function er(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;a:do if((c[d+236>>2]&2|0)!=0?(f=c[b+488>>2]|0,(f|0)>0):0){b=c[b+496>>2]|0;g=0;while(1){h=c[b+(g<<2)>>2]|0;if((a[h+20>>0]|0)!=0){if((c[h+28>>2]|0)==(d|0)){d=0;break a}if((c[h+32>>2]|0)==(d|0)){d=0;break a}}g=g+1|0;if((g|0)>=(f|0)){d=1;break}}}else d=1;while(0);i=e;return d|0}function fr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=c[b+488>>2]|0;a:do if((h|0)>0){j=c[b+496>>2]|0;g=0;while(1){k=g+1|0;if((c[j+(g<<2)>>2]|0)==(d|0))break;if((k|0)<(h|0))g=k;else break a}if((g|0)!=(h|0)){k=b+256|0;c[k>>2]=1;i=e;return}}while(0);if((h|0)==(c[b+492>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[b+488>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[b+496>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+496>>2]|0;if((j|0)!=0){if((a[b+500>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=g;c[b+492>>2]=f}f=(c[b+496>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=d;c[b+488>>2]=h+1;k=b+256|0;c[k>>2]=1;i=e;return}function gr(a){a=a|0;return 488}function hr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;fu(a,b,e)|0;g[b+256>>2]=+g[a+264>>2];g[b+260>>2]=+g[a+268>>2];g[b+264>>2]=+g[a+272>>2];g[b+268>>2]=+g[a+276>>2];g[b+272>>2]=+g[a+280>>2];g[b+276>>2]=+g[a+284>>2];g[b+280>>2]=+g[a+288>>2];g[b+284>>2]=+g[a+292>>2];g[b+288>>2]=+g[a+296>>2];g[b+292>>2]=+g[a+300>>2];g[b+296>>2]=+g[a+304>>2];g[b+300>>2]=+g[a+308>>2];g[b+304>>2]=+g[a+312>>2];g[b+308>>2]=+g[a+316>>2];g[b+312>>2]=+g[a+320>>2];g[b+316>>2]=+g[a+324>>2];g[b+320>>2]=+g[a+328>>2];g[b+324>>2]=+g[a+332>>2];g[b+328>>2]=+g[a+336>>2];g[b+332>>2]=+g[a+340>>2];g[b+448>>2]=+g[a+344>>2];g[b+336>>2]=+g[a+544>>2];g[b+340>>2]=+g[a+548>>2];g[b+344>>2]=+g[a+552>>2];g[b+348>>2]=+g[a+556>>2];g[b+352>>2]=+g[a+348>>2];g[b+356>>2]=+g[a+352>>2];g[b+360>>2]=+g[a+356>>2];g[b+364>>2]=+g[a+360>>2];g[b+368>>2]=+g[a+364>>2];g[b+372>>2]=+g[a+368>>2];g[b+376>>2]=+g[a+372>>2];g[b+380>>2]=+g[a+376>>2];g[b+384>>2]=+g[a+380>>2];g[b+388>>2]=+g[a+384>>2];g[b+392>>2]=+g[a+388>>2];g[b+396>>2]=+g[a+392>>2];g[b+400>>2]=+g[a+396>>2];g[b+404>>2]=+g[a+400>>2];g[b+408>>2]=+g[a+404>>2];g[b+412>>2]=+g[a+408>>2];g[b+416>>2]=+g[a+412>>2];g[b+420>>2]=+g[a+416>>2];g[b+424>>2]=+g[a+420>>2];g[b+428>>2]=+g[a+424>>2];g[b+432>>2]=+g[a+428>>2];g[b+436>>2]=+g[a+432>>2];g[b+440>>2]=+g[a+436>>2];g[b+444>>2]=+g[a+440>>2];g[b+452>>2]=+g[a+444>>2];g[b+456>>2]=+g[a+448>>2];c[b+484>>2]=d[a+452>>0];g[b+460>>2]=+g[a+456>>2];g[b+464>>2]=+g[a+460>>2];g[b+468>>2]=+g[a+464>>2];g[b+472>>2]=+g[a+468>>2];g[b+476>>2]=+g[a+472>>2];g[b+480>>2]=+g[a+476>>2];i=f;return 3952}function ir(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[(c[b>>2]|0)+16>>2]|0;f=Pb[c[(c[a>>2]|0)+16>>2]&127](a)|0;f=Yb[e&31](b,f,1)|0;e=Yb[c[(c[a>>2]|0)+20>>2]&31](a,c[f+8>>2]|0,b)|0;Jb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1497645650,a);i=d;return}function jr(a){a=a|0;var b=0;b=i;kr(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function kr(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=4024;e=c[b+176>>2]|0;if((e|0)!=0){if((a[b+180>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+156>>2]|0;if((e|0)!=0){if((a[b+160>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+136>>2]|0;if((e|0)!=0){if((a[b+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+116>>2]|0;if((e|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+96>>2]|0;if((e|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+76>>2]|0;if((e|0)!=0){if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+56>>2]|0;if((e|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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+36>>2]|0;if((e|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}function lr(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,l=0.0,m=0.0;j=i;k=+g[d+100>>2];h=+g[d+16>>2];e=+g[d+20>>2];f=+g[d+24>>2];l=+g[d+108>>2];l=+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]))*l-l*(+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]));m=+g[d+120>>2];do if(!(k+l>2];if(k+l>m){g[d+100>>2]=m;l=m-k;break}else{g[d+100>>2]=k+l;break}}else{g[d+100>>2]=m;l=m-k}while(0);if((c[a+240>>2]|0)!=0){m=l*+g[a+132>>2]*e*+g[a+116>>2];k=l*+g[a+136>>2]*f*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*l*+g[a+128>>2]*h+ +g[a+64>>2];g[a+68>>2]=m+ +g[a+68>>2];g[a+72>>2]=k+ +g[a+72>>2];k=l*+g[a+100>>2]*+g[d+68>>2];m=l*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=l*+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]=m+ +g[a+88>>2]}if((c[b+240>>2]|0)==0){i=j;return}m=l*+g[b+132>>2]*+g[d+52>>2]*+g[b+116>>2];k=l*+g[b+136>>2]*+g[d+56>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*l*+g[b+128>>2]*+g[d+48>>2]+ +g[b+64>>2];g[b+68>>2]=m+ +g[b+68>>2];g[b+72>>2]=k+ +g[b+72>>2];k=l*+g[b+100>>2]*+g[d+84>>2];m=l*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=l*+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]=m+ +g[b+88>>2];i=j;return}function mr(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,l=0.0,m=0.0,n=0.0;j=i;m=+g[d+100>>2];h=+g[d+16>>2];e=+g[d+20>>2];f=+g[d+24>>2];n=+g[d+108>>2];n=+g[d+112>>2]-m*+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]))*n-n*(+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];if(m+n>2]=l;if((c[a+240>>2]|0)!=0){n=k*+g[a+132>>2]*e*+g[a+116>>2];m=k*+g[a+136>>2]*f*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*k*+g[a+128>>2]*h+ +g[a+64>>2];g[a+68>>2]=n+ +g[a+68>>2];g[a+72>>2]=m+ +g[a+72>>2];m=k*+g[a+100>>2]*+g[d+68>>2];n=k*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=k*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=m+ +g[a+84>>2];g[a+88>>2]=n+ +g[a+88>>2]}if((c[b+240>>2]|0)==0){i=j;return}n=k*+g[b+132>>2]*+g[d+52>>2]*+g[b+116>>2];m=k*+g[b+136>>2]*+g[d+56>>2]*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*k*+g[b+128>>2]*+g[d+48>>2]+ +g[b+64>>2];g[b+68>>2]=n+ +g[b+68>>2];g[b+72>>2]=m+ +g[b+72>>2];m=k*+g[b+100>>2]*+g[d+84>>2];n=k*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=k*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=m+ +g[b+84>>2];g[b+88>>2]=n+ +g[b+88>>2];i=j;return}function nr(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,l=0.0,m=0.0,n=0.0;j=i;l=+g[d+128>>2];if(!(l!=0.0)){i=j;return}c[1002]=(c[1002]|0)+1;k=+g[d+96>>2];f=+g[d+16>>2];h=+g[d+20>>2];e=+g[d+24>>2];n=+g[d+108>>2];n=l-k*+g[d+116>>2]-(f*+g[a+144>>2]+h*+g[a+148>>2]+e*+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]))*n-n*(+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]));m=+g[d+120>>2];if(k+n>2]=m;if((c[a+240>>2]|0)!=0){n=l*+g[a+132>>2]*h*+g[a+116>>2];m=l*+g[a+136>>2]*e*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*l*+g[a+128>>2]*f+ +g[a+144>>2];g[a+148>>2]=n+ +g[a+148>>2];g[a+152>>2]=m+ +g[a+152>>2];m=l*+g[a+100>>2]*+g[d+68>>2];n=l*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=l*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=m+ +g[a+164>>2];g[a+168>>2]=n+ +g[a+168>>2]}if((c[b+240>>2]|0)==0){i=j;return}n=l*+g[b+132>>2]*+g[d+52>>2]*+g[b+116>>2];m=l*+g[b+136>>2]*+g[d+56>>2]*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*l*+g[b+128>>2]*+g[d+48>>2]+ +g[b+144>>2];g[b+148>>2]=n+ +g[b+148>>2];g[b+152>>2]=m+ +g[b+152>>2];m=l*+g[b+100>>2]*+g[d+84>>2];n=l*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=l*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=m+ +g[b+164>>2];g[b+168>>2]=n+ +g[b+168>>2];i=j;return}function or(a,b,d){a=a|0;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,o=0;e=i;if(!((b|0)!=0?(c[b+236>>2]&2|0)!=0:0))b=0;f=(b|0)==0;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=0;c[a+80>>2]=0;c[a+84>>2]=0;c[a+88>>2]=0;c[a+92>>2]=0;c[a+144>>2]=0;c[a+148>>2]=0;c[a+152>>2]=0;c[a+156>>2]=0;c[a+160>>2]=0;c[a+164>>2]=0;c[a+168>>2]=0;c[a+172>>2]=0;if(f){g[a>>2]=1.0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;g[a+20>>2]=1.0;c[a+24>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;g[a+40>>2]=1.0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;g[a+96>>2]=1.0;g[a+100>>2]=1.0;g[a+104>>2]=1.0;g[a+108>>2]=0.0;g[a+112>>2]=1.0;g[a+116>>2]=1.0;g[a+120>>2]=1.0;g[a+124>>2]=0.0;b=a+176|0;a=b+64|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));i=e;return}else{f=b+4|0;c[a+0>>2]=c[f+0>>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];f=b+20|0;c[a+16>>2]=c[f+0>>2];c[a+20>>2]=c[f+4>>2];c[a+24>>2]=c[f+8>>2];c[a+28>>2]=c[f+12>>2];f=b+36|0;c[a+32>>2]=c[f+0>>2];c[a+36>>2]=c[f+4>>2];c[a+40>>2]=c[f+8>>2];c[a+44>>2]=c[f+12>>2];f=b+52|0;c[a+48>>2]=c[f+0>>2];c[a+52>>2]=c[f+4>>2];c[a+56>>2]=c[f+8>>2];c[a+60>>2]=c[f+12>>2];f=b+344|0;m=+g[f>>2];n=b+348|0;l=m*+g[b+352>>2];k=m*+g[b+356>>2];g[a+128>>2]=m*+g[n>>2];g[a+132>>2]=l;g[a+136>>2]=k;g[a+140>>2]=0.0;c[a+240>>2]=b;o=b+544|0;c[a+96>>2]=c[o+0>>2];c[a+100>>2]=c[o+4>>2];c[a+104>>2]=c[o+8>>2];c[a+108>>2]=c[o+12>>2];c[a+112>>2]=c[n+0>>2];c[a+116>>2]=c[n+4>>2];c[a+120>>2]=c[n+8>>2];c[a+124>>2]=c[n+12>>2];n=b+312|0;c[a+176>>2]=c[n+0>>2];c[a+180>>2]=c[n+4>>2];c[a+184>>2]=c[n+8>>2];c[a+188>>2]=c[n+12>>2];n=b+328|0;c[a+192>>2]=c[n+0>>2];c[a+196>>2]=c[n+4>>2];c[a+200>>2]=c[n+8>>2];c[a+204>>2]=c[n+12>>2];k=+g[f>>2];l=k*+g[b+416>>2]*d;m=k*+g[b+420>>2]*d;g[a+208>>2]=k*+g[b+412>>2]*d;g[a+212>>2]=l;g[a+216>>2]=m;g[a+220>>2]=0.0;m=+g[b+428>>2];l=+g[b+432>>2];k=+g[b+436>>2];j=(m*+g[b+268>>2]+l*+g[b+284>>2]+k*+g[b+300>>2])*d;h=(m*+g[b+272>>2]+l*+g[b+288>>2]+k*+g[b+304>>2])*d;g[a+224>>2]=(+g[b+264>>2]*m+ +g[b+280>>2]*l+ +g[b+296>>2]*k)*d;g[a+228>>2]=j;g[a+232>>2]=h;g[a+236>>2]=0.0;i=e;return}}function pr(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,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;d=i;if((a|0)==0){i=d;return}if((c[a+180>>2]&1|0)==0){i=d;return}r=+g[a+4>>2];t=+g[b>>2];o=+g[a+20>>2];s=+g[b+4>>2];l=+g[a+36>>2];e=+g[b+8>>2];q=+g[a+8>>2];n=+g[a+24>>2];j=+g[a+40>>2];p=+g[a+12>>2];m=+g[a+28>>2];f=+g[a+44>>2];k=(r*t+o*s+l*e)*+g[a+164>>2];h=(t*q+s*n+e*j)*+g[a+168>>2];e=(t*p+s*m+e*f)*+g[a+172>>2];g[b>>2]=r*k+q*h+p*e;g[b+4>>2]=o*k+n*h+m*e;g[b+8>>2]=l*k+j*h+f*e;g[b+12>>2]=0.0;i=d;return}function qr(b,d,e,f,h,j,k,l,m,n,o){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;n=+n;o=+o;var p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=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.0,H=0.0,I=0.0;q=i;p=c[b+68>>2]|0;if((p|0)==(c[b+72>>2]|0)?(r=(p|0)==0?1:p<<1,(p|0)<(r|0)):0){if((r|0)==0){x=0;F=p}else{c[5004]=(c[5004]|0)+1;x=XE((r*152|3)+16|0)|0;if((x|0)==0)x=0;else{c[(x+19&-16)+ -4>>2]=x;x=x+19&-16}F=c[b+68>>2]|0}if((F|0)>0){E=0;do{cF(x+(E*152|0)|0,(c[b+76>>2]|0)+(E*152|0)|0,152)|0;E=E+1|0}while((E|0)!=(F|0))}E=c[b+76>>2]|0;if((E|0)!=0){if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[E+ -4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=x;c[b+72>>2]=r;r=c[b+68>>2]|0}else r=p;c[b+68>>2]=r+1;r=c[b+76>>2]|0;c[r+(p*152|0)+140>>2]=h;h=c[b+16>>2]|0;x=c[h+(e*244|0)+240>>2]|0;b=c[h+(f*244|0)+240>>2]|0;c[r+(p*152|0)+144>>2]=e;c[r+(p*152|0)+148>>2]=f;v=+g[j+84>>2];g[r+(p*152|0)+104>>2]=v;c[r+(p*152|0)+132>>2]=0;g[r+(p*152|0)+100>>2]=0.0;g[r+(p*152|0)+96>>2]=0.0;if((x|0)!=0){c[r+(p*152|0)+16>>2]=c[d+0>>2];c[r+(p*152|0)+20>>2]=c[d+4>>2];c[r+(p*152|0)+24>>2]=c[d+8>>2];c[r+(p*152|0)+28>>2]=c[d+12>>2];B=+g[k+4>>2];C=+g[r+(p*152|0)+24>>2];D=+g[k+8>>2];w=+g[r+(p*152|0)+20>>2];y=+g[r+(p*152|0)+16>>2];u=+g[k>>2];g[r+(p*152|0)>>2]=B*C-D*w;g[r+(p*152|0)+4>>2]=D*y-C*u;g[r+(p*152|0)+8>>2]=w*u-B*y;g[r+(p*152|0)+12>>2]=0.0;z=((B*C-D*w)*+g[x+280>>2]+(D*y-C*u)*+g[x+284>>2]+(w*u-B*y)*+g[x+288>>2])*+g[x+548>>2];A=((B*C-D*w)*+g[x+296>>2]+(D*y-C*u)*+g[x+300>>2]+(w*u-B*y)*+g[x+304>>2])*+g[x+552>>2];g[r+(p*152|0)+64>>2]=((B*C-D*w)*+g[x+264>>2]+ +g[x+268>>2]*(D*y-C*u)+(w*u-B*y)*+g[x+272>>2])*+g[x+544>>2];g[r+(p*152|0)+68>>2]=z;g[r+(p*152|0)+72>>2]=A;g[r+(p*152|0)+76>>2]=0.0;w=B*C-D*w}else{c[r+(p*152|0)+64>>2]=0;c[r+(p*152|0)+68>>2]=0;c[r+(p*152|0)+72>>2]=0;c[r+(p*152|0)+76>>2]=0;c[r+(p*152|0)+0>>2]=0;c[r+(p*152|0)+4>>2]=0;c[r+(p*152|0)+8>>2]=0;c[r+(p*152|0)+12>>2]=0;c[r+(p*152|0)+16>>2]=0;c[r+(p*152|0)+20>>2]=0;c[r+(p*152|0)+24>>2]=0;c[r+(p*152|0)+28>>2]=0;w=0.0}if((b|0)!=0){u=-+g[d>>2];C=-+g[d+4>>2];s=-+g[d+8>>2];g[r+(p*152|0)+48>>2]=u;g[r+(p*152|0)+52>>2]=C;g[r+(p*152|0)+56>>2]=s;g[r+(p*152|0)+60>>2]=0.0;D=+g[l+4>>2];G=+g[l+8>>2];A=+g[l>>2];g[r+(p*152|0)+32>>2]=D*s-G*C;g[r+(p*152|0)+36>>2]=G*u-A*s;g[r+(p*152|0)+40>>2]=A*C-D*u;g[r+(p*152|0)+44>>2]=0.0;B=((D*s-G*C)*+g[b+264>>2]+ +g[b+268>>2]*(G*u-A*s)+(A*C-D*u)*+g[b+272>>2])*+g[b+544>>2];z=((D*s-G*C)*+g[b+280>>2]+(G*u-A*s)*+g[b+284>>2]+(A*C-D*u)*+g[b+288>>2])*+g[b+548>>2];y=((D*s-G*C)*+g[b+296>>2]+(G*u-A*s)*+g[b+300>>2]+(A*C-D*u)*+g[b+304>>2])*+g[b+552>>2];g[r+(p*152|0)+80>>2]=B;g[r+(p*152|0)+84>>2]=z;g[r+(p*152|0)+88>>2]=y;g[r+(p*152|0)+92>>2]=0.0;t=D*s-G*C;s=G*u-A*s;u=A*C-D*u}else{c[r+(p*152|0)+80>>2]=0;c[r+(p*152|0)+84>>2]=0;c[r+(p*152|0)+88>>2]=0;c[r+(p*152|0)+92>>2]=0;c[r+(p*152|0)+32>>2]=0;c[r+(p*152|0)+36>>2]=0;c[r+(p*152|0)+40>>2]=0;c[r+(p*152|0)+44>>2]=0;c[r+(p*152|0)+48>>2]=0;c[r+(p*152|0)+52>>2]=0;c[r+(p*152|0)+56>>2]=0;c[r+(p*152|0)+60>>2]=0;B=0.0;z=0.0;y=0.0;t=0.0;s=0.0;u=0.0}if((x|0)!=0){G=+g[r+(p*152|0)+68>>2];H=+g[k+8>>2];I=+g[r+(p*152|0)+72>>2];C=+g[k+4>>2];A=+g[k>>2];D=+g[r+(p*152|0)+64>>2];A=+g[x+344>>2]+((G*H-I*C)*+g[d>>2]+(I*A-H*D)*+g[d+4>>2]+(C*D-G*A)*+g[d+8>>2])}else A=0.0;if((b|0)!=0){H=-B;I=-z;C=-y;D=+g[l+8>>2];G=+g[l+4>>2];y=+g[l>>2];y=+g[b+344>>2]+((D*I-G*C)*+g[d>>2]+(y*C-D*H)*+g[d+4>>2]+(G*H-y*I)*+g[d+8>>2])}else y=0.0;m=m/(A+y);g[r+(p*152|0)+108>>2]=m;if((x|0)!=0){z=+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2];y=+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2];A=+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2]}else{z=0.0;y=0.0;A=0.0}if((x|0)!=0){B=+g[h+(e*244|0)+192>>2];C=+g[h+(e*244|0)+196>>2];D=+g[h+(e*244|0)+200>>2]}else{B=0.0;C=0.0;D=0.0}w=z*+g[r+(p*152|0)+16>>2]+y*+g[r+(p*152|0)+20>>2]+A*+g[r+(p*152|0)+24>>2]+(B*w+C*+g[r+(p*152|0)+4>>2]+D*+g[r+(p*152|0)+8>>2]);if((b|0)!=0){y=+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2];A=+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2];z=+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2]}else{y=0.0;A=0.0;z=0.0}y=y*+g[r+(p*152|0)+48>>2]+A*+g[r+(p*152|0)+52>>2]+z*+g[r+(p*152|0)+56>>2];if((b|0)==0){G=0.0;H=0.0;I=0.0;G=G*t;H=H*s;H=G+H;I=I*u;I=H+I;I=y+I;I=w+I;I=n-I;I=m*I;F=r+(p*152|0)+112|0;g[F>>2]=I;F=r+(p*152|0)+116|0;g[F>>2]=o;I=-v;F=r+(p*152|0)+120|0;g[F>>2]=I;F=r+(p*152|0)+124|0;g[F>>2]=v;i=q;return}G=+g[h+(f*244|0)+192>>2];H=+g[h+(f*244|0)+196>>2];I=+g[h+(f*244|0)+200>>2];G=G*t;H=H*s;H=G+H;I=I*u;I=H+I;I=y+I;I=w+I;I=n-I;I=m*I;F=r+(p*152|0)+112|0;g[F>>2]=I;F=r+(p*152|0)+116|0;g[F>>2]=o;I=-v;F=r+(p*152|0)+120|0;g[F>>2]=I;F=r+(p*152|0)+124|0;g[F>>2]=v;i=q;return}function rr(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.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,C=0;l=i;k=c[b+88>>2]|0;if((k|0)==(c[b+92>>2]|0)?(m=(k|0)==0?1:k<<1,(k|0)<(m|0)):0){if((m|0)==0){u=0;B=k}else{c[5004]=(c[5004]|0)+1;u=XE((m*152|3)+16|0)|0;if((u|0)==0)u=0;else{c[(u+19&-16)+ -4>>2]=u;u=u+19&-16}B=c[b+88>>2]|0}if((B|0)>0){C=0;do{cF(u+(C*152|0)|0,(c[b+96>>2]|0)+(C*152|0)|0,152)|0;C=C+1|0}while((C|0)!=(B|0))}B=c[b+96>>2]|0;if((B|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[B+ -4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=u;c[b+92>>2]=m;m=c[b+88>>2]|0}else m=k;c[b+88>>2]=m+1;m=c[b+96>>2]|0;c[m+(k*152|0)+140>>2]=h;c[m+(k*152|0)+16>>2]=0;c[m+(k*152|0)+20>>2]=0;c[m+(k*152|0)+24>>2]=0;c[m+(k*152|0)+28>>2]=0;g[m+(k*152|0)+48>>2]=-0.0;g[m+(k*152|0)+52>>2]=-0.0;g[m+(k*152|0)+56>>2]=-0.0;g[m+(k*152|0)+60>>2]=0.0;b=c[b+16>>2]|0;u=c[b+(e*244|0)+240>>2]|0;h=c[b+(f*244|0)+240>>2]|0;c[m+(k*152|0)+144>>2]=e;c[m+(k*152|0)+148>>2]=f;n=+g[j+88>>2];g[m+(k*152|0)+104>>2]=n;c[m+(k*152|0)+132>>2]=0;g[m+(k*152|0)+100>>2]=0.0;g[m+(k*152|0)+96>>2]=0.0;o=-+g[d>>2];p=-+g[d+4>>2];q=-+g[d+8>>2];g[m+(k*152|0)>>2]=o;g[m+(k*152|0)+4>>2]=p;g[m+(k*152|0)+8>>2]=q;g[m+(k*152|0)+12>>2]=0.0;if((u|0)!=0){s=(+g[u+264>>2]*o+ +g[u+268>>2]*p+ +g[u+272>>2]*q)*+g[u+544>>2];r=(+g[u+280>>2]*o+ +g[u+284>>2]*p+ +g[u+288>>2]*q)*+g[u+548>>2];t=(+g[u+296>>2]*o+ +g[u+300>>2]*p+ +g[u+304>>2]*q)*+g[u+552>>2]}else{s=0.0;r=0.0;t=0.0}g[m+(k*152|0)+64>>2]=s;g[m+(k*152|0)+68>>2]=r;g[m+(k*152|0)+72>>2]=t;g[m+(k*152|0)+76>>2]=0.0;t=+g[d>>2];s=+g[d+4>>2];r=+g[d+8>>2];A=+g[d+12>>2];g[m+(k*152|0)+32>>2]=t;g[m+(k*152|0)+36>>2]=s;g[m+(k*152|0)+40>>2]=r;g[m+(k*152|0)+44>>2]=A;if((h|0)!=0){w=(t*+g[h+264>>2]+s*+g[h+268>>2]+r*+g[h+272>>2])*+g[h+544>>2];v=(t*+g[h+280>>2]+s*+g[h+284>>2]+r*+g[h+288>>2])*+g[h+548>>2];x=(t*+g[h+296>>2]+s*+g[h+300>>2]+r*+g[h+304>>2])*+g[h+552>>2]}else{w=0.0;v=0.0;x=0.0}g[m+(k*152|0)+80>>2]=w;g[m+(k*152|0)+84>>2]=v;g[m+(k*152|0)+88>>2]=x;g[m+(k*152|0)+92>>2]=0.0;if((u|0)!=0){A=+g[u+264>>2]*o+ +g[u+268>>2]*p+ +g[u+272>>2]*q;z=+g[u+280>>2]*o+ +g[u+284>>2]*p+ +g[u+288>>2]*q;w=+g[u+296>>2]*o+ +g[u+300>>2]*p+ +g[u+304>>2]*q}else{A=0.0;z=0.0;w=0.0}if((h|0)!=0){v=+g[h+264>>2]*t+ +g[h+268>>2]*s+ +g[h+272>>2]*r;y=t*+g[h+280>>2]+s*+g[h+284>>2]+r*+g[h+288>>2];x=t*+g[h+296>>2]+s*+g[h+300>>2]+r*+g[h+304>>2]}else{v=0.0;y=0.0;x=0.0}v=1.0/(A*o+z*p+w*q+0.0+(v*t+y*s+x*r));g[m+(k*152|0)+108>>2]=v;if((u|0)!=0){y=+g[b+(e*244|0)+192>>2];x=+g[b+(e*244|0)+196>>2];w=+g[b+(e*244|0)+200>>2];z=(+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{y=0.0;x=0.0;w=0.0;z=0.0}o=z+(y*o+x*p+w*q);if((h|0)==0){x=0.0;y=0.0;A=0.0;z=-0.0;x=x*t;y=y*s;y=x+y;A=A*r;A=y+A;A=z+A;A=o+A;A=0.0-A;A=v*A;C=m+(k*152|0)+112|0;g[C>>2]=A;C=m+(k*152|0)+116|0;g[C>>2]=0.0;A=-n;C=m+(k*152|0)+120|0;g[C>>2]=A;C=m+(k*152|0)+124|0;g[C>>2]=n;i=l;return}x=+g[b+(f*244|0)+192>>2];y=+g[b+(f*244|0)+196>>2];A=+g[b+(f*244|0)+200>>2];z=(+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;x=x*t;y=y*s;y=x+y;A=A*r;A=y+A;A=z+A;A=o+A;A=0.0-A;A=v*A;C=m+(k*152|0)+112|0;g[C>>2]=A;C=m+(k*152|0)+116|0;g[C>>2]=0.0;A=-n;C=m+(k*152|0)+120|0;g[C>>2]=A;C=m+(k*152|0)+124|0;g[C>>2]=n;i=l;return}function sr(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0;e=i;i=i+496|0;f=c[b+212>>2]|0;if((f|0)>-1){b=f;i=e;return b|0}do if((c[b+236>>2]&2|0)!=0){if(!(+g[b+344>>2]!=0.0)?(c[b+204>>2]&2|0)==0:0)break;f=c[a+8>>2]|0;$E(e+244|0,0,244)|0;or(tr(a+4|0,e+244|0)|0,b,d);c[b+212>>2]=f;b=f;i=e;return b|0}while(0);f=c[a+188>>2]|0;if((f|0)>=0){b=f;i=e;return b|0}c[a+188>>2]=c[a+8>>2];$E(e|0,0,244)|0;or(tr(a+4|0,e)|0,0,d);b=c[a+188>>2]|0;i=e;return b|0}function tr(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;e=i;f=c[b+4>>2]|0;if((f|0)==(c[b+8>>2]|0)?(g=(f|0)==0?1:f<<1,(f|0)<(g|0)):0){if((g|0)==0){h=0;j=f}else{c[5004]=(c[5004]|0)+1;h=XE((g*244|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+4>>2]|0}if((j|0)>0){k=0;do{m=h+(k*244|0)|0;l=c[b+12>>2]|0;n=l+(k*244|0)|0;c[m+0>>2]=c[n+0>>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=h+(k*244|0)+16|0;n=l+(k*244|0)+16|0;c[m+0>>2]=c[n+0>>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=h+(k*244|0)+32|0;n=l+(k*244|0)+32|0;c[m+0>>2]=c[n+0>>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=h+(k*244|0)+48|0;n=l+(k*244|0)+48|0;c[m+0>>2]=c[n+0>>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];cF(h+(k*244|0)+64|0,l+(k*244|0)+64|0,180)|0;k=k+1|0}while((k|0)!=(j|0))}j=c[b+12>>2]|0;if((j|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=h;c[b+8>>2]=g;g=c[b+4>>2]|0}else g=f;c[b+4>>2]=g+1;n=c[b+12>>2]|0;c[n+(f*244|0)+0>>2]=c[d+0>>2];c[n+(f*244|0)+4>>2]=c[d+4>>2];c[n+(f*244|0)+8>>2]=c[d+8>>2];c[n+(f*244|0)+12>>2]=c[d+12>>2];c[n+(f*244|0)+16>>2]=c[d+16>>2];c[n+(f*244|0)+20>>2]=c[d+20>>2];c[n+(f*244|0)+24>>2]=c[d+24>>2];c[n+(f*244|0)+28>>2]=c[d+28>>2];c[n+(f*244|0)+32>>2]=c[d+32>>2];c[n+(f*244|0)+36>>2]=c[d+36>>2];c[n+(f*244|0)+40>>2]=c[d+40>>2];c[n+(f*244|0)+44>>2]=c[d+44>>2];c[n+(f*244|0)+48>>2]=c[d+48>>2];c[n+(f*244|0)+52>>2]=c[d+52>>2];c[n+(f*244|0)+56>>2]=c[d+56>>2];c[n+(f*244|0)+60>>2]=c[d+60>>2];cF(n+(f*244|0)+64|0,d+64|0,180)|0;i=e;return(c[b+12>>2]|0)+(f*244|0)|0}function ur(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,u=0,v=0,w=0.0,x=0,y=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.0,K=0,L=0.0,M=0.0,N=0.0,O=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.0,ba=0.0,ca=0.0;r=i;i=i+80|0;if((e|0)<=0){i=r;return}k=0;do{l=c[d+(k<<2)>>2]|0;h=c[l+740>>2]|0;q=c[l+744>>2]|0;m=sr(b,h,+g[f+12>>2])|0;n=sr(b,q,+g[f+12>>2])|0;o=c[b+16>>2]|0;do if((o+(m*244|0)|0)!=0){if((+g[o+(m*244|0)+128>>2]==0.0?+g[o+(m*244|0)+132>>2]==0.0:0)?+g[o+(m*244|0)+136>>2]==0.0:0){if((o+(n*244|0)|0)==0)break;if((+g[o+(n*244|0)+128>>2]==0.0?+g[o+(n*244|0)+132>>2]==0.0:0)?+g[o+(n*244|0)+136>>2]==0.0:0)break}t=c[l+748>>2]|0;if((t|0)>0){s=0;F=1;do{u=l+(s*184|0)+4|0;K=l+(s*184|0)+84|0;if(+g[K>>2]<=+g[l+756>>2]){t=c[b+28>>2]|0;if((t|0)==(c[b+32>>2]|0)?(p=(t|0)==0?1:t<<1,(t|0)<(p|0)):0){if((p|0)==0){v=0;y=t}else{c[5004]=(c[5004]|0)+1;v=XE((p*152|3)+16|0)|0;if((v|0)==0)v=0;else{c[(v+19&-16)+ -4>>2]=v;v=v+19&-16}y=c[b+28>>2]|0}if((y|0)>0){x=0;do{cF(v+(x*152|0)|0,(c[b+36>>2]|0)+(x*152|0)|0,152)|0;x=x+1|0}while((x|0)!=(y|0))}x=c[b+36>>2]|0;if((x|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=v;c[b+32>>2]=p;v=c[b+28>>2]|0}else v=t;c[b+28>>2]=v+1;v=c[b+36>>2]|0;H=(c[h+236>>2]&2|0)==0?0:h;G=(c[q+236>>2]&2|0)==0?0:q;c[v+(t*152|0)+144>>2]=m;c[v+(t*152|0)+148>>2]=n;c[v+(t*152|0)+132>>2]=u;S=+g[l+(s*184|0)+52>>2]- +g[h+52>>2];T=+g[l+(s*184|0)+56>>2]- +g[h+56>>2];U=+g[l+(s*184|0)+60>>2]- +g[h+60>>2];g[r+64>>2]=S;g[r+68>>2]=T;g[r+72>>2]=U;g[r+76>>2]=0.0;L=+g[l+(s*184|0)+36>>2]- +g[q+52>>2];M=+g[l+(s*184|0)+40>>2]- +g[q+56>>2];N=+g[l+(s*184|0)+44>>2]- +g[q+60>>2];g[r+48>>2]=L;g[r+52>>2]=M;g[r+56>>2]=N;g[r+60>>2]=0.0;if((c[o+(m*244|0)+240>>2]|0)==0){w=0.0;D=0.0;C=0.0}else{aa=+g[o+(m*244|0)+192>>2]+ +g[o+(m*244|0)+224>>2];C=+g[o+(m*244|0)+196>>2]+ +g[o+(m*244|0)+228>>2];D=+g[o+(m*244|0)+200>>2]+ +g[o+(m*244|0)+232>>2];w=+g[o+(m*244|0)+176>>2]+ +g[o+(m*244|0)+208>>2]+(C*U-D*T);D=+g[o+(m*244|0)+180>>2]+ +g[o+(m*244|0)+212>>2]+(D*S-aa*U);C=+g[o+(m*244|0)+184>>2]+ +g[o+(m*244|0)+216>>2]+(aa*T-C*S)}if((c[o+(n*244|0)+240>>2]|0)==0){E=0.0;A=0.0;B=0.0}else{aa=+g[o+(n*244|0)+192>>2]+ +g[o+(n*244|0)+224>>2];B=+g[o+(n*244|0)+196>>2]+ +g[o+(n*244|0)+228>>2];A=+g[o+(n*244|0)+200>>2]+ +g[o+(n*244|0)+232>>2];E=+g[o+(n*244|0)+176>>2]+ +g[o+(n*244|0)+208>>2]+(B*N-A*M);A=+g[o+(n*244|0)+180>>2]+ +g[o+(n*244|0)+212>>2]+(A*L-aa*N);B=+g[o+(n*244|0)+184>>2]+ +g[o+(n*244|0)+216>>2]+(aa*M-B*L)}w=w-E;A=D-A;D=C-B;y=l+(s*184|0)+68|0;C=+g[y>>2];z=l+(s*184|0)+72|0;B=+g[z>>2];x=l+(s*184|0)+76|0;E=+g[x>>2];I=c[b+16>>2]|0;R=c[I+(m*244|0)+240>>2]|0;O=c[I+(n*244|0)+240>>2]|0;if((R|0)!=0){_=((T*E-U*B)*+g[R+264>>2]+(U*C-E*S)*+g[R+268>>2]+(B*S-T*C)*+g[R+272>>2])*+g[R+544>>2];aa=((T*E-U*B)*+g[R+280>>2]+(U*C-E*S)*+g[R+284>>2]+(B*S-T*C)*+g[R+288>>2])*+g[R+548>>2];$=((T*E-U*B)*+g[R+296>>2]+(U*C-E*S)*+g[R+300>>2]+(B*S-T*C)*+g[R+304>>2])*+g[R+552>>2]}else{_=0.0;aa=0.0;$=0.0}g[v+(t*152|0)+64>>2]=_;g[v+(t*152|0)+68>>2]=aa;g[v+(t*152|0)+72>>2]=$;g[v+(t*152|0)+76>>2]=0.0;W=+g[x>>2];V=+g[z>>2];J=+g[y>>2];if((O|0)!=0){X=(+g[O+264>>2]*-(M*W-N*V)+ +g[O+268>>2]*-(N*J-W*L)+ +g[O+272>>2]*-(V*L-M*J))*+g[O+544>>2];Y=(+g[O+280>>2]*-(M*W-N*V)+ +g[O+284>>2]*-(N*J-W*L)+ +g[O+288>>2]*-(V*L-M*J))*+g[O+548>>2];Z=(+g[O+296>>2]*-(M*W-N*V)+ +g[O+300>>2]*-(N*J-W*L)+ +g[O+304>>2]*-(V*L-M*J))*+g[O+552>>2]}else{X=0.0;Y=0.0;Z=0.0}g[v+(t*152|0)+80>>2]=X;g[v+(t*152|0)+84>>2]=Y;g[v+(t*152|0)+88>>2]=Z;g[v+(t*152|0)+92>>2]=0.0;if((R|0)!=0)_=+g[R+344>>2]+((aa*U-$*T)*+g[y>>2]+($*S-U*_)*+g[z>>2]+(T*_-aa*S)*+g[x>>2]);else _=0.0;if((O|0)!=0){aa=-X;X=-Y;$=-Z;X=+g[O+344>>2]+((N*X-M*$)*+g[y>>2]+(L*$-N*aa)*+g[z>>2]+(M*aa-L*X)*+g[x>>2])}else X=0.0;g[v+(t*152|0)+108>>2]=1.0/(_+X);if((R|0)!=0){c[v+(t*152|0)+16>>2]=c[y+0>>2];c[v+(t*152|0)+20>>2]=c[y+4>>2];c[v+(t*152|0)+24>>2]=c[y+8>>2];c[v+(t*152|0)+28>>2]=c[y+12>>2];g[v+(t*152|0)>>2]=T*E-U*B;g[v+(t*152|0)+4>>2]=U*C-E*S;g[v+(t*152|0)+8>>2]=B*S-T*C;g[v+(t*152|0)+12>>2]=0.0}else{c[v+(t*152|0)+0>>2]=0;c[v+(t*152|0)+4>>2]=0;c[v+(t*152|0)+8>>2]=0;c[v+(t*152|0)+12>>2]=0;c[v+(t*152|0)+16>>2]=0;c[v+(t*152|0)+20>>2]=0;c[v+(t*152|0)+24>>2]=0;c[v+(t*152|0)+28>>2]=0}if((O|0)!=0){$=-+g[z>>2];aa=-+g[x>>2];g[v+(t*152|0)+48>>2]=-+g[y>>2];g[v+(t*152|0)+52>>2]=$;g[v+(t*152|0)+56>>2]=aa;g[v+(t*152|0)+60>>2]=0.0;g[v+(t*152|0)+32>>2]=-(M*W-N*V);g[v+(t*152|0)+36>>2]=-(N*J-W*L);g[v+(t*152|0)+40>>2]=-(V*L-M*J);g[v+(t*152|0)+44>>2]=0.0}else{c[v+(t*152|0)+32>>2]=0;c[v+(t*152|0)+36>>2]=0;c[v+(t*152|0)+40>>2]=0;c[v+(t*152|0)+44>>2]=0;c[v+(t*152|0)+48>>2]=0;c[v+(t*152|0)+52>>2]=0;c[v+(t*152|0)+56>>2]=0;c[v+(t*152|0)+60>>2]=0}J=+g[K>>2]+ +g[f+56>>2];if((R|0)!=0){aa=+g[R+332>>2];_=+g[R+336>>2];$=+g[R+328>>2];V=aa*U-_*T+ +g[R+312>>2];U=+g[R+316>>2]+(_*S-U*$);T=T*$-aa*S+ +g[R+320>>2]}else{V=0.0;U=0.0;T=0.0}if((O|0)!=0){aa=+g[O+332>>2];_=+g[O+336>>2];$=+g[O+328>>2];S=aa*N-_*M+ +g[O+312>>2];N=+g[O+316>>2]+(_*L-N*$);L=M*$-aa*L+ +g[O+320>>2]}else{S=0.0;N=0.0;L=0.0}L=+g[y>>2]*(V-S)+(U-N)*+g[z>>2]+(T-L)*+g[x>>2];g[v+(t*152|0)+104>>2]=+g[l+(s*184|0)+88>>2];L=L*+g[l+(s*184|0)+96>>2];L=!(L>=-0.0)?-L:0.0;do if((c[f+64>>2]&4|0)==0)g[v+(t*152|0)+100>>2]=0.0;else{M=+g[l+(s*184|0)+124>>2]*+g[f+60>>2];g[v+(t*152|0)+100>>2]=M;do if((R|0)!=0){if((c[I+(m*244|0)+240>>2]|0)==0)break;aa=M*+g[I+(m*244|0)+132>>2]*+g[v+(t*152|0)+20>>2]*+g[R+352>>2]*+g[I+(m*244|0)+116>>2];$=M*+g[I+(m*244|0)+136>>2]*+g[v+(t*152|0)+24>>2]*+g[R+356>>2]*+g[I+(m*244|0)+120>>2];g[I+(m*244|0)+64>>2]=+g[I+(m*244|0)+112>>2]*M*+g[I+(m*244|0)+128>>2]*+g[v+(t*152|0)+16>>2]*+g[R+348>>2]+ +g[I+(m*244|0)+64>>2];g[I+(m*244|0)+68>>2]=aa+ +g[I+(m*244|0)+68>>2];g[I+(m*244|0)+72>>2]=$+ +g[I+(m*244|0)+72>>2];$=M*+g[I+(m*244|0)+100>>2]*+g[v+(t*152|0)+68>>2];aa=M*+g[I+(m*244|0)+104>>2]*+g[v+(t*152|0)+72>>2];g[I+(m*244|0)+80>>2]=M*+g[I+(m*244|0)+96>>2]*+g[v+(t*152|0)+64>>2]+ +g[I+(m*244|0)+80>>2];g[I+(m*244|0)+84>>2]=$+ +g[I+(m*244|0)+84>>2];g[I+(m*244|0)+88>>2]=aa+ +g[I+(m*244|0)+88>>2]}while(0);if((O|0)==0)break;M=+g[v+(t*152|0)+100>>2];if((c[I+(n*244|0)+240>>2]|0)==0)break;aa=+g[v+(t*152|0)+88>>2];$=+g[v+(t*152|0)+84>>2];_=+g[v+(t*152|0)+80>>2];Y=M*+g[I+(n*244|0)+132>>2]*+g[v+(t*152|0)+52>>2]*+g[O+352>>2]*+g[I+(n*244|0)+116>>2];Z=M*+g[I+(n*244|0)+136>>2]*+g[v+(t*152|0)+56>>2]*+g[O+356>>2]*+g[I+(n*244|0)+120>>2];g[I+(n*244|0)+64>>2]=+g[I+(n*244|0)+112>>2]*M*+g[I+(n*244|0)+128>>2]*+g[v+(t*152|0)+48>>2]*+g[O+348>>2]+ +g[I+(n*244|0)+64>>2];g[I+(n*244|0)+68>>2]=Y+ +g[I+(n*244|0)+68>>2];g[I+(n*244|0)+72>>2]=Z+ +g[I+(n*244|0)+72>>2];$=$*+g[I+(n*244|0)+100>>2]*-M;aa=aa*+g[I+(n*244|0)+104>>2]*-M;g[I+(n*244|0)+80>>2]=+g[I+(n*244|0)+80>>2]-_*+g[I+(n*244|0)+96>>2]*-M;g[I+(n*244|0)+84>>2]=+g[I+(n*244|0)+84>>2]-$;g[I+(n*244|0)+88>>2]=+g[I+(n*244|0)+88>>2]-aa}while(0);g[v+(t*152|0)+96>>2]=0.0;if((c[I+(m*244|0)+240>>2]|0)==0){$=0.0;_=0.0;Z=0.0;M=0.0;X=0.0;W=0.0}else{$=+g[I+(m*244|0)+208>>2];_=+g[I+(m*244|0)+212>>2];Z=+g[I+(m*244|0)+216>>2];M=+g[I+(m*244|0)+224>>2];X=+g[I+(m*244|0)+228>>2];W=+g[I+(m*244|0)+232>>2]}if((c[I+(n*244|0)+240>>2]|0)==0){S=0.0;Y=0.0;N=0.0;T=0.0;U=0.0;V=0.0}else{S=+g[I+(n*244|0)+208>>2];Y=+g[I+(n*244|0)+212>>2];N=+g[I+(n*244|0)+216>>2];T=+g[I+(n*244|0)+224>>2];U=+g[I+(n*244|0)+228>>2];V=+g[I+(n*244|0)+232>>2]}L=L-(($+ +g[I+(m*244|0)+176>>2])*+g[v+(t*152|0)+16>>2]+(_+ +g[I+(m*244|0)+180>>2])*+g[v+(t*152|0)+20>>2]+(Z+ +g[I+(m*244|0)+184>>2])*+g[v+(t*152|0)+24>>2]+((M+ +g[I+(m*244|0)+192>>2])*+g[v+(t*152|0)>>2]+(X+ +g[I+(m*244|0)+196>>2])*+g[v+(t*152|0)+4>>2]+(W+ +g[I+(m*244|0)+200>>2])*+g[v+(t*152|0)+8>>2])+((S+ +g[I+(n*244|0)+176>>2])*+g[v+(t*152|0)+48>>2]+(Y+ +g[I+(n*244|0)+180>>2])*+g[v+(t*152|0)+52>>2]+(N+ +g[I+(n*244|0)+184>>2])*+g[v+(t*152|0)+56>>2]+((T+ +g[I+(n*244|0)+192>>2])*+g[v+(t*152|0)+32>>2]+(U+ +g[I+(n*244|0)+196>>2])*+g[v+(t*152|0)+36>>2]+(V+ +g[I+(n*244|0)+200>>2])*+g[v+(t*152|0)+40>>2])));I=(c[f+44>>2]|0)==0;if(!I?!(J>+g[f+48>>2]):0)K=f+36|0;else K=f+32|0;if(J>0.0){M=0.0;L=L-J/+g[f+12>>2]}else M=-(J*+g[K>>2])/+g[f+12>>2];aa=+g[v+(t*152|0)+108>>2];M=M*aa;L=L*aa;do if(I)j=69;else{if(J>+g[f+48>>2]){j=69;break}g[v+(t*152|0)+112>>2]=L;g[v+(t*152|0)+128>>2]=M}while(0);if((j|0)==69){j=0;g[v+(t*152|0)+112>>2]=M+L;g[v+(t*152|0)+128>>2]=0.0}g[v+(t*152|0)+116>>2]=0.0;g[v+(t*152|0)+120>>2]=0.0;g[v+(t*152|0)+124>>2]=1.0e10;c[v+(t*152|0)+140>>2]=c[b+68>>2];if((H|0)==0){J=0.0;M=0.0;L=0.0}else{J=+g[H+328>>2];M=+g[H+332>>2];L=+g[H+336>>2]}if((G|0)==0){T=0.0;S=0.0;N=0.0}else{T=+g[G+328>>2];S=+g[G+332>>2];N=+g[G+336>>2]}J=T-J;M=S-M;L=N-L;g[r+32>>2]=J;g[r+36>>2]=M;g[r+40>>2]=L;g[r+44>>2]=0.0;do if((F|0)>0?+g[l+(s*184|0)+92>>2]>0.0:0){F=F+ -1|0;S=+Q(+(J*J+M*M+L*L));if(S>+g[f+80>>2]){N=J*(1.0/S);g[r+32>>2]=N;J=M*(1.0/S);g[r+36>>2]=J;L=L*(1.0/S);g[r+40>>2]=L;do if((h|0)!=0){if((c[h+180>>2]&2|0)==0)break;S=+g[h+4>>2];V=+g[h+20>>2];Y=+g[h+36>>2];T=+g[h+8>>2];W=+g[h+24>>2];_=+g[h+40>>2];U=+g[h+12>>2];X=+g[h+28>>2];aa=+g[h+44>>2];Z=(S*N+V*J+L*Y)*+g[h+164>>2];$=(N*T+J*W+L*_)*+g[h+168>>2];L=(N*U+J*X+L*aa)*+g[h+172>>2];g[r+32>>2]=S*Z+T*$+U*L;g[r+36>>2]=V*Z+W*$+X*L;g[r+40>>2]=Y*Z+_*$+aa*L;g[r+44>>2]=0.0;N=S*Z+T*$+U*L;J=V*Z+W*$+X*L;L=Y*Z+_*$+aa*L}while(0);do if((q|0)!=0){if((c[q+180>>2]&2|0)==0)break;S=+g[q+4>>2];V=+g[q+20>>2];Y=+g[q+36>>2];T=+g[q+8>>2];W=+g[q+24>>2];_=+g[q+40>>2];U=+g[q+12>>2];X=+g[q+28>>2];aa=+g[q+44>>2];Z=(S*N+V*J+Y*L)*+g[q+164>>2];$=(N*T+J*W+L*_)*+g[q+168>>2];L=(N*U+J*X+L*aa)*+g[q+172>>2];g[r+32>>2]=S*Z+T*$+U*L;g[r+36>>2]=V*Z+W*$+X*L;g[r+40>>2]=Y*Z+_*$+aa*L;g[r+44>>2]=0.0;N=S*Z+T*$+U*L;J=V*Z+W*$+X*L;L=Y*Z+_*$+aa*L}while(0);if(!(+Q(+(N*N+J*J+L*L))>.001))break;rr(b,r+32|0,m,n,t,u);break}rr(b,y,m,n,t,u);L=+g[x>>2];if(+P(+L)>.7071067690849304){M=+g[z>>2];aa=1.0/+Q(+(L*L+M*M));g[r+16>>2]=0.0;g[r+20>>2]=-(aa*L);g[r+24>>2]=aa*M;g[r>>2]=(L*L+M*M)*aa;$=+g[y>>2];g[r+4>>2]=-($*aa*M);J=0.0;S=-(aa*L);T=aa*M;N=(L*L+M*M)*aa;M=-($*aa*M);L=$*-(aa*L)}else{_=+g[y>>2];$=+g[z>>2];aa=1.0/+Q(+(_*_+$*$));g[r+16>>2]=-($*aa);g[r+20>>2]=aa*_;g[r+24>>2]=0.0;g[r>>2]=-(L*aa*_);g[r+4>>2]=L*-($*aa);J=-($*aa);S=aa*_;T=0.0;N=-(L*aa*_);M=L*-($*aa);L=(_*_+$*$)*aa}g[r+8>>2]=L;do if((h|0)!=0){if((c[h+180>>2]&2|0)==0)break;ca=+g[h+4>>2];V=+g[h+20>>2];Y=+g[h+36>>2];ba=+g[h+8>>2];W=+g[h+24>>2];_=+g[h+40>>2];U=+g[h+12>>2];X=+g[h+28>>2];aa=+g[h+44>>2];Z=(ca*J+V*S+Y*T)*+g[h+164>>2];$=(J*ba+S*W+T*_)*+g[h+168>>2];T=(J*U+S*X+T*aa)*+g[h+172>>2];g[r+16>>2]=ca*Z+ba*$+U*T;g[r+20>>2]=V*Z+W*$+X*T;g[r+24>>2]=Y*Z+_*$+aa*T;g[r+28>>2]=0.0;J=ca*Z+ba*$+U*T;S=V*Z+W*$+X*T;T=Y*Z+_*$+aa*T}while(0);do if((q|0)!=0){if((c[q+180>>2]&2|0)==0)break;U=+g[q+4>>2];X=+g[q+20>>2];_=+g[q+36>>2];V=+g[q+8>>2];Y=+g[q+24>>2];aa=+g[q+40>>2];W=+g[q+12>>2];Z=+g[q+28>>2];ca=+g[q+44>>2];$=(U*J+X*S+_*T)*+g[q+164>>2];ba=(J*V+S*Y+T*aa)*+g[q+168>>2];T=(J*W+S*Z+T*ca)*+g[q+172>>2];g[r+16>>2]=U*$+V*ba+W*T;g[r+20>>2]=X*$+Y*ba+Z*T;g[r+24>>2]=_*$+aa*ba+ca*T;g[r+28>>2]=0.0;J=U*$+V*ba+W*T;S=X*$+Y*ba+Z*T;T=_*$+aa*ba+ca*T}while(0);do if((h|0)!=0){if((c[h+180>>2]&2|0)==0)break;U=+g[h+4>>2];X=+g[h+20>>2];_=+g[h+36>>2];V=+g[h+8>>2];Y=+g[h+24>>2];aa=+g[h+40>>2];W=+g[h+12>>2];Z=+g[h+28>>2];ca=+g[h+44>>2];$=(U*N+X*M+_*L)*+g[h+164>>2];ba=(N*V+M*Y+L*aa)*+g[h+168>>2];L=(N*W+M*Z+L*ca)*+g[h+172>>2];g[r>>2]=U*$+V*ba+W*L;g[r+4>>2]=X*$+Y*ba+Z*L;g[r+8>>2]=_*$+aa*ba+ca*L;g[r+12>>2]=0.0;N=U*$+V*ba+W*L;M=X*$+Y*ba+Z*L;L=_*$+aa*ba+ca*L}while(0);do if((q|0)!=0){if((c[q+180>>2]&2|0)==0)break;U=+g[q+4>>2];X=+g[q+20>>2];_=+g[q+36>>2];V=+g[q+8>>2];Y=+g[q+24>>2];aa=+g[q+40>>2];W=+g[q+12>>2];Z=+g[q+28>>2];ca=+g[q+44>>2];$=(U*N+X*M+_*L)*+g[q+164>>2];ba=(N*V+M*Y+L*aa)*+g[q+168>>2];L=(N*W+M*Z+L*ca)*+g[q+172>>2];g[r>>2]=U*$+V*ba+W*L;g[r+4>>2]=X*$+Y*ba+Z*L;g[r+8>>2]=_*$+aa*ba+ca*L;g[r+12>>2]=0.0;N=U*$+V*ba+W*L;M=X*$+Y*ba+Z*L;L=_*$+aa*ba+ca*L}while(0);if(+Q(+(J*J+S*S+T*T))>.001)rr(b,r+16|0,m,n,t,u);if(!(+Q(+(N*N+M*M+L*L))>.001))break;rr(b,r,m,n,t,u)}while(0);do if((c[f+64>>2]&32|0)==0)j=106;else{if((a[l+(s*184|0)+120>>0]|0)==0){j=106;break}qr(b,l+(s*184|0)+156|0,m,n,t,u,r+64|0,r+48|0,1.0,+g[l+(s*184|0)+136>>2],+g[l+(s*184|0)+144>>2]);if((c[f+64>>2]&16|0)==0)break;qr(b,l+(s*184|0)+172|0,m,n,t,u,r+64|0,r+48|0,1.0,+g[l+(s*184|0)+140>>2],+g[l+(s*184|0)+148>>2])}while(0);do if((j|0)==106){j=0;G=l+(s*184|0)+156|0;J=+g[y>>2];L=+g[z>>2];M=+g[x>>2];S=w-(C*w+A*B+D*E)*J;N=A-(C*w+A*B+D*E)*L;w=D-(C*w+A*B+D*E)*M;g[l+(s*184|0)+156>>2]=S;I=l+(s*184|0)+160|0;g[I>>2]=N;H=l+(s*184|0)+164|0;g[H>>2]=w;g[l+(s*184|0)+168>>2]=0.0;if((c[f+64>>2]&64|0)==0?S*S+N*N+w*w>1.1920928955078125e-7:0){ca=1.0/+Q(+(S*S+N*N+w*w));g[G>>2]=S*ca;g[I>>2]=ca*N;g[H>>2]=ca*w;pr(h,G);pr(q,G);qr(b,G,m,n,t,u,r+64|0,r+48|0,1.0,0.0,0.0);if((c[f+64>>2]&16|0)==0)break;R=l+(s*184|0)+172|0;aa=+g[I>>2];Z=+g[x>>2];Y=+g[H>>2];_=+g[z>>2];ba=+g[y>>2];$=+g[G>>2];g[l+(s*184|0)+172>>2]=aa*Z-Y*_;g[l+(s*184|0)+184>>2]=0.0;ca=1.0/+Q(+((aa*Z-Y*_)*(aa*Z-Y*_)+(Y*ba-Z*$)*(Y*ba-Z*$)+(_*$-aa*ba)*(_*$-aa*ba)));g[R>>2]=(aa*Z-Y*_)*ca;g[l+(s*184|0)+176>>2]=(Y*ba-Z*$)*ca;g[l+(s*184|0)+180>>2]=(_*$-aa*ba)*ca;pr(h,R);pr(q,R);qr(b,R,m,n,t,u,r+64|0,r+48|0,1.0,0.0,0.0);break}x=l+(s*184|0)+172|0;if(+P(+M)>.7071067690849304){ca=1.0/+Q(+(M*M+L*L));g[G>>2]=0.0;g[I>>2]=-(ca*M);g[H>>2]=ca*L;g[x>>2]=(M*M+L*L)*ca;g[l+(s*184|0)+176>>2]=-(J*ca*L);g[l+(s*184|0)+180>>2]=J*-(ca*M)}else{ca=1.0/+Q(+(J*J+L*L));g[G>>2]=-(L*ca);g[I>>2]=ca*J;g[H>>2]=0.0;g[x>>2]=-(M*ca*J);g[l+(s*184|0)+176>>2]=M*-(L*ca);g[l+(s*184|0)+180>>2]=(J*J+L*L)*ca}pr(h,G);pr(q,G);qr(b,G,m,n,t,u,r+64|0,r+48|0,1.0,0.0,0.0);y=c[f+64>>2]|0;if((y&16|0)!=0){pr(h,x);pr(q,x);qr(b,x,m,n,t,u,r+64|0,r+48|0,1.0,0.0,0.0);y=c[f+64>>2]|0}if((y&80|0)!=80)break;a[l+(s*184|0)+120>>0]=1}while(0);u=c[b+16>>2]|0;y=c[u+(m*244|0)+240>>2]|0;x=c[u+(n*244|0)+240>>2]|0;v=c[v+(t*152|0)+140>>2]|0;t=c[b+76>>2]|0;z=c[f+64>>2]|0;do if((z&4|0)==0)g[t+(v*152|0)+100>>2]=0.0;else{w=+g[l+(s*184|0)+128>>2]*+g[f+60>>2];g[t+(v*152|0)+100>>2]=w;if((y|0)!=0){aa=+g[y+344>>2];ca=w*aa*+g[t+(v*152|0)+20>>2]*+g[y+352>>2]*+g[u+(m*244|0)+116>>2];ba=w*aa*+g[t+(v*152|0)+24>>2]*+g[y+356>>2]*+g[u+(m*244|0)+120>>2];g[u+(m*244|0)+64>>2]=+g[u+(m*244|0)+112>>2]*w*aa*+g[t+(v*152|0)+16>>2]*+g[y+348>>2]+ +g[u+(m*244|0)+64>>2];g[u+(m*244|0)+68>>2]=ca+ +g[u+(m*244|0)+68>>2];g[u+(m*244|0)+72>>2]=ba+ +g[u+(m*244|0)+72>>2];ba=w*+g[u+(m*244|0)+100>>2]*+g[t+(v*152|0)+68>>2];ca=w*+g[u+(m*244|0)+104>>2]*+g[t+(v*152|0)+72>>2];g[u+(m*244|0)+80>>2]=w*+g[u+(m*244|0)+96>>2]*+g[t+(v*152|0)+64>>2]+ +g[u+(m*244|0)+80>>2];g[u+(m*244|0)+84>>2]=ba+ +g[u+(m*244|0)+84>>2];g[u+(m*244|0)+88>>2]=ca+ +g[u+(m*244|0)+88>>2]}if((x|0)==0)break;A=+g[x+344>>2];w=+g[t+(v*152|0)+100>>2];if((c[u+(n*244|0)+240>>2]|0)==0)break;ca=+g[t+(v*152|0)+88>>2];ba=+g[t+(v*152|0)+84>>2];aa=+g[t+(v*152|0)+80>>2];_=w*A*+g[t+(v*152|0)+52>>2]*+g[x+352>>2]*+g[u+(n*244|0)+116>>2];$=w*A*+g[t+(v*152|0)+56>>2]*+g[x+356>>2]*+g[u+(n*244|0)+120>>2];g[u+(n*244|0)+64>>2]=+g[u+(n*244|0)+112>>2]*w*A*+g[t+(v*152|0)+48>>2]*+g[x+348>>2]+ +g[u+(n*244|0)+64>>2];g[u+(n*244|0)+68>>2]=_+ +g[u+(n*244|0)+68>>2];g[u+(n*244|0)+72>>2]=$+ +g[u+(n*244|0)+72>>2];ba=ba*+g[u+(n*244|0)+100>>2]*-w;ca=ca*+g[u+(n*244|0)+104>>2]*-w;g[u+(n*244|0)+80>>2]=+g[u+(n*244|0)+80>>2]-aa*+g[u+(n*244|0)+96>>2]*-w;g[u+(n*244|0)+84>>2]=+g[u+(n*244|0)+84>>2]-ba;g[u+(n*244|0)+88>>2]=+g[u+(n*244|0)+88>>2]-ca}while(0);do if((z&16|0)!=0){if((z&4|0)==0){g[t+((v+1|0)*152|0)+100>>2]=0.0;break}w=+g[l+(s*184|0)+132>>2]*+g[f+60>>2];g[t+((v+1|0)*152|0)+100>>2]=w;do if((y|0)!=0){A=+g[y+344>>2];if((c[u+(m*244|0)+240>>2]|0)==0)break;ca=w*A*+g[t+((v+1|0)*152|0)+20>>2]*+g[u+(m*244|0)+116>>2];ba=w*A*+g[t+((v+1|0)*152|0)+24>>2]*+g[u+(m*244|0)+120>>2];g[u+(m*244|0)+64>>2]=+g[u+(m*244|0)+112>>2]*w*A*+g[t+((v+1|0)*152|0)+16>>2]+ +g[u+(m*244|0)+64>>2];g[u+(m*244|0)+68>>2]=ca+ +g[u+(m*244|0)+68>>2];g[u+(m*244|0)+72>>2]=ba+ +g[u+(m*244|0)+72>>2];ba=w*+g[u+(m*244|0)+100>>2]*+g[t+((v+1|0)*152|0)+68>>2];ca=w*+g[u+(m*244|0)+104>>2]*+g[t+((v+1|0)*152|0)+72>>2];g[u+(m*244|0)+80>>2]=w*+g[u+(m*244|0)+96>>2]*+g[t+((v+1|0)*152|0)+64>>2]+ +g[u+(m*244|0)+80>>2];g[u+(m*244|0)+84>>2]=ba+ +g[u+(m*244|0)+84>>2];g[u+(m*244|0)+88>>2]=ca+ +g[u+(m*244|0)+88>>2]}while(0);if((x|0)==0)break;A=+g[x+344>>2];w=+g[t+((v+1|0)*152|0)+100>>2];if((c[u+(n*244|0)+240>>2]|0)==0)break;ca=+g[t+((v+1|0)*152|0)+88>>2];ba=+g[t+((v+1|0)*152|0)+84>>2];aa=+g[t+((v+1|0)*152|0)+80>>2];_=w*A*+g[t+((v+1|0)*152|0)+52>>2]*+g[u+(n*244|0)+116>>2];$=w*A*+g[t+((v+1|0)*152|0)+56>>2]*+g[u+(n*244|0)+120>>2];g[u+(n*244|0)+64>>2]=+g[u+(n*244|0)+112>>2]*w*A*+g[t+((v+1|0)*152|0)+48>>2]+ +g[u+(n*244|0)+64>>2];g[u+(n*244|0)+68>>2]=_+ +g[u+(n*244|0)+68>>2];g[u+(n*244|0)+72>>2]=$+ +g[u+(n*244|0)+72>>2];ba=ba*+g[u+(n*244|0)+100>>2]*-w;ca=ca*+g[u+(n*244|0)+104>>2]*-w;g[u+(n*244|0)+80>>2]=+g[u+(n*244|0)+80>>2]-aa*+g[u+(n*244|0)+96>>2]*-w;g[u+(n*244|0)+84>>2]=+g[u+(n*244|0)+84>>2]-ba;g[u+(n*244|0)+88>>2]=+g[u+(n*244|0)+88>>2]-ca}while(0);t=c[l+748>>2]|0}s=s+1|0}while((s|0)<(t|0))}}while(0);k=k+1|0}while((k|0)!=(e|0));i=r;return} - - - -function qA(d,f){d=d|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,u=0,v=0,w=0,x=0,y=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,N=0,O=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.0,ca=0.0,da=0,ea=0;h=i;i=i+336|0;m=c[d+52>>2]|0;if((m|0)!=0?(Lb[c[c[m>>2]>>2]&511](m),j=c[d+52>>2]|0,(j|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[5004]=(c[5004]|0)+1;j=XE(151)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}c[j>>2]=19496;a[j+20>>0]=1;c[j+16>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[j+40>>0]=1;c[j+36>>2]=0;c[j+28>>2]=0;c[j+32>>2]=0;a[j+60>>0]=1;c[j+56>>2]=0;c[j+48>>2]=0;c[j+52>>2]=0;c[d+52>>2]=j;s=0;m=0;v=0;j=0;while(1){if((s|0)>=(Pb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;if((m|0)==(v|0)){w=(v|0)==0?1:v<<1;if((v|0)<(w|0)){if((w|0)!=0?(c[5004]=(c[5004]|0)+1,p=XE((w<<4|3)+16|0)|0,(p|0)!=0):0){c[(p+19&-16)+ -4>>2]=p;u=p+19&-16}else u=0;if((v|0)>0){t=0;do{aa=u+(t<<4)|0;$=j+(t<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];t=t+1|0}while((t|0)!=(v|0))}if((j|0)==0){t=v;v=w;j=u}else{c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);t=v;v=w;j=u}}else t=v}else t=m;aa=j+(m<<4)|0;c[aa+0>>2]=c[h+256>>2];c[aa+4>>2]=c[h+260>>2];c[aa+8>>2]=c[h+264>>2];c[aa+12>>2]=c[h+268>>2];rc[c[(c[d>>2]|0)+108>>2]&127](d,s,aa);s=s+1|0;m=t+1|0}a[h+212>>0]=1;c[h+208>>2]=0;c[h+200>>2]=0;c[h+204>>2]=0;a[h+232>>0]=1;c[h+228>>2]=0;c[h+220>>2]=0;c[h+224>>2]=0;a[h+252>>0]=1;c[h+248>>2]=0;c[h+240>>2]=0;c[h+244>>2]=0;if((f|0)!=0){if((m|0)>0){f=0;C=0;E=0;F=0;while(1){t=f;f=f+1|0;if((f|0)<(m|0)){s=j+(t<<4)|0;p=j+(t<<4)+4|0;t=j+(t<<4)+8|0;u=f;do{x=u;u=u+1|0;if((u|0)<(m|0)){w=j+(x<<4)|0;v=j+(x<<4)+4|0;x=j+(x<<4)+8|0;y=u;do{A=+g[s>>2];U=+g[w>>2]-A;T=+g[p>>2];R=+g[v>>2]-T;B=+g[t>>2];S=+g[x>>2]-B;A=+g[j+(y<<4)>>2]-A;T=+g[j+(y<<4)+4>>2]-T;B=+g[j+(y<<4)+8>>2]-B;X=1.0;D=0;while(1){V=(R*B-S*T)*X;W=(S*A-U*B)*X;X=(U*T-R*A)*X;a:do if(X*X+(V*V+W*W)>9999999747378752.0e-20){Y=1.0/+Q(+(X*X+(V*V+W*W)));if((C|0)>0){G=0;do{if(V*Y*+g[F+(G<<4)>>2]+W*Y*+g[F+(G<<4)+4>>2]+X*Y*+g[F+(G<<4)+8>>2]>.9990000128746033)break a;G=G+1|0}while((G|0)<(C|0))}Z=V*Y*+g[s>>2]+W*Y*+g[p>>2]+X*Y*+g[t>>2];G=0;do{if(V*Y*+g[j+(G<<4)>>2]+W*Y*+g[j+(G<<4)+4>>2]+X*Y*+g[j+(G<<4)+8>>2]-Z+-.009999999776482582>0.0)break a;G=G+1|0}while((G|0)<(m|0));do if((C|0)==(E|0)){H=(E|0)==0?1:E<<1;if((E|0)<(H|0)){do if((H|0)==0)I=0;else{c[5004]=(c[5004]|0)+1;G=XE((H<<4|3)+16|0)|0;if((G|0)==0){I=0;break}c[(G+19&-16)+ -4>>2]=G;I=G+19&-16}while(0);if((E|0)>0){G=0;do{aa=I+(G<<4)|0;$=F+(G<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];G=G+1|0}while((G|0)!=(E|0))}if((F|0)==0){G=E;E=H;F=I;break}c[5006]=(c[5006]|0)+1;YE(c[F+ -4>>2]|0);G=E;E=H;F=I}else G=E}else G=C;while(0);g[F+(G<<4)>>2]=V*Y;g[F+(G<<4)+4>>2]=W*Y;g[F+(G<<4)+8>>2]=X*Y;g[F+(G<<4)+12>>2]=-Z;C=C+1|0}while(0);D=D+1|0;if((D|0)==2)break;else X=-1.0}y=y+1|0}while((y|0)!=(m|0))}}while((u|0)!=(m|0))}if((f|0)==(m|0)){m=F;break}}if((C|0)>0){p=0;f=0;s=0;v=0;while(1){aa=m+(p<<4)|0;c[h+184>>2]=c[aa+0>>2];c[h+188>>2]=c[aa+4>>2];c[h+192>>2]=c[aa+8>>2];A=+g[m+(p<<4)+12>>2];A=A- +$b[c[(c[d>>2]|0)+48>>2]&15](d);if((f|0)==(s|0)){w=(s|0)==0?1:s<<1;if((s|0)<(w|0)){if((w|0)!=0?(c[5004]=(c[5004]|0)+1,l=XE((w<<4|3)+16|0)|0,(l|0)!=0):0){c[(l+19&-16)+ -4>>2]=l;t=l+19&-16}else t=0;if((s|0)>0){u=0;do{aa=t+(u<<4)|0;$=v+(u<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];u=u+1|0}while((u|0)!=(s|0))}if((v|0)==0){u=s;s=w}else{c[5006]=(c[5006]|0)+1;YE(c[v+ -4>>2]|0);u=s;s=w}}else{u=s;t=v}}else{u=f;t=v}aa=t+(u<<4)|0;c[aa+0>>2]=c[h+184>>2];c[aa+4>>2]=c[h+188>>2];c[aa+8>>2]=c[h+192>>2];g[t+(u<<4)+12>>2]=A;f=f+1|0;p=p+1|0;if((p|0)>=(C|0)){l=t;break}else v=t}if((f|0)>0){p=0;w=0;x=0;y=0;do{t=p;p=p+1|0;if((p|0)<(f|0)){s=p;do{u=s;s=s+1|0;if((s|0)<(f|0)){v=s;do{S=+g[l+(u<<4)+4>>2];Y=+g[l+(v<<4)+8>>2];B=+g[l+(u<<4)+8>>2];T=+g[l+(v<<4)+4>>2];W=+g[l+(v<<4)>>2];U=+g[l+(u<<4)>>2];X=+g[l+(t<<4)+8>>2];R=+g[l+(t<<4)+4>>2];V=+g[l+(t<<4)>>2];b:do if((((T*U-S*W)*(T*U-S*W)+((S*Y-B*T)*(S*Y-B*T)+(B*W-Y*U)*(B*W-Y*U))>9999999747378752.0e-20?(W*R-T*V)*(W*R-T*V)+((T*X-Y*R)*(T*X-Y*R)+(Y*V-W*X)*(Y*V-W*X))>9999999747378752.0e-20:0)?(S*V-U*R)*(S*V-U*R)+((B*R-S*X)*(B*R-S*X)+(U*X-B*V)*(U*X-B*V))>9999999747378752.0e-20:0)?(z=X*(T*U-S*W)+(R*(B*W-Y*U)+(S*Y-B*T)*V),+P(+z)>9.999999974752427e-7):0){ba=+g[l+(t<<4)+12>>2];Z=+g[l+(u<<4)+12>>2];ca=+g[l+(v<<4)+12>>2];A=-1.0/z*((B*R-S*X)*ca+((S*Y-B*T)*ba+(T*X-Y*R)*Z));B=-1.0/z*((U*X-B*V)*ca+((B*W-Y*U)*ba+(Y*V-W*X)*Z));R=-1.0/z*((S*V-U*R)*ca+((T*U-S*W)*ba+(W*R-T*V)*Z));C=0;do{if(+g[l+(C<<4)+12>>2]+(A*+g[l+(C<<4)>>2]+B*+g[l+(C<<4)+4>>2]+R*+g[l+(C<<4)+8>>2])+-.009999999776482582>0.0)break b;C=C+1|0}while((C|0)<(f|0));do if((w|0)==(x|0)){D=(x|0)==0?1:x<<1;if((x|0)>=(D|0)){C=x;break}do if((D|0)==0)E=0;else{c[5004]=(c[5004]|0)+1;C=XE((D<<4|3)+16|0)|0;if((C|0)==0){E=0;break}c[(C+19&-16)+ -4>>2]=C;E=C+19&-16}while(0);if((x|0)>0){C=0;do{aa=E+(C<<4)|0;$=y+(C<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];C=C+1|0}while((C|0)!=(x|0))}if((y|0)==0){C=x;x=D;y=E;break}c[5006]=(c[5006]|0)+1;YE(c[y+ -4>>2]|0);C=x;x=D;y=E}else C=w;while(0);g[y+(C<<4)>>2]=A;g[y+(C<<4)+4>>2]=B;g[y+(C<<4)+8>>2]=R;g[y+(C<<4)+12>>2]=0.0;w=w+1|0}while(0);v=v+1|0}while((v|0)!=(f|0))}}while((s|0)!=(f|0))}}while((p|0)!=(f|0))}else{w=0;y=0}}else{l=0;w=0;y=0}}else{m=0;l=0;w=0;y=0}kE(h+196|0,y,w);if((y|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[y+ -4>>2]|0)}if((l|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}if((m|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}}else kE(h+196|0,j,m);s=c[h+240>>2]|0;if((s|0)>0&((s|0)<0^1)){c[5004]=(c[5004]|0)+1;l=XE((s<<4|3)+16|0)|0;if((l|0)==0)m=0;else{c[(l+19&-16)+ -4>>2]=l;m=l+19&-16}l=0;do{aa=m+(l<<4)|0;c[aa+0>>2]=c[h+168>>2];c[aa+4>>2]=c[h+172>>2];c[aa+8>>2]=c[h+176>>2];c[aa+12>>2]=c[h+180>>2];l=l+1|0}while((l|0)!=(s|0))}else m=0;a[h+164>>0]=1;f=h+160|0;c[f>>2]=0;l=h+152|0;c[l>>2]=0;c[h+156>>2]=0;p=h+112|0;t=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(t|0));a[h+128>>0]=1;c[h+124>>2]=0;c[h+116>>2]=0;c[h+120>>2]=0;if((s|0)<0)Gb();if((s|0)>0){wA(h+148|0,s);p=c[f>>2]|0;t=0;do{u=p+(t*36|0)|0;if((u|0)!=0){yA(u,h+112|0);c[u+20>>2]=c[h+132>>2];c[u+24>>2]=c[h+136>>2];c[u+28>>2]=c[h+140>>2];c[u+32>>2]=c[h+144>>2]}t=t+1|0}while((t|0)!=(s|0));t=c[h+124>>2]|0;c[l>>2]=s;if((t|0)!=0){if((a[h+128>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[t+ -4>>2]|0)}c[h+124>>2]=0}}else{c[l>>2]=s;p=0}a[h+128>>0]=1;c[h+124>>2]=0;c[h+116>>2]=0;c[h+120>>2]=0;t=c[h+200>>2]|0;u=c[d+52>>2]|0;v=c[u+8>>2]|0;if((v|0)<(t|0)){if((c[u+12>>2]|0)<(t|0)){if((t|0)==0){w=0;y=v}else{c[5004]=(c[5004]|0)+1;w=XE((t<<4|3)+16|0)|0;if((w|0)==0)w=0;else{c[(w+19&-16)+ -4>>2]=w;w=w+19&-16}y=c[u+8>>2]|0}if((y|0)>0){x=0;do{aa=w+(x<<4)|0;$=(c[u+16>>2]|0)+(x<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];x=x+1|0}while((x|0)!=(y|0))}x=c[u+16>>2]|0;if((x|0)!=0){if((a[u+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0)}c[u+16>>2]=0}a[u+20>>0]=1;c[u+16>>2]=w;c[u+12>>2]=t;w=u+16|0}else w=u+16|0;do{aa=(c[w>>2]|0)+(v<<4)|0;c[aa+0>>2]=c[h+96>>2];c[aa+4>>2]=c[h+100>>2];c[aa+8>>2]=c[h+104>>2];c[aa+12>>2]=c[h+108>>2];v=v+1|0}while((v|0)!=(t|0))}c[u+8>>2]=t;if((t|0)>0){v=c[h+208>>2]|0;u=0;do{aa=(c[(c[d+52>>2]|0)+16>>2]|0)+(u<<4)|0;$=v+(u<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];u=u+1|0}while((u|0)!=(t|0))}if((s|0)>0){t=0;do{u=(c[h+228>>2]|0)+((c[(c[h+248>>2]|0)+(t<<2)>>2]|0)*12|0)|0;x=p+(t*36|0)+4|0;v=p+(t*36|0)+8|0;w=p+(t*36|0)+12|0;y=p+(t*36|0)+16|0;p=u;D=0;do{C=p+4|0;E=c[p+((c[C>>2]|0)*12|0)+8>>2]|0;H=c[x>>2]|0;if((H|0)==(c[v>>2]|0)?(r=(H|0)==0?1:H<<1,(H|0)<(r|0)):0){if((r|0)==0)F=0;else{c[5004]=(c[5004]|0)+1;F=XE((r<<2|3)+16|0)|0;if((F|0)==0)F=0;else{c[(F+19&-16)+ -4>>2]=F;F=F+19&-16}H=c[x>>2]|0}if((H|0)>0){G=0;do{I=F+(G<<2)|0;if((I|0)!=0)c[I>>2]=c[(c[w>>2]|0)+(G<<2)>>2];G=G+1|0}while((G|0)!=(H|0))}G=c[w>>2]|0;if((G|0)!=0){if((a[y>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[G+ -4>>2]|0)}c[w>>2]=0}a[y>>0]=1;c[w>>2]=F;c[v>>2]=r;H=c[x>>2]|0}F=(c[w>>2]|0)+(H<<2)|0;if((F|0)!=0){c[F>>2]=E;H=c[x>>2]|0}c[x>>2]=H+1;$=c[p+8>>2]|0;aa=c[h+208>>2]|0;z=+g[aa+($<<4)>>2]- +g[aa+(E<<4)>>2];A=+g[aa+($<<4)+4>>2]- +g[aa+(E<<4)+4>>2];R=+g[aa+($<<4)+8>>2]- +g[aa+(E<<4)+8>>2];B=1.0/+Q(+(z*z+A*A+R*R));if((D|0)<2){g[h+288+(D<<4)>>2]=z*B;g[h+288+(D<<4)+4>>2]=A*B;g[h+288+(D<<4)+8>>2]=R*B;g[h+288+(D<<4)+12>>2]=0.0;D=D+1|0}aa=c[C>>2]|0;p=p+(((c[p+(aa*12|0)>>2]|0)+aa|0)*12|0)|0}while((p|0)!=(u|0));w=m+(t<<4)|0;if((D|0)==2){X=+g[h+292>>2];Y=+g[h+312>>2];Z=+g[h+296>>2];ba=+g[h+308>>2];W=+g[h+304>>2];V=+g[h+288>>2];$=m+(t<<4)+4|0;aa=m+(t<<4)+8|0;g[m+(t<<4)+12>>2]=0.0;ca=1.0/+Q(+((X*Y-Z*ba)*(X*Y-Z*ba)+(Z*W-Y*V)*(Z*W-Y*V)+(ba*V-X*W)*(ba*V-X*W)));g[w>>2]=(X*Y-Z*ba)*ca;g[$>>2]=(Z*W-Y*V)*ca;g[aa>>2]=(ba*V-X*W)*ca;p=c[f>>2]|0;g[p+(t*36|0)+20>>2]=(X*Y-Z*ba)*ca;g[p+(t*36|0)+24>>2]=+g[$>>2];g[p+(t*36|0)+28>>2]=+g[aa>>2];g[p+(t*36|0)+32>>2]=1.0000000150474662e+30}else{c[w+0>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;p=c[f>>2]|0}u=c[p+(t*36|0)+4>>2]|0;if((u|0)>0){v=c[(c[d+52>>2]|0)+16>>2]|0;B=+g[w>>2];z=+g[m+(t<<4)+4>>2];A=+g[m+(t<<4)+8>>2];x=c[p+(t*36|0)+12>>2]|0;R=1.0000000150474662e+30;w=0;do{aa=c[x+(w<<2)>>2]|0;ca=+g[v+(aa<<4)>>2]*B+ +g[v+(aa<<4)+4>>2]*z+ +g[v+(aa<<4)+8>>2]*A;R=R>ca?ca:R;w=w+1|0}while((w|0)<(u|0))}else R=1.0000000150474662e+30;g[p+(t*36|0)+32>>2]=-R;t=t+1|0}while((t|0)<(s|0));s=c[l>>2]|0;if((s|0)>0){t=0;r=0;w=0;do{if((w|0)==(t|0)){t=(w|0)==0?1:w<<1;if((w|0)<(t|0)){if((t|0)!=0?(c[5004]=(c[5004]|0)+1,q=XE((t<<2|3)+16|0)|0,(q|0)!=0):0){c[(q+19&-16)+ -4>>2]=q;u=q+19&-16}else u=0;if((w|0)>0){x=0;do{v=u+(x<<2)|0;if((v|0)!=0)c[v>>2]=c[r+(x<<2)>>2];x=x+1|0}while((x|0)!=(w|0))}if((r|0)==0)r=u;else{c[5006]=(c[5006]|0)+1;YE(c[r+ -4>>2]|0);r=u}}else t=w}u=r+(w<<2)|0;if((u|0)!=0){c[u>>2]=w;s=c[l>>2]|0}w=w+1|0}while((w|0)<(s|0));if((w|0)==0)o=r;else{q=h+88|0;u=h+84|0;t=h+76|0;s=h+32|0;v=h+308|0;B=0.0;A=0.0;z=0.0;while(1){C=w+ -1|0;w=c[r+(C<<2)>>2]|0;c[5004]=(c[5004]|0)+1;y=XE(23)|0;if((y|0)!=0){c[(y+19&-16)+ -4>>2]=y;x=y+19&-16;if((y+19&-16|0)!=0)c[x>>2]=w}else x=0;S=+g[p+(w*36|0)+20>>2];R=+g[p+(w*36|0)+24>>2];T=+g[p+(w*36|0)+28>>2];w=C;F=1;y=1;D=C;c:while(1){C=(w|0)>0;d:while(1){do{aa=D;D=D+ -1|0;if((aa|0)<=0)break c;E=c[r+(D<<2)>>2]|0}while(!(S*+g[p+(E*36|0)+20>>2]+R*+g[p+(E*36|0)+24>>2]+T*+g[p+(E*36|0)+28>>2]>.9990000128746033));do if((y|0)==(F|0)?(o=(F|0)==0?1:F<<1,(F|0)<(o|0)):0){do if((o|0)==0)G=0;else{c[5004]=(c[5004]|0)+1;G=XE((o<<2|3)+16|0)|0;if((G|0)==0){G=0;break}c[(G+19&-16)+ -4>>2]=G;G=G+19&-16}while(0);if((F|0)>0){H=0;do{I=G+(H<<2)|0;if((I|0)!=0)c[I>>2]=c[x+(H<<2)>>2];H=H+1|0}while((H|0)!=(F|0))}if((x|0)==0){F=o;x=G;break}c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0);F=o;x=G}while(0);G=x+(y<<2)|0;if((G|0)!=0)c[G>>2]=E;y=y+1|0;if(C)I=0;else continue;while(1){H=r+(I<<2)|0;G=I+1|0;if((c[H>>2]|0)==(E|0))break;if((G|0)<(w|0))I=G;else continue d}if((I|0)<(w|0))break}aa=w+ -1|0;$=r+(aa<<2)|0;c[H>>2]=c[$>>2];c[$>>2]=E;w=aa}if((y|0)>1){a[q>>0]=1;c[u>>2]=0;c[t>>2]=0;c[h+80>>2]=0;G=0;B=0.0;A=0.0;z=0.0;C=0;do{E=c[x+(C<<2)>>2]|0;B=+g[p+(E*36|0)+20>>2]+B;A=+g[p+(E*36|0)+24>>2]+A;z=+g[p+(E*36|0)+28>>2]+z;D=p+(E*36|0)+4|0;H=c[D>>2]|0;if((H|0)>0){E=p+(E*36|0)+12|0;J=G;F=0;while(1){G=c[(c[E>>2]|0)+(F<<2)>>2]|0;aa=(c[(c[d+52>>2]|0)+16>>2]|0)+(G<<4)|0;c[h+56>>2]=c[aa+0>>2];c[h+60>>2]=c[aa+4>>2];c[h+64>>2]=c[aa+8>>2];c[h+68>>2]=c[aa+12>>2];e:do if((J|0)>0){I=c[u>>2]|0;K=0;while(1){if((c[I+(K*24|0)+20>>2]|0)==(G|0)){G=J;break e}K=K+1|0;if((K|0)>=(J|0)){n=207;break}}}else n=207;while(0);if((n|0)==207){n=0;c[h+0>>2]=c[h+56>>2];c[h+4>>2]=c[h+60>>2];c[h+8>>2]=c[h+64>>2];c[h+12>>2]=c[h+68>>2];do if((J|0)==(c[h+80>>2]|0)){H=(J|0)==0?1:J<<1;if((J|0)>=(H|0))break;if((H|0)==0)I=0;else{c[5004]=(c[5004]|0)+1;I=XE((H*24|3)+16|0)|0;if((I|0)==0)I=0;else{c[(I+19&-16)+ -4>>2]=I;I=I+19&-16}J=c[t>>2]|0}K=c[u>>2]|0;if((J|0)<=0){if((K|0)!=0)n=216}else{n=0;do{aa=I+(n*24|0)|0;$=K+(n*24|0)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];c[aa+16>>2]=c[$+16>>2];c[aa+20>>2]=c[$+20>>2];n=n+1|0}while((n|0)!=(J|0));n=216}if((n|0)==216){n=0;if(!((a[q>>0]|0)==0|(K|0)==0)){c[5006]=(c[5006]|0)+1;YE(c[K+ -4>>2]|0);J=c[t>>2]|0}c[u>>2]=0}a[q>>0]=1;c[u>>2]=I;c[h+80>>2]=H}while(0);H=c[u>>2]|0;aa=H+(J*24|0)|0;c[aa+0>>2]=c[h+0>>2];c[aa+4>>2]=c[h+4>>2];c[aa+8>>2]=c[h+8>>2];c[aa+12>>2]=c[h+12>>2];c[aa+16>>2]=c[h+16>>2];c[H+(J*24|0)+20>>2]=G;G=(c[t>>2]|0)+1|0;c[t>>2]=G;H=c[D>>2]|0}F=F+1|0;if((F|0)>=(H|0))break;else J=G}}C=C+1|0}while((C|0)<(y|0));a[h+36>>0]=1;c[s>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;aa=p+((c[x>>2]|0)*9<<2)+20|0;c[h+40>>2]=c[aa+0>>2];c[h+44>>2]=c[aa+4>>2];c[h+48>>2]=c[aa+8>>2];c[h+52>>2]=c[aa+12>>2];ca=1.0/+Q(+(B*B+A*A+z*z));B=B*ca;A=A*ca;z=z*ca;if(+P(+z)>.7071067690849304){S=1.0/+Q(+(z*z+A*A));T=0.0;R=-(z*S);S=A*S}else{R=1.0/+Q(+(B*B+A*A));T=-(A*R);R=B*R;S=0.0}f:do if((G|0)<2)if((G|0)>0){D=0;J=0;C=0;n=1;while(1){E=c[u>>2]|0;do if((D|0)==(J|0)){F=(J|0)==0?1:J<<1;if((J|0)>=(F|0)){I=J;F=J;break}do if((F|0)==0)H=0;else{c[5004]=(c[5004]|0)+1;G=XE((F*24|3)+16|0)|0;if((G|0)==0){H=0;J=D;break}c[(G+19&-16)+ -4>>2]=G;H=G+19&-16;J=D}while(0);if((J|0)>0){G=0;do{aa=H+(G*24|0)|0;$=C+(G*24|0)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];c[aa+16>>2]=c[$+16>>2];c[aa+20>>2]=c[$+20>>2];G=G+1|0}while((G|0)!=(J|0))}if((C|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0)}I=D;G=c[t>>2]|0;C=H}else{I=D;F=J}while(0);aa=C+(I*24|0)|0;c[aa+0>>2]=c[E+0>>2];c[aa+4>>2]=c[E+4>>2];c[aa+8>>2]=c[E+8>>2];c[aa+12>>2]=c[E+12>>2];c[aa+16>>2]=c[E+16>>2];c[aa+20>>2]=c[E+20>>2];D=D+1|0;if((n|0)>=(G|0)){n=272;break f}J=F;n=n+1|0}}else{C=0;n=307}else{n=c[u>>2]|0;C=G;D=0;do{if(T*+g[n+(D*24|0)>>2]+R*+g[n+(D*24|0)+4>>2]+S*+g[n+(D*24|0)+8>>2]>2]+R*+g[n+4>>2]+S*+g[n+8>>2]){c[h+288>>2]=c[n+0>>2];c[h+292>>2]=c[n+4>>2];c[h+296>>2]=c[n+8>>2];c[h+300>>2]=c[n+12>>2];c[h+304>>2]=c[n+16>>2];c[h+308>>2]=c[n+20>>2];C=n+(D*24|0)|0;c[n+0>>2]=c[C+0>>2];c[n+4>>2]=c[C+4>>2];c[n+8>>2]=c[C+8>>2];c[n+12>>2]=c[C+12>>2];c[n+16>>2]=c[C+16>>2];c[n+20>>2]=c[C+20>>2];C=n+(D*24|0)|0;c[C+0>>2]=c[h+288>>2];c[C+4>>2]=c[h+292>>2];c[C+8>>2]=c[h+296>>2];c[C+12>>2]=c[h+300>>2];c[C+16>>2]=c[h+304>>2];c[C+20>>2]=c[h+308>>2];C=G}D=D+1|0}while((D|0)<(C|0));g[n+16>>2]=-1.0000000150474662e+30;if((C|0)>1){U=+g[n+4>>2];D=1;do{Z=+g[n+(D*24|0)>>2]- +g[n>>2];ba=+g[n+(D*24|0)+4>>2]-U;ca=+g[n+(D*24|0)+8>>2]- +g[n+8>>2];g[n+(D*24|0)+16>>2]=((T*ba-R*Z)*z+(B*(R*ca-S*ba)+A*(S*Z-T*ca)))/+Q(+(Z*Z+ba*ba+ca*ca));D=D+1|0}while((D|0)<(C|0))}c[h+272>>2]=c[n+0>>2];c[h+276>>2]=c[n+4>>2];c[h+280>>2]=c[n+8>>2];c[h+284>>2]=c[n+12>>2];zA(h+72|0,h+272|0,1,C+ -1|0);C=c[u>>2]|0;c[5004]=(c[5004]|0)+1;n=XE(43)|0;if((n|0)==0)n=0;else{c[(n+19&-16)+ -4>>2]=n;n=n+19&-16}D=c[u>>2]|0;c[n+0>>2]=c[C+0>>2];c[n+4>>2]=c[C+4>>2];c[n+8>>2]=c[C+8>>2];c[n+12>>2]=c[C+12>>2];c[n+16>>2]=c[C+16>>2];c[n+20>>2]=c[C+20>>2];c[5004]=(c[5004]|0)+1;C=XE(67)|0;if((C|0)==0)C=0;else{c[(C+19&-16)+ -4>>2]=C;C=C+19&-16}E=0;while(1){aa=C+(E*24|0)|0;$=n+(E*24|0)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];c[aa+16>>2]=c[$+16>>2];c[aa+20>>2]=c[$+20>>2];if((E|0)==0)break;else E=E+1|0}if((n|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[n+ -4>>2]|0)}G=C+24|0;c[G+0>>2]=c[D+24>>2];c[G+4>>2]=c[D+28>>2];c[G+8>>2]=c[D+32>>2];c[G+12>>2]=c[D+36>>2];c[G+16>>2]=c[D+40>>2];c[G+20>>2]=c[D+44>>2];G=c[t>>2]|0;if((G|0)==2){D=2;n=273;break}else{H=2;D=2;F=2;n=2}while(1){g:do if((H|0)>1){aa=c[u>>2]|0;E=aa+(n*24|0)|0;R=+g[E>>2];S=+g[aa+(n*24|0)+4>>2];T=+g[aa+(n*24|0)+8>>2];while(1){aa=H+ -2|0;I=H+ -1|0;Z=+g[C+(aa*24|0)>>2];ba=Z- +g[C+(I*24|0)>>2];X=+g[C+(aa*24|0)+4>>2];W=X- +g[C+(I*24|0)+4>>2];ca=+g[C+(aa*24|0)+8>>2];Y=ca- +g[C+(I*24|0)+8>>2];if((ba*(X-S)-W*(Z-R))*z+(B*(W*(ca-T)-Y*(X-S))+A*(Y*(Z-R)-ba*(ca-T)))>0.0)break;if((I|0)>1){H=I;D=I}else{H=I;D=I;break g}}do if((H|0)==(F|0)){I=(F|0)==0?1:F<<1;if((F|0)>=(I|0)){H=F;break}do if((I|0)==0)J=0;else{c[5004]=(c[5004]|0)+1;F=XE((I*24|3)+16|0)|0;if((F|0)==0){J=0;F=D;break}c[(F+19&-16)+ -4>>2]=F;J=F+19&-16;F=D}while(0);if((F|0)>0){G=0;do{aa=J+(G*24|0)|0;$=C+(G*24|0)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];c[aa+16>>2]=c[$+16>>2];c[aa+20>>2]=c[$+20>>2];G=G+1|0}while((G|0)!=(F|0))}if((C|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0)}G=c[t>>2]|0;H=D;F=I;C=J}while(0);H=C+(H*24|0)|0;c[H+0>>2]=c[E+0>>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];c[H+16>>2]=c[E+16>>2];c[H+20>>2]=c[E+20>>2];D=D+1|0;H=D}while(0);n=n+1|0;if((n|0)==(G|0)){n=272;break}}}while(0);if((n|0)==272)if((D|0)>0)n=273;else n=295;if((n|0)==273){H=0;G=0;F=0;n=0;do{E=C+(n*24|0)+20|0;do if((H|0)==(G|0)){I=(G|0)==0?1:G<<1;if((G|0)>=(I|0)){H=G;break}do if((I|0)==0)H=0;else{c[5004]=(c[5004]|0)+1;H=XE((I<<2|3)+16|0)|0;if((H|0)==0){H=0;break}c[(H+19&-16)+ -4>>2]=H;H=H+19&-16}while(0);if((G|0)>0){J=0;do{K=H+(J<<2)|0;if((K|0)!=0)c[K>>2]=c[F+(J<<2)>>2];J=J+1|0}while((J|0)!=(G|0))}if((F|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[F+ -4>>2]|0);c[s>>2]=0}a[h+36>>0]=1;c[s>>2]=H;c[h+28>>2]=I;F=H;H=G;G=I}while(0);I=F+(H<<2)|0;if((I|0)!=0){c[I>>2]=c[E>>2];H=c[h+24>>2]|0}H=H+1|0;c[h+24>>2]=H;J=c[t>>2]|0;h:do if((J|0)>0){I=c[u>>2]|0;E=c[E>>2]|0;K=0;while(1){L=I+(K*24|0)+20|0;K=K+1|0;if((c[L>>2]|0)==(E|0))break;if((K|0)>=(J|0))break h}c[L>>2]=-1}while(0);n=n+1|0}while((n|0)<(D|0));G=c[t>>2]|0;n=295}i:do if((n|0)==295){n=0;if((G|0)>0){H=c[u>>2]|0;I=c[l>>2]|0;F=0;while(1){E=c[H+(F*24|0)+20>>2]|0;if(!((E|0)==-1|(I|0)<1)){D=0;do{J=0;while(1){if((c[x+(J<<2)>>2]|0)==(D|0))break;J=J+1|0;if((J|0)>=(y|0)){n=303;break}}do if((n|0)==303){n=0;J=c[p+(D*36|0)+4>>2]|0;if((J|0)<=0)break;K=c[p+(D*36|0)+12>>2]|0;L=0;do{if((c[K+(L<<2)>>2]|0)==(E|0)){D=1;break i}L=L+1|0}while((L|0)<(J|0))}while(0);D=D+1|0}while((D|0)<(I|0))}F=F+1|0;if((F|0)>=(G|0)){n=307;break}}}else n=307}while(0);if((n|0)==307){n=0;D=c[d+52>>2]|0;E=c[D+28>>2]|0;if((E|0)==(c[D+32>>2]|0)){wA(D+24|0,(E|0)==0?1:E<<1);E=c[D+28>>2]|0}F=(c[D+36>>2]|0)+(E*36|0)|0;if((F|0)!=0){yA(F,h+20|0);c[F+20>>2]=c[h+40>>2];c[F+24>>2]=c[h+44>>2];c[F+28>>2]=c[h+48>>2];c[F+32>>2]=c[h+52>>2];E=c[D+28>>2]|0}c[D+28>>2]=E+1;D=0}if((C|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0)}C=c[s>>2]|0;if((C|0)!=0){if((a[h+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0)}c[s>>2]=0}C=c[u>>2]|0;if((C|0)!=0){if((a[q>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[C+ -4>>2]|0)}c[u>>2]=0}a[q>>0]=1;c[u>>2]=0;c[t>>2]=0;c[h+80>>2]=0;if(D&(y|0)>0)n=324}else if((y|0)>0)n=324;if((n|0)==324){n=0;C=0;do{D=c[x+(C<<2)>>2]|0;yA(h+288|0,p+(D*36|0)|0);D=p+(D*36|0)+20|0;c[v+0>>2]=c[D+0>>2];c[v+4>>2]=c[D+4>>2];c[v+8>>2]=c[D+8>>2];c[v+12>>2]=c[D+12>>2];D=c[d+52>>2]|0;E=c[D+28>>2]|0;if((E|0)==(c[D+32>>2]|0)){wA(D+24|0,(E|0)==0?1:E<<1);E=c[D+28>>2]|0}F=(c[D+36>>2]|0)+(E*36|0)|0;if((F|0)!=0){yA(F,h+288|0);c[F+20>>2]=c[v+0>>2];c[F+24>>2]=c[v+4>>2];c[F+28>>2]=c[v+8>>2];c[F+32>>2]=c[v+12>>2];E=c[D+28>>2]|0}c[D+28>>2]=E+1;D=c[h+300>>2]|0;if((D|0)!=0){if((a[h+304>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[D+ -4>>2]|0)}c[h+300>>2]=0}C=C+1|0}while((C|0)<(y|0))}if((x|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0)}if((w|0)==0){o=r;break}}}}else o=0}else o=0;d=c[d+52>>2]|0;c[d+64>>2]=0;c[d+68>>2]=0;c[d+72>>2]=0;c[d+76>>2]=0;r=c[d+28>>2]|0;if((r|0)>0){s=r;w=0;u=0;G=0;L=0;H=0;K=0;J=0;I=0;F=0;y=0;E=0;x=0;q=0;while(1){C=c[d+36>>2]|0;r=c[C+(q*36|0)+4>>2]|0;if((r|0)>0){t=q&65535;s=q|-65536;D=0;while(1){v=D+1|0;M=c[C+(q*36|0)+12>>2]|0;O=c[M+(D<<2)>>2]&65535;M=c[M+(((v|0)==(r|0)?0:v)<<2)>>2]&65535;D=O<<16>>16>16?O:M;C=O<<16>>16>16?M:O;_=O<<16>>16>16?O:M;O=O<<16>>16>16?M:O;M=G+ -1|0;j:do if((((_&65535)<<16)+(O<<16>>16)&M)>>>0>>0?(k=c[F+((((_&65535)<<16)+(O<<16>>16)&M)<<2)>>2]|0,!((k|0)==-1)):0){N=k;while(1){if(O<<16>>16==(b[J+(N<<2)>>1]|0)?_<<16>>16==(b[J+(N<<2)+2>>1]|0):0)break;N=c[x+(N<<2)>>2]|0;if((N|0)==-1){N=0;break j}}if(!((N|0)==-1))N=L+(N<<2)|0;else N=0}else N=0;while(0);aa=c[d+16>>2]|0;A=+g[aa+(_<<16>>16<<4)>>2]- +g[aa+(O<<16>>16<<4)>>2];z=+g[aa+(_<<16>>16<<4)+4>>2]- +g[aa+(O<<16>>16<<4)+4>>2];B=+g[aa+(_<<16>>16<<4)+8>>2]- +g[aa+(O<<16>>16<<4)+8>>2];R=1.0/+Q(+(A*A+z*z+B*B));_=c[d+48>>2]|0;k:do if((_|0)>0){O=c[d+56>>2]|0;$=0;while(1){S=+g[O+($<<4)>>2];T=+g[O+($<<4)+8>>2];do if(!(+P(+(S-A*R))>1.0e-6)){if(+P(+(+g[O+($<<4)+4>>2]-z*R))>1.0e-6)break;if(!(+P(+(T-B*R))>1.0e-6))break k}while(0);do if(!(+P(+(A*R+S))>1.0e-6)){if(+P(+(z*R+ +g[O+($<<4)+4>>2]))>1.0e-6)break;if(!(+P(+(B*R+T))>1.0e-6))break k}while(0);$=$+1|0;if(($|0)>=(_|0)){n=359;break}}}else n=359;while(0);if((n|0)==359){n=0;do if((_|0)==(c[d+52>>2]|0)){O=(_|0)==0?1:_<<1;if((_|0)>=(O|0))break;if((O|0)==0)$=0;else{c[5004]=(c[5004]|0)+1;_=XE((O<<4|3)+16|0)|0;if((_|0)==0)$=0;else{c[(_+19&-16)+ -4>>2]=_;$=_+19&-16}_=c[d+48>>2]|0}if((_|0)>0){aa=0;do{da=$+(aa<<4)|0;ea=(c[d+56>>2]|0)+(aa<<4)|0;c[da+0>>2]=c[ea+0>>2];c[da+4>>2]=c[ea+4>>2];c[da+8>>2]=c[ea+8>>2];c[da+12>>2]=c[ea+12>>2];aa=aa+1|0}while((aa|0)!=(_|0))}_=c[d+56>>2]|0;if((_|0)!=0){if((a[d+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[_+ -4>>2]|0)}c[d+56>>2]=0}a[d+60>>0]=1;c[d+56>>2]=$;c[d+52>>2]=O;_=c[d+48>>2]|0}while(0);ea=c[d+56>>2]|0;g[ea+(_<<4)>>2]=A*R;g[ea+(_<<4)+4>>2]=z*R;g[ea+(_<<4)+8>>2]=B*R;g[ea+(_<<4)+12>>2]=0.0;c[d+48>>2]=(c[d+48>>2]|0)+1}l:do if((N|0)==0){O=((D&65535)<<16)+(C<<16>>16)&M;m:do if(O>>>0>>0){M=c[F+(O<<2)>>2]|0;if((M|0)==-1)break;while(1){if(C<<16>>16==(b[J+(M<<2)>>1]|0)?D<<16>>16==(b[J+(M<<2)+2>>1]|0):0)break;M=c[x+(M<<2)>>2]|0;if((M|0)==-1)break m}if((M|0)==-1)break;ea=L+(M<<2)|0;b[ea>>1]=s;b[ea+2>>1]=s>>>16;break l}while(0);do if((u|0)==(G|0)){M=(G|0)==0?1:G<<1;if((G|0)>=(M|0)){_=G;M=G;break}do if((M|0)==0)N=0;else{c[5004]=(c[5004]|0)+1;N=XE((M<<2|3)+16|0)|0;if((N|0)==0){N=0;break}c[(N+19&-16)+ -4>>2]=N;N=N+19&-16}while(0);if((G|0)>0){_=0;do{$=N+(_<<2)|0;if(($|0)!=0){ea=L+(_<<2)|0;ea=e[ea>>1]|e[ea+2>>1]<<16;b[$>>1]=ea;b[$+2>>1]=ea>>>16}_=_+1|0}while((_|0)!=(G|0))}if((L|0)==0){_=G;L=N;break}c[5006]=(c[5006]|0)+1;YE(c[L+ -4>>2]|0);_=G;L=N}else{_=u;M=G}while(0);N=L+(_<<2)|0;if((N|0)!=0){b[N>>1]=s;b[N+2>>1]=s>>>16;_=u}N=_+1|0;do if((H|0)==(K|0)){K=(H|0)==0?1:H<<1;if((H|0)>=(K|0)){K=H;break}do if((K|0)==0)_=0;else{c[5004]=(c[5004]|0)+1;_=XE((K<<2|3)+16|0)|0;if((_|0)==0){_=0;break}c[(_+19&-16)+ -4>>2]=_;_=_+19&-16}while(0);if((H|0)>0){aa=0;do{$=_+(aa<<2)|0;if(($|0)!=0){ea=J+(aa<<2)|0;ea=e[ea>>1]|e[ea+2>>1]<<16;b[$>>1]=ea;b[$+2>>1]=ea>>>16}aa=aa+1|0}while((aa|0)!=(H|0))}if((J|0)==0){J=_;break}c[5006]=(c[5006]|0)+1;YE(c[J+ -4>>2]|0);J=_}while(0);_=J+(H<<2)|0;if((_|0)!=0){b[_>>1]=(D&65535)<<16|C&65535;b[_+2>>1]=((D&65535)<<16|C&65535)>>>16}H=H+1|0;if((G|0)<(M|0)){do if((w|0)<(M|0)){if((w|0)<=(M|0)){do if((I|0)<(M|0)){do if((M|0)==0)G=0;else{c[5004]=(c[5004]|0)+1;G=XE((M<<2|3)+16|0)|0;if((G|0)==0){G=0;break}c[(G+19&-16)+ -4>>2]=G;G=G+19&-16}while(0);if((w|0)>0){I=0;do{O=G+(I<<2)|0;if((O|0)!=0)c[O>>2]=c[F+(I<<2)>>2];I=I+1|0}while((I|0)!=(w|0))}if((F|0)==0){I=M;F=G;break}c[5006]=(c[5006]|0)+1;YE(c[F+ -4>>2]|0);I=M;F=G}while(0);O=w;do{G=F+(O<<2)|0;if((G|0)!=0)c[G>>2]=0;O=O+1|0}while((O|0)!=(M|0))}if((y|0)<(M|0)){do if((E|0)<(M|0)){do if((M|0)==0)G=0;else{c[5004]=(c[5004]|0)+1;E=XE((M<<2|3)+16|0)|0;if((E|0)==0){G=0;break}c[(E+19&-16)+ -4>>2]=E;G=E+19&-16}while(0);if((y|0)>0){E=0;do{O=G+(E<<2)|0;if((O|0)!=0)c[O>>2]=c[x+(E<<2)>>2];E=E+1|0}while((E|0)!=(y|0))}if((x|0)==0){E=M;x=G;break}c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0);E=M;x=G}while(0);do{G=x+(y<<2)|0;if((G|0)!=0)c[G>>2]=0;y=y+1|0}while((y|0)!=(M|0))}if((M|0)>0){ea=M<<2;$E(F|0,-1,ea|0)|0;$E(x|0,-1,ea|0)|0}if((w|0)<=0){w=M;y=M;break}G=M+ -1|0;y=0;do{ea=F+(((e[J+(y<<2)+2>>1]<<16)+(b[J+(y<<2)>>1]|0)&G)<<2)|0;c[x+(y<<2)>>2]=c[ea>>2];c[ea>>2]=y;y=y+1|0}while((y|0)!=(w|0));w=M;y=M}while(0);O=((D&65535)<<16)+(C<<16>>16)&M+ -1}G=F+(O<<2)|0;c[x+(u<<2)>>2]=c[G>>2];c[G>>2]=u;u=N;G=M}else b[N+2>>1]=t;while(0);if((v|0)>=(r|0))break;C=c[d+36>>2]|0;D=v}r=c[d+28>>2]|0}else r=s;q=q+1|0;if((q|0)>=(r|0))break;else s=r}if((r|0)>0){n=c[d+36>>2]|0;q=c[d+16>>2]|0;R=0.0;k=0;do{u=c[n+(k*36|0)+4>>2]|0;t=c[n+(k*36|0)+12>>2]|0;s=c[t>>2]|0;if((u+ -2|0)>=1){B=+g[d+64>>2];A=+g[d+68>>2];z=+g[d+72>>2];v=1;do{da=c[t+(v<<2)>>2]|0;v=v+1|0;ea=c[t+(((v|0)%(u|0)|0)<<2)>>2]|0;S=+g[q+(s<<4)>>2];T=+g[q+(da<<4)>>2];V=+g[q+(s<<4)+4>>2];W=+g[q+(da<<4)+4>>2];Y=+g[q+(s<<4)+8>>2];Z=+g[q+(da<<4)+8>>2];U=+g[q+(ea<<4)>>2];X=+g[q+(ea<<4)+4>>2];ba=+g[q+(ea<<4)+8>>2];ca=+Q(+(((S-T)*(V-X)-(V-W)*(S-U))*((S-T)*(V-X)-(V-W)*(S-U))+(((V-W)*(Y-ba)-(Y-Z)*(V-X))*((V-W)*(Y-ba)-(Y-Z)*(V-X))+((Y-Z)*(S-U)-(S-T)*(Y-ba))*((Y-Z)*(S-U)-(S-T)*(Y-ba)))))*.5;B=B+(S+T+U)*.3333333432674408*ca;g[d+64>>2]=B;A=(V+W+X)*.3333333432674408*ca+A;g[d+68>>2]=A;z=ca*(Y+Z+ba)*.3333333432674408+z;g[d+72>>2]=z;R=R+ca}while((v|0)!=(u+ -1|0))}k=k+1|0}while((k|0)<(r|0))}else R=0.0}else{R=0.0;L=0;J=0;F=0;x=0}A=1.0/R;R=A*+g[d+64>>2];g[d+64>>2]=R;B=A*+g[d+68>>2];g[d+68>>2]=B;A=A*+g[d+72>>2];g[d+72>>2]=A;g[d+96>>2]=3.4028234663852886e+38;if((r|0)>0){n=c[d+36>>2]|0;S=3.4028234663852886e+38;k=0;while(1){z=+P(+(+g[n+(k*36|0)+32>>2]+(+g[n+(k*36|0)+20>>2]*R+ +g[n+(k*36|0)+24>>2]*B+ +g[n+(k*36|0)+28>>2]*A)));if(z>2]=z;else z=S;k=k+1|0;if((k|0)>=(r|0))break;else S=z}}else z=3.4028234663852886e+38;k=c[d+8>>2]|0;if((k|0)>0){n=c[d+16>>2]|0;S=-3.4028234663852886e+38;T=-3.4028234663852886e+38;U=-3.4028234663852886e+38;R=3.4028234663852886e+38;B=3.4028234663852886e+38;A=3.4028234663852886e+38;q=0;do{ca=+g[n+(q<<4)>>2];R=caS?ca:S;ca=+g[n+(q<<4)+4>>2];B=caT?ca:T;ca=+g[n+(q<<4)+8>>2];A=caU?ca:U;q=q+1|0}while((q|0)<(k|0))}else{S=-3.4028234663852886e+38;T=-3.4028234663852886e+38;U=-3.4028234663852886e+38;R=3.4028234663852886e+38;B=3.4028234663852886e+38;A=3.4028234663852886e+38}g[d+100>>2]=S+R;g[d+104>>2]=T+B;g[d+108>>2]=A+U;g[d+112>>2]=0.0;R=S-R;B=T-B;A=U-A;g[d+116>>2]=R;g[d+120>>2]=B;g[d+124>>2]=A;g[d+128>>2]=0.0;z=z/1.7320507764816284;if(R>2]*.5-z)*.0009765625;g[d+88>>2]=z;g[d+84>>2]=z;g[d+80>>2]=z;B=+g[n>>2]*.5;n=d+(k<<2)+80|0;g[n>>2]=B;q=0;while(1){if(CD(d)|0){n=470;break}B=B-A;g[n>>2]=B;q=q+1|0;if((q|0)>=1024){n=469;break}}n:do if((n|0)==469){g[d+88>>2]=z;g[d+84>>2]=z;g[d+80>>2]=z}else if((n|0)==470){z=(+g[d+96>>2]-z)*.0009765625;k=1<>2];n=0;while(1){A=+g[d+(k<<2)+80>>2];g[d+(k<<2)+80>>2]=z+A;B=z+ +g[d+((1<>2];g[d+((1<>2]=B;n=n+1|0;if(!(CD(d)|0))break;if((n|0)>=1024)break n;else R=B}g[d+(k<<2)+80>>2]=A;g[d+((1<>2]=R}while(0);if((J|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[J+ -4>>2]|0)}if((L|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[L+ -4>>2]|0)}if((x|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0)}if((F|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[F+ -4>>2]|0)}if((o|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[o+ -4>>2]|0)}o=c[l>>2]|0;if((o|0)>0){q=0;do{k=p+(q*36|0)+4|0;n=p+(q*36|0)+12|0;r=c[n>>2]|0;d=p+(q*36|0)+16|0;if((r|0)!=0){if((a[d>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[r+ -4>>2]|0)}c[n>>2]=0}a[d>>0]=1;c[n>>2]=0;c[k>>2]=0;c[p+(q*36|0)+8>>2]=0;q=q+1|0}while((q|0)!=(o|0));p=c[f>>2]|0}if((p|0)!=0){if((a[h+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[p+ -4>>2]|0)}c[f>>2]=0}a[h+164>>0]=1;c[f>>2]=0;c[l>>2]=0;c[h+156>>2]=0;if((m|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}xA(h+196|0);if((j|0)==0){i=h;return 1}c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);i=h;return 1}function rA(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,l=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;e=i;i=i+2048|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];if(h*h+j*j+k*k<9999999747378752.0e-20){h=1.0;j=0.0;k=0.0}else{p=1.0/+Q(+(h*h+j*j+k*k));h=h*p;j=j*p;k=k*p}if((Pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){i=e;return}d=0;l=-999999984306749400.0;do{if(((Pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-d|0)<128){m=(Pb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-d|0;if((m|0)>0)f=7;else{p=-3.4028234663852886e+38;o=-1}}else{m=128;f=7}if((f|0)==7){f=0;n=0;do{rc[c[(c[b>>2]|0)+108>>2]&127](b,n,e+(n<<4)|0);n=n+1|0}while((n|0)!=(m|0));n=0;p=-3.4028234663852886e+38;o=-1;do{q=h*+g[e+(n<<4)>>2]+j*+g[e+(n<<4)+4>>2]+k*+g[e+(n<<4)+8>>2];r=q>p;o=r?n:o;p=r?q:p;n=n+1|0}while((n|0)!=(m|0))}if(p>l){r=e+(o<<4)|0;c[a+0>>2]=c[r+0>>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];l=p}d=d+128|0}while((d|0)<(Pb[c[(c[b>>2]|0)+96>>2]&127](b)|0));i=e;return}function sA(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,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0;h=i;i=i+2048|0;if((e|0)>0)j=0;else{i=h;return}do{g[d+(j<<4)+12>>2]=-999999984306749400.0;j=j+1|0}while((j|0)!=(e|0));k=0;do{if((Pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){o=b+(k<<4)|0;p=b+(k<<4)+4|0;j=b+(k<<4)+8|0;m=d+(k<<4)+12|0;l=d+(k<<4)|0;n=0;do{if(((Pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-n|0)<128){q=(Pb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-n|0;if((q|0)>0)f=8;else{w=-3.4028234663852886e+38;s=-1}}else{q=128;f=8}if((f|0)==8){f=0;s=0;do{rc[c[(c[a>>2]|0)+108>>2]&127](a,s,h+(s<<4)|0);s=s+1|0}while((s|0)!=(q|0));t=+g[o>>2];r=+g[p>>2];v=+g[j>>2];u=0;w=-3.4028234663852886e+38;s=-1;do{x=t*+g[h+(u<<4)>>2]+r*+g[h+(u<<4)+4>>2]+v*+g[h+(u<<4)+8>>2];y=x>w;s=y?u:s;w=y?x:w;u=u+1|0}while((u|0)!=(q|0))}if(w>+g[m>>2]){y=h+(s<<4)|0;c[l+0>>2]=c[y+0>>2];c[l+4>>2]=c[y+4>>2];c[l+8>>2]=c[y+8>>2];c[l+12>>2]=c[y+12>>2];g[m>>2]=w}n=n+128|0}while((n|0)<(Pb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}k=k+1|0}while((k|0)!=(e|0));i=h;return}function tA(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=+$b[c[(c[a>>2]|0)+48>>2]&15](a);g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;k=e+76|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;vc[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+20>>2])*.5)*2.0;j=(j+(+g[e+8>>2]- +g[e+24>>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 uA(b){b=b|0;var d=0,e=0,f=0,h=0.0;d=i;i=i+96|0;a[b+88>>0]=1;if((a[15960]|0)==0?(Ya(15960)|0)!=0:0){g[3966]=1.0;c[3967]=0;c[3968]=0;c[3969]=0;c[3970]=0;g[3971]=1.0;c[3972]=0;c[3973]=0;c[3974]=0;c[3975]=0;g[3976]=1.0;g[3977]=0.0;g[3978]=-1.0;c[3979]=0;c[3980]=0;c[3981]=0;c[3982]=0;g[3983]=-1.0;c[3984]=0;c[3985]=0;c[3986]=0;c[3987]=0;g[3988]=-1.0;g[3989]=0.0;bb(15960)}f=d+0|0;e=f+96|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(e|0));vc[c[(c[b>>2]|0)+76>>2]&127](b,15864,d,6);h=+g[b+44>>2];g[b+72>>2]=+g[d>>2]+h;g[b+56>>2]=+g[d+48>>2]-h;g[b+76>>2]=+g[d+20>>2]+h;g[b+60>>2]=+g[d+68>>2]-h;g[b+80>>2]=+g[d+40>>2]+h;g[b+64>>2]=+g[d+88>>2]-h;i=d;return}function vA(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.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;f=i;q=+$b[c[(c[a>>2]|0)+48>>2]&15](a);w=+g[a+72>>2];v=+g[a+56>>2];t=+g[a+76>>2];s=+g[a+60>>2];p=+g[a+80>>2];o=+g[a+64>>2];G=+g[b>>2];A=+P(+G);F=+g[b+4>>2];z=+P(+F);m=+g[b+8>>2];n=+P(+m);E=+g[b+16>>2];y=+P(+E);D=+g[b+20>>2];x=+P(+D);k=+g[b+24>>2];l=+P(+k);C=+g[b+32>>2];u=+P(+C);B=+g[b+36>>2];r=+P(+B);h=+g[b+40>>2];j=+P(+h);m=(w+v)*.5*G+(t+s)*.5*F+(p+o)*.5*m+ +g[b+48>>2];k=(w+v)*.5*E+(t+s)*.5*D+(p+o)*.5*k+ +g[b+52>>2];h=(w+v)*.5*C+(t+s)*.5*B+(p+o)*.5*h+ +g[b+56>>2];n=(q+(w-v)*.5)*A+(q+(t-s)*.5)*z+(q+(p-o)*.5)*n;l=(q+(w-v)*.5)*y+(q+(t-s)*.5)*x+(q+(p-o)*.5)*l;j=(q+(w-v)*.5)*u+(q+(t-s)*.5)*r+(q+(p-o)*.5)*j;g[d>>2]=m-n;g[d+4>>2]=k-l;g[d+8>>2]=h-j;g[d+12>>2]=0.0;g[e>>2]=n+m;g[e+4>>2]=l+k;g[e+8>>2]=j+h;g[e+12>>2]=0.0;i=f;return}function wA(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;e=i;if((c[b+8>>2]|0)>=(d|0)){i=e;return}if((d|0)!=0?(c[5004]=(c[5004]|0)+1,f=XE((d*36|3)+16|0)|0,(f|0)!=0):0){c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}else f=0;j=c[b+4>>2]|0;if((j|0)>0){h=0;do{g=f+(h*36|0)|0;if((g|0)!=0){n=c[b+12>>2]|0;yA(g,n+(h*36|0)|0);n=n+(h*36|0)+20|0;c[g+20>>2]=c[n+0>>2];c[g+24>>2]=c[n+4>>2];c[g+28>>2]=c[n+8>>2];c[g+32>>2]=c[n+12>>2]}h=h+1|0}while((h|0)!=(j|0));n=c[b+4>>2]|0;if((n|0)>0){m=0;do{l=c[b+12>>2]|0;h=l+(m*36|0)+4|0;j=l+(m*36|0)+12|0;g=c[j>>2]|0;k=l+(m*36|0)+16|0;if((g|0)!=0){if((a[k>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[g+ -4>>2]|0)}c[j>>2]=0}a[k>>0]=1;c[j>>2]=0;c[h>>2]=0;c[l+(m*36|0)+8>>2]=0;m=m+1|0}while((m|0)!=(n|0));g=b+12|0}else g=b+12|0}else g=b+12|0;h=c[g>>2]|0;if((h|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[g>>2]=0}a[b+16>>0]=1;c[g>>2]=f;c[b+8>>2]=d;i=e;return}function xA(b){b=b|0;var d=0,e=0;d=i;e=c[b+52>>2]|0;if((e|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+12>>2]|0;if((e|0)==0){a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;e=b+8|0;c[e>>2]=0;i=d;return}if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+12>>2]=0;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;e=b+8|0;c[e>>2]=0;i=d;return}function yA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;a[b+16>>0]=1;c[b+12>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;e=c[d+4>>2]|0;if((e|0)<=0){c[b+4>>2]=e;i=f;return}c[5004]=(c[5004]|0)+1;g=XE((e<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}j=c[b+4>>2]|0;if((j|0)>0){h=0;do{k=g+(h<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[b+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[b+12>>2]|0;if((h|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=e;h=0;do{j=g+(h<<2)|0;if((j|0)!=0)c[j>>2]=0;h=h+1|0}while((h|0)!=(e|0));c[b+4>>2]=e;b=0;do{h=g+(b<<2)|0;if((h|0)!=0)c[h>>2]=c[(c[d+12>>2]|0)+(b<<2)>>2];b=b+1|0}while((b|0)!=(e|0));i=f;return}function zA(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.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;f=i;i=i+32|0;n=c[a+12>>2]|0;h=+g[n+(((e+d|0)/2|0)*24|0)>>2];j=+g[n+(((e+d|0)/2|0)*24|0)+4>>2];k=+g[n+(((e+d|0)/2|0)*24|0)+8>>2];m=+g[n+(((e+d|0)/2|0)*24|0)+16>>2];l=c[n+(((e+d|0)/2|0)*24|0)+20>>2]|0;o=d;p=e;while(1){a:while(1){q=+g[n+(o*24|0)+16>>2];do if(q!=m){if(!(q>2];v=+g[n+(o*24|0)>>2]-s;r=+g[b+4>>2];u=+g[n+(o*24|0)+4>>2]-r;q=+g[b+8>>2];t=+g[n+(o*24|0)+8>>2]-q;if(v*v+u*u+t*t!=(h-s)*(h-s)+(j-r)*(j-r)+(k-q)*(k-q))if(v*v+u*u+t*t<(h-s)*(h-s)+(j-r)*(j-r)+(k-q)*(k-q))break;else break a;else if((c[n+(o*24|0)+20>>2]|0)<(l|0))break;else break a}while(0);o=o+1|0}b:while(1){q=+g[n+(p*24|0)+16>>2];do if(m!=q){if(!(m>2];t=+g[b+4>>2];q=+g[b+8>>2];s=+g[n+(p*24|0)>>2]-r;u=+g[n+(p*24|0)+4>>2]-t;v=+g[n+(p*24|0)+8>>2]-q;if((h-r)*(h-r)+(j-t)*(j-t)+(k-q)*(k-q)!=s*s+u*u+v*v)if((h-r)*(h-r)+(j-t)*(j-t)+(k-q)*(k-q)>2]|0))break;else break b}while(0);p=p+ -1|0}if((o|0)<=(p|0)){w=n+(o*24|0)|0;c[f+0>>2]=c[w+0>>2];c[f+4>>2]=c[w+4>>2];c[f+8>>2]=c[w+8>>2];c[f+12>>2]=c[w+12>>2];c[f+16>>2]=c[w+16>>2];c[f+20>>2]=c[w+20>>2];n=n+(p*24|0)|0;c[w+0>>2]=c[n+0>>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[w+16>>2]=c[n+16>>2];c[w+20>>2]=c[n+20>>2];n=(c[a+12>>2]|0)+(p*24|0)|0;c[n+0>>2]=c[f+0>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[n+16>>2]=c[f+16>>2];c[n+20>>2]=c[f+20>>2];o=o+1|0;p=p+ -1|0}if((o|0)>(p|0))break;n=c[a+12>>2]|0}if((p|0)>(d|0))zA(a,b,d,p);if((o|0)>=(e|0)){i=f;return}zA(a,b,o,e);i=f;return}function AA(d,f,h){d=d|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,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.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0;j=i;i=i+128|0;m=c[d+56>>2]|0;if((h-f|0)==1){if((a[d+60>>0]|0)==0){E=(c[d+96>>2]|0)+(m<<6)+0|0;v=(c[d+76>>2]|0)+(f<<6)+0|0;r=E+64|0;do{c[E>>2]=c[v>>2];E=E+4|0;v=v+4|0}while((E|0)<(r|0))}else{L=(c[d+136>>2]|0)+(m<<4)|0;K=(c[d+116>>2]|0)+(f<<4)|0;c[L+0>>2]=c[K+0>>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[d+56>>2]=(c[d+56>>2]|0)+1;i=j;return}if((f|0)<(h|0)){o=(a[d+60>>0]|0)==0;t=0.0;u=0.0;A=0.0;p=f;do{if(o){L=c[d+76>>2]|0;y=+g[L+(p<<6)>>2];z=+g[L+(p<<6)+16>>2];w=+g[L+(p<<6)+4>>2];x=+g[L+(p<<6)+20>>2];B=+g[L+(p<<6)+8>>2];s=+g[L+(p<<6)+24>>2]}else{L=c[d+116>>2]|0;w=+g[d+36>>2];B=+g[d+40>>2];F=+g[d+44>>2];z=+g[d+4>>2];x=+g[d+8>>2];s=+g[d+12>>2];y=+(e[L+(p<<4)>>1]|0)/w+z;z=+(e[L+(p<<4)+6>>1]|0)/w+z;w=+(e[L+(p<<4)+2>>1]|0)/B+x;x=+(e[L+(p<<4)+8>>1]|0)/B+x;B=+(e[L+(p<<4)+4>>1]|0)/F+s;s=+(e[L+(p<<4)+10>>1]|0)/F+s}A=A+(z+y)*.5;t=t+(x+w)*.5;u=u+(s+B)*.5;p=p+1|0}while((p|0)!=(h|0));F=1.0/+(h-f|0);s=A*F;t=t*F;u=u*F;if(o){o=c[d+76>>2]|0;w=0.0;z=0.0;F=0.0;p=f;do{B=(+g[o+(p<<6)+16>>2]+ +g[o+(p<<6)>>2])*.5-s;C=(+g[o+(p<<6)+20>>2]+ +g[o+(p<<6)+4>>2])*.5-t;D=(+g[o+(p<<6)+24>>2]+ +g[o+(p<<6)+8>>2])*.5-u;w=w+B*B;z=z+C*C;F=F+D*D;p=p+1|0}while((p|0)!=(h|0));s=+(h-f|0)}else{p=c[d+116>>2]|0;y=+g[d+36>>2];B=+g[d+40>>2];D=+g[d+44>>2];A=+g[d+4>>2];C=+g[d+8>>2];x=+g[d+12>>2];w=0.0;z=0.0;F=0.0;o=f;do{O=(+(e[p+(o<<4)+6>>1]|0)/y+A+(+(e[p+(o<<4)>>1]|0)/y+A))*.5-s;N=(+(e[p+(o<<4)+8>>1]|0)/B+C+(+(e[p+(o<<4)+2>>1]|0)/B+C))*.5-t;M=(+(e[p+(o<<4)+10>>1]|0)/D+x+(+(e[p+(o<<4)+4>>1]|0)/D+x))*.5-u;w=w+O*O;z=z+N*N;F=F+M*M;o=o+1|0}while((o|0)!=(h|0));s=+(h-f|0)}}else{F=0.0;z=0.0;w=0.0;s=+(h-f|0)}u=1.0/(s+-1.0);s=w*u;t=z*u;u=F*u;if(s>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;if((f|0)<(h|0)){q=(a[d+60>>0]|0)==0;u=0.0;t=0.0;s=0.0;p=f;do{if(q){L=c[d+76>>2]|0;z=+g[L+(p<<6)>>2];y=+g[L+(p<<6)+16>>2];w=+g[L+(p<<6)+4>>2];A=+g[L+(p<<6)+20>>2];x=+g[L+(p<<6)+8>>2];B=+g[L+(p<<6)+24>>2]}else{L=c[d+116>>2]|0;w=+g[d+36>>2];x=+g[d+40>>2];O=+g[d+44>>2];y=+g[d+4>>2];A=+g[d+8>>2];B=+g[d+12>>2];z=+(e[L+(p<<4)>>1]|0)/w+y;y=+(e[L+(p<<4)+6>>1]|0)/w+y;w=+(e[L+(p<<4)+2>>1]|0)/x+A;A=+(e[L+(p<<4)+8>>1]|0)/x+A;x=+(e[L+(p<<4)+4>>1]|0)/O+B;B=+(e[L+(p<<4)+10>>1]|0)/O+B}u=u+(y+z)*.5;t=(A+w)*.5+t;s=(B+x)*.5+s;p=p+1|0}while((p|0)!=(h|0));g[j+16>>2]=u;g[j+20>>2]=t;g[j+24>>2]=s}else{u=0.0;t=0.0;s=0.0}g[j+16>>2]=1.0/+(h-f|0)*u;g[j+20>>2]=1.0/+(h-f|0)*t;g[j+24>>2]=1.0/+(h-f|0)*s;s=+g[j+16+(o<<2)>>2];if((f|0)<(h|0)){o=j+(o<<2)|0;q=f;p=f;do{r=(a[d+60>>0]|0)==0;if(r){L=c[d+76>>2]|0;x=+g[L+(q<<6)>>2];y=+g[L+(q<<6)+16>>2];u=+g[L+(q<<6)+4>>2];w=+g[L+(q<<6)+20>>2];t=+g[L+(q<<6)+8>>2];z=+g[L+(q<<6)+24>>2]}else{L=c[d+116>>2]|0;u=+g[d+36>>2];t=+g[d+40>>2];O=+g[d+44>>2];y=+g[d+4>>2];w=+g[d+8>>2];z=+g[d+12>>2];x=+(e[L+(q<<4)>>1]|0)/u+y;y=+(e[L+(q<<4)+6>>1]|0)/u+y;u=+(e[L+(q<<4)+2>>1]|0)/t+w;w=+(e[L+(q<<4)+8>>1]|0)/t+w;t=+(e[L+(q<<4)+4>>1]|0)/O+z;z=+(e[L+(q<<4)+10>>1]|0)/O+z}g[j>>2]=(y+x)*.5;g[j+4>>2]=(w+u)*.5;g[j+8>>2]=(z+t)*.5;g[j+12>>2]=0.0;if(+g[o>>2]>s){if(r){G=c[d+76>>2]|0;H=G+(q<<6)|0;E=j+32|0;v=H+0|0;r=E+64|0;do{c[E>>2]=c[v>>2];E=E+4|0;v=v+4|0}while((E|0)<(r|0));E=H+0|0;v=G+(p<<6)+0|0;r=E+64|0;do{c[E>>2]=c[v>>2];E=E+4|0;v=v+4|0}while((E|0)<(r|0));E=(c[d+76>>2]|0)+(p<<6)+0|0;v=j+32|0;r=E+64|0;do{c[E>>2]=c[v>>2];E=E+4|0;v=v+4|0}while((E|0)<(r|0))}else{K=c[d+116>>2]|0;L=K+(q<<4)|0;c[j+96>>2]=c[L+0>>2];c[j+100>>2]=c[L+4>>2];c[j+104>>2]=c[L+8>>2];c[j+108>>2]=c[L+12>>2];K=K+(p<<4)|0;c[L+0>>2]=c[K+0>>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=(c[d+116>>2]|0)+(p<<4)|0;c[L+0>>2]=c[j+96>>2];c[L+4>>2]=c[j+100>>2];c[L+8>>2]=c[j+104>>2];c[L+12>>2]=c[j+108>>2]}p=p+1|0}q=q+1|0}while((q|0)!=(h|0))}else p=f;if(!((p|0)>(((h-f|0)/3|0)+f|0)?(p|0)<(h+ -1-((h-f|0)/3|0)|0):0))p=(h-f>>1)+f|0;o=c[d+56>>2]|0;do if((a[d+60>>0]|0)==0){q=(c[d+96>>2]|0)+(o<<6)|0;c[q+0>>2]=c[d+20>>2];c[q+4>>2]=c[d+24>>2];c[q+8>>2]=c[d+28>>2];c[q+12>>2]=c[d+32>>2];q=c[d+56>>2]|0;if((a[d+60>>0]|0)==0){q=(c[d+96>>2]|0)+(q<<6)+16|0;c[q+0>>2]=c[d+4>>2];c[q+4>>2]=c[d+8>>2];c[q+8>>2]=c[d+12>>2];c[q+12>>2]=c[d+16>>2];q=c[d+56>>2]|0;break}else{r=c[d+136>>2]|0;v=d+4|0;x=+g[d+8>>2];t=+g[d+12>>2];w=+g[d+36>>2];s=+g[d+40>>2];u=+g[d+44>>2];n=46;break}}else{r=c[d+136>>2]|0;x=+g[d+8>>2];t=+g[d+12>>2];w=+g[d+36>>2];s=+g[d+40>>2];N=(+g[d+24>>2]-x)*s;u=+g[d+44>>2];O=(+g[d+28>>2]-t)*u;b[r+(o<<4)>>1]=~~((+g[d+20>>2]- +g[d+4>>2])*w)&65534;b[r+(o<<4)+2>>1]=~~N&65534;b[r+(o<<4)+4>>1]=~~O&65534;q=o;v=d+4|0;n=46}while(0);if((n|0)==46){O=+g[v>>2];b[r+(q<<4)+6>>1]=~~((O-O)*w+1.0)&65535|1;b[r+(q<<4)+8>>1]=~~((x-x)*s+1.0)&65535|1;b[r+(q<<4)+10>>1]=~~((t-t)*u+1.0)&65535|1}if((f|0)<(h|0)){n=a[d+60>>0]|0;r=f;do{if(n<<24>>24==0){v=c[d+76>>2]|0;A=+g[v+(r<<6)>>2];z=+g[v+(r<<6)+4>>2];y=+g[v+(r<<6)+8>>2];x=+g[v+(r<<6)+12>>2];w=+g[v+(r<<6)+16>>2];u=+g[v+(r<<6)+20>>2];t=+g[v+(r<<6)+24>>2];s=+g[v+(r<<6)+28>>2];v=c[d+96>>2]|0;E=v+(q<<6)|0;if(A<+g[E>>2])g[E>>2]=A;E=v+(q<<6)+4|0;if(z<+g[E>>2])g[E>>2]=z;E=v+(q<<6)+8|0;if(y<+g[E>>2])g[E>>2]=y;E=v+(q<<6)+12|0;if(x<+g[E>>2])g[E>>2]=x;E=v+(q<<6)+16|0;if(+g[E>>2]>2]=w;E=v+(q<<6)+20|0;if(+g[E>>2]>2]=u;E=v+(q<<6)+24|0;if(+g[E>>2]>2]=t;v=v+(q<<6)+28|0;if(+g[v>>2]>2]=s}else{v=c[d+116>>2]|0;w=+g[d+36>>2];A=+g[d+40>>2];F=+g[d+44>>2];x=+g[d+4>>2];B=+g[d+8>>2];M=+g[d+12>>2];y=+g[d+4>>2];C=+g[d+8>>2];N=+g[d+12>>2];z=+g[d+36>>2];D=+g[d+40>>2];O=+g[d+44>>2];K=~~((+(e[v+(r<<4)>>1]|0)/w+x-y)*z)&65534;I=~~((+(e[v+(r<<4)+2>>1]|0)/A+B-C)*D)&65534;G=~~((+(e[v+(r<<4)+4>>1]|0)/F+M-N)*O)&65534;J=(~~((+(e[v+(r<<4)+6>>1]|0)/w+x-y)*z+1.0)&65535|1)&65535;H=(~~((+(e[v+(r<<4)+8>>1]|0)/A+B-C)*D+1.0)&65535|1)&65535;v=(~~((+(e[v+(r<<4)+10>>1]|0)/F+M-N)*O+1.0)&65535|1)&65535;E=c[d+136>>2]|0;L=E+(q<<4)|0;if((e[L>>1]|0)>(K&65535))b[L>>1]=K;K=E+(q<<4)+6|0;if((e[K>>1]|0)<(J&65535))b[K>>1]=J;J=E+(q<<4)+2|0;if((e[J>>1]|0)>(I&65535))b[J>>1]=I;I=E+(q<<4)+8|0;if((e[I>>1]|0)<(H&65535))b[I>>1]=H;H=E+(q<<4)+4|0;if((e[H>>1]|0)>(G&65535))b[H>>1]=G;E=E+(q<<4)+10|0;if((e[E>>1]|0)<(v&65535))b[E>>1]=v}r=r+1|0}while((r|0)!=(h|0))}q=q+1|0;c[d+56>>2]=q;AA(d,f,p);f=c[d+56>>2]|0;AA(d,p,h);h=(c[d+56>>2]|0)-m|0;do if((a[d+60>>0]|0)!=0){if((h<<4|0)>2048){m=c[d+136>>2]|0;p=c[m+(q<<4)+12>>2]|0;p=(p|0)>-1?1:0-p|0;n=c[m+(f<<4)+12>>2]|0;n=(n|0)>-1?1:0-n|0;if((p<<4|0)<2049){r=c[d+152>>2]|0;if((r|0)==(c[d+156>>2]|0)?(l=(r|0)==0?1:r<<1,(r|0)<(l|0)):0){if((l|0)==0){v=0;G=r}else{c[5004]=(c[5004]|0)+1;v=XE(l<<5|19)|0;if((v|0)==0)v=0;else{c[(v+19&-16)+ -4>>2]=v;v=v+19&-16}G=c[d+152>>2]|0}if((G|0)>0){E=0;do{L=v+(E<<5)|0;K=(c[d+160>>2]|0)+(E<<5)|0;c[L+0>>2]=c[K+0>>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];c[L+28>>2]=c[K+28>>2];E=E+1|0}while((E|0)!=(G|0))}E=c[d+160>>2]|0;if((E|0)!=0){if((a[d+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[E+ -4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=v;c[d+156>>2]=l;l=c[d+152>>2]|0}else l=r;c[d+152>>2]=l+1;l=(c[d+160>>2]|0)+(r<<5)|0;c[l+0>>2]=c[j+96>>2];c[l+4>>2]=c[j+100>>2];c[l+8>>2]=c[j+104>>2];c[l+12>>2]=c[j+108>>2];c[l+16>>2]=c[j+112>>2];c[l+20>>2]=c[j+116>>2];c[l+24>>2]=c[j+120>>2];c[l+28>>2]=c[j+124>>2];l=c[d+160>>2]|0;b[l+(r<<5)>>1]=b[m+(q<<4)>>1]|0;b[l+(r<<5)+2>>1]=b[m+(q<<4)+2>>1]|0;b[l+(r<<5)+4>>1]=b[m+(q<<4)+4>>1]|0;b[l+(r<<5)+6>>1]=b[m+(q<<4)+6>>1]|0;b[l+(r<<5)+8>>1]=b[m+(q<<4)+8>>1]|0;b[l+(r<<5)+10>>1]=b[m+(q<<4)+10>>1]|0;c[l+(r<<5)+12>>2]=q;c[l+(r<<5)+16>>2]=p;l=d+152|0}else l=d+152|0;if((n<<4|0)<2049){p=c[l>>2]|0;if((p|0)==(c[d+156>>2]|0)?(k=(p|0)==0?1:p<<1,(p|0)<(k|0)):0){if((k|0)==0){q=0;v=p}else{c[5004]=(c[5004]|0)+1;q=XE(k<<5|19)|0;if((q|0)==0)q=0;else{c[(q+19&-16)+ -4>>2]=q;q=q+19&-16}v=c[l>>2]|0}if((v|0)>0){r=0;do{L=q+(r<<5)|0;K=(c[d+160>>2]|0)+(r<<5)|0;c[L+0>>2]=c[K+0>>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];c[L+28>>2]=c[K+28>>2];r=r+1|0}while((r|0)!=(v|0))}r=c[d+160>>2]|0;if((r|0)!=0){if((a[d+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[r+ -4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=q;c[d+156>>2]=k;k=c[l>>2]|0}else k=p;c[l>>2]=k+1;L=(c[d+160>>2]|0)+(p<<5)|0;c[L+0>>2]=c[j+32>>2];c[L+4>>2]=c[j+36>>2];c[L+8>>2]=c[j+40>>2];c[L+12>>2]=c[j+44>>2];c[L+16>>2]=c[j+48>>2];c[L+20>>2]=c[j+52>>2];c[L+24>>2]=c[j+56>>2];c[L+28>>2]=c[j+60>>2];L=c[d+160>>2]|0;b[L+(p<<5)>>1]=b[m+(f<<4)>>1]|0;b[L+(p<<5)+2>>1]=b[m+(f<<4)+2>>1]|0;b[L+(p<<5)+4>>1]=b[m+(f<<4)+4>>1]|0;b[L+(p<<5)+6>>1]=b[m+(f<<4)+6>>1]|0;b[L+(p<<5)+8>>1]=b[m+(f<<4)+8>>1]|0;b[L+(p<<5)+10>>1]=b[m+(f<<4)+10>>1]|0;c[L+(p<<5)+12>>2]=f;c[L+(p<<5)+16>>2]=n}c[d+168>>2]=c[l>>2];if((a[d+60>>0]|0)==0)break;else d=d+136|0}else d=d+136|0;c[(c[d>>2]|0)+(o<<4)+12>>2]=0-h;i=j;return}while(0);c[(c[d+96>>2]|0)+(o<<6)+32>>2]=h;i=j;return}function BA(a){a=a|0;var b=0;b=i;CA(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function CA(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16080;e=c[b+160>>2]|0;if((e|0)!=0){if((a[b+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+136>>2]|0;if((e|0)!=0){if((a[b+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+116>>2]|0;if((e|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+96>>2]|0;if((e|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+76>>2]|0;if((e|0)==0){a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;e=b+72|0;c[e>>2]=0;i=d;return}if((a[b+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+76>>2]=0;a[b+80>>0]=1;c[b+76>>2]=0;c[b+68>>2]=0;e=b+72|0;c[e>>2]=0;i=d;return}function DA(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0;g=i;while(1){j=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=8;break}if((j|0)>-1)break;DA(a+16|0,b,d,f);j=c[a+28>>2]|0;if((j|0)>-1){a=a+32|0;continue}else{a=a+(1-j<<4)|0;continue}}if((h|0)==8){i=g;return}rc[c[(c[b>>2]|0)+8>>2]&127](b,j>>21,j&2097151);i=g;return}function EA(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.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,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.0,P=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0,W=0,X=0,Y=0;l=i;i=i+32|0;o=+g[d>>2];p=+g[d+4>>2];I=+g[d+8>>2];U=+g[j>>2];u=(o>e?e:o)+U;O=+g[j+4>>2];q=(p>f?f:p)+O;P=+g[j+8>>2];s=(I>h?h:I)+P;R=+g[k>>2];v=(o>2];r=(p>2];t=(I>2]|0;a:do if((K|0)>0){N=0;M=c[a+96>>2]|0;L=1;while(1){c[l+0>>2]=c[M+0>>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];Y=M+16|0;c[l+16>>2]=c[Y+0>>2];c[l+20>>2]=c[Y+4>>2];c[l+24>>2]=c[Y+8>>2];c[l+28>>2]=c[Y+12>>2];g[l>>2]=+g[l>>2]-R;g[l+4>>2]=+g[l+4>>2]-S;g[l+8>>2]=+g[l+8>>2]-T;g[l+16>>2]=+g[l+16>>2]-U;g[l+20>>2]=+g[l+20>>2]-O;g[l+24>>2]=+g[l+24>>2]-P;if(!(u>+g[Y>>2])?!(v<+g[M>>2]):0)V=1;else V=0;if(!(!(s>+g[M+24>>2])?!(t<+g[M+8>>2]):0))V=0;if((((!(q>+g[M+20>>2])?!(r<+g[M+4>>2]|V^1):0)?(J=+g[d>>2],H=B*(+g[l+(x<<4)>>2]-J),J=B*(+g[l+((x^1)<<4)>>2]-J),m=+g[d+4>>2],G=A*(+g[l+(w<<4)+4>>2]-m),m=A*(+g[l+((w^1)<<4)+4>>2]-m),!(H>m|G>J)):0)?(F=G>H?G:H,D=m>2],E=z*(+g[l+(y<<4)+8>>2]-C),C=z*(+g[l+((y^1)<<4)+8>>2]-C),!(F>C|E>D)):0)?(E>F?E:F)<(h-I)*(h-I)*n+((e-o)*(e-o)*n+(f-p)*(f-p)*n):0){Y=(C0.0;W=c[M+32>>2]|0;if((W|0)==-1&Y){rc[c[(c[b>>2]|0)+8>>2]&127](b,c[M+36>>2]|0,c[M+40>>2]|0);K=c[a+56>>2]|0;V=24}else{X=(W|0)==-1;V=23}}else{W=c[M+32>>2]|0;X=(W|0)==-1;Y=0;V=23}if((V|0)==23){V=0;if(Y|X)V=24;else{N=W+N|0;M=M+(W<<6)|0}}if((V|0)==24){N=N+1|0;M=M+64|0}if((N|0)>=(K|0))break a;O=+g[j+4>>2];P=+g[j+8>>2];R=+g[k>>2];S=+g[k+4>>2];T=+g[k+8>>2];U=+g[j>>2];L=L+1|0}}else L=0;while(0);if((c[4028]|0)>=(L|0)){i=l;return}c[4028]=L;i=l;return}function FA(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.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.0,G=0,H=0,I=0,J=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.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;o=i;i=i+32|0;r=+g[f>>2];s=+g[f+4>>2];F=+g[f+8>>2];q=1.0/+Q(+((h-r)*(h-r)+(j-s)*(j-s)+(k-F)*(k-F)));if((h-r)*q==0.0)B=999999984306749400.0;else B=1.0/((h-r)*q);if((j-s)*q==0.0)C=999999984306749400.0;else C=1.0/((j-s)*q);if((k-F)*q==0.0)D=999999984306749400.0;else D=1.0/((k-F)*q);p=B<0.0&1;G=C<0.0&1;E=D<0.0&1;la=(r>h?h:r)+ +g[l>>2];ka=(s>j?j:s)+ +g[l+4>>2];ja=(F>k?k:F)+ +g[l+8>>2];ha=(r>2];da=(s>2];$=(F>2];ga=+g[a+4>>2];la=la>2];ka=ka>2];ja=ja<_?_:ja;ia=+g[a+20>>2];ea=+g[a+24>>2];aa=+g[a+28>>2];fa=+g[a+36>>2];ba=+g[a+40>>2];Z=+g[a+44>>2];I=~~(((ia0){N=0;P=c[a+136>>2]|0;O=0;do{O=O+1|0;T=P+6|0;X=b[P>>1]|0;Y=P+10|0;V=b[P+4>>1]|0;U=P+8|0;W=b[P+2>>1]|0;R=P+12|0;S=(c[R>>2]|0)>-1;if(((((H&65535)>=(X&65535)?(I&65535)<=(e[T>>1]|0):0)&(J&65535)<=(e[Y>>1]|0)&(K&65535)>=(V&65535)&(L&65535)<=(e[U>>1]|0)&(M&65535)>=(W&65535)?(ha=+g[a+36>>2],ja=+g[a+40>>2],la=+g[a+44>>2],ia=+g[a+4>>2],ka=+g[a+8>>2],x=+g[a+12>>2],g[o+12>>2]=0.0,z=+(e[T>>1]|0)/ha+ia,y=+(e[U>>1]|0)/ja+ka,A=+(e[Y>>1]|0)/la+x,g[o+28>>2]=0.0,g[o>>2]=+(X&65535)/ha+ia- +g[m>>2],g[o+4>>2]=+(W&65535)/ja+ka- +g[m+4>>2],g[o+8>>2]=+(V&65535)/la+x- +g[m+8>>2],g[o+16>>2]=z- +g[l>>2],g[o+20>>2]=y- +g[l+4>>2],g[o+24>>2]=A- +g[l+8>>2],A=+g[f>>2],y=B*(+g[o+(p<<4)>>2]-A),A=B*(+g[o+((p^1)<<4)>>2]-A),z=+g[f+4>>2],x=C*(+g[o+(G<<4)+4>>2]-z),z=C*(+g[o+((G^1)<<4)+4>>2]-z),!(y>z|x>A)):0)?(w=x>y?x:y,u=z>2],v=D*(+g[o+(E<<4)+8>>2]-t),t=D*(+g[o+((E^1)<<4)+8>>2]-t),!(w>t|v>u)):0)?(v>w?v:w)<(k-F)*(k-F)*q+((h-r)*(h-r)*q+(j-s)*(j-s)*q):0){U=!((t0.0);if(U|S^1)T=15;else{T=c[R>>2]|0;rc[c[(c[d>>2]|0)+8>>2]&127](d,T>>21,T&2097151);T=16}}else{U=1;T=15}if((T|0)==15){T=0;if(S|U^1)T=16;else{Y=c[R>>2]|0;N=N-Y|0;P=P+(0-Y<<4)|0}}if((T|0)==16){N=N+1|0;P=P+16|0}}while((N|0)<(n|0))}else O=0;if((c[4028]|0)>=(O|0)){i=o;return}c[4028]=O;i=o;return}function GA(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;h=i;c[d+168>>2]=c[d+152>>2];c[f>>2]=16080;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;g[f+4>>2]=-3.4028234663852886e+38;g[f+8>>2]=-3.4028234663852886e+38;g[f+12>>2]=-3.4028234663852886e+38;g[f+16>>2]=0.0;g[f+20>>2]=3.4028234663852886e+38;g[f+24>>2]=3.4028234663852886e+38;g[f+28>>2]=3.4028234663852886e+38;g[f+32>>2]=0.0;k=c[d+56>>2]|0;if(j){c[f+56>>2]=eF(k|0)|0;a[f+4>>0]=a[d+7>>0]|0;a[f+5>>0]=a[d+6>>0]|0;a[f+6>>0]=a[d+5>>0]|0;a[f+7>>0]=a[d+4>>0]|0;a[f+8>>0]=a[d+11>>0]|0;a[f+9>>0]=a[d+10>>0]|0;a[f+10>>0]=a[d+9>>0]|0;a[f+11>>0]=a[d+8>>0]|0;a[f+12>>0]=a[d+15>>0]|0;a[f+13>>0]=a[d+14>>0]|0;a[f+14>>0]=a[d+13>>0]|0;a[f+15>>0]=a[d+12>>0]|0;a[f+16>>0]=a[d+19>>0]|0;a[f+17>>0]=a[d+18>>0]|0;a[f+18>>0]=a[d+17>>0]|0;a[f+19>>0]=a[d+16>>0]|0;a[f+20>>0]=a[d+23>>0]|0;a[f+21>>0]=a[d+22>>0]|0;a[f+22>>0]=a[d+21>>0]|0;a[f+23>>0]=a[d+20>>0]|0;a[f+24>>0]=a[d+27>>0]|0;a[f+25>>0]=a[d+26>>0]|0;a[f+26>>0]=a[d+25>>0]|0;a[f+27>>0]=a[d+24>>0]|0;a[f+28>>0]=a[d+31>>0]|0;a[f+29>>0]=a[d+30>>0]|0;a[f+30>>0]=a[d+29>>0]|0;a[f+31>>0]=a[d+28>>0]|0;a[f+32>>0]=a[d+35>>0]|0;a[f+33>>0]=a[d+34>>0]|0;a[f+34>>0]=a[d+33>>0]|0;a[f+35>>0]=a[d+32>>0]|0;a[f+36>>0]=a[d+39>>0]|0;a[f+37>>0]=a[d+38>>0]|0;a[f+38>>0]=a[d+37>>0]|0;a[f+39>>0]=a[d+36>>0]|0;a[f+40>>0]=a[d+43>>0]|0;a[f+41>>0]=a[d+42>>0]|0;a[f+42>>0]=a[d+41>>0]|0;a[f+43>>0]=a[d+40>>0]|0;a[f+44>>0]=a[d+47>>0]|0;a[f+45>>0]=a[d+46>>0]|0;a[f+46>>0]=a[d+45>>0]|0;a[f+47>>0]=a[d+44>>0]|0;a[f+48>>0]=a[d+51>>0]|0;a[f+49>>0]=a[d+50>>0]|0;a[f+50>>0]=a[d+49>>0]|0;a[f+51>>0]=a[d+48>>0]|0;c[f+144>>2]=eF(c[d+144>>2]|0)|0;k=eF(c[d+168>>2]|0)|0}else{c[f+56>>2]=k;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[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[f+32>>2]=c[d+32>>2];c[f+36>>2]=c[d+36>>2];c[f+40>>2]=c[d+40>>2];c[f+44>>2]=c[d+44>>2];c[f+48>>2]=c[d+48>>2];c[f+144>>2]=c[d+144>>2];k=c[d+168>>2]|0}c[f+168>>2]=k;a[f+60>>0]=a[d+60>>0]|0;k=c[d+56>>2]|0;if((a[d+60>>0]|0)==0){l=c[f+96>>2]|0;if((l|0)!=0){if((a[f+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;a[f+100>>0]=0;c[f+96>>2]=f+172;c[f+88>>2]=k;c[f+92>>2]=k;if(j)if((k|0)>0){l=c[d+96>>2]|0;n=f+172|0;m=0;do{o=l+(m<<6)|0;q=n+(m<<6)|0;a[q>>0]=a[o+3>>0]|0;a[q+1>>0]=a[o+2>>0]|0;a[q+2>>0]=a[o+1>>0]|0;a[q+3>>0]=a[o>>0]|0;q=l+(m<<6)+4|0;o=n+(m<<6)+4|0;a[o>>0]=a[q+3>>0]|0;a[o+1>>0]=a[q+2>>0]|0;a[o+2>>0]=a[q+1>>0]|0;a[o+3>>0]=a[q>>0]|0;o=l+(m<<6)+8|0;q=n+(m<<6)+8|0;a[q>>0]=a[o+3>>0]|0;a[q+1>>0]=a[o+2>>0]|0;a[q+2>>0]=a[o+1>>0]|0;a[q+3>>0]=a[o>>0]|0;q=l+(m<<6)+12|0;n=n+(m<<6)+12|0;a[n>>0]=a[q+3>>0]|0;a[n+1>>0]=a[q+2>>0]|0;a[n+2>>0]=a[q+1>>0]|0;a[n+3>>0]=a[q>>0]|0;n=c[d+96>>2]|0;q=n+(m<<6)+16|0;o=c[f+96>>2]|0;p=o+(m<<6)+16|0;a[p>>0]=a[q+3>>0]|0;a[p+1>>0]=a[q+2>>0]|0;a[p+2>>0]=a[q+1>>0]|0;a[p+3>>0]=a[q>>0]|0;p=n+(m<<6)+20|0;q=o+(m<<6)+20|0;a[q>>0]=a[p+3>>0]|0;a[q+1>>0]=a[p+2>>0]|0;a[q+2>>0]=a[p+1>>0]|0;a[q+3>>0]=a[p>>0]|0;q=n+(m<<6)+24|0;p=o+(m<<6)+24|0;a[p>>0]=a[q+3>>0]|0;a[p+1>>0]=a[q+2>>0]|0;a[p+2>>0]=a[q+1>>0]|0;a[p+3>>0]=a[q>>0]|0;n=n+(m<<6)+28|0;o=o+(m<<6)+28|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;l=c[d+96>>2]|0;o=eF(c[l+(m<<6)+32>>2]|0)|0;n=c[f+96>>2]|0;c[n+(m<<6)+32>>2]=o;c[n+(m<<6)+36>>2]=eF(c[l+(m<<6)+36>>2]|0)|0;c[n+(m<<6)+40>>2]=eF(c[l+(m<<6)+40>>2]|0)|0;m=m+1|0}while((m|0)!=(k|0))}else n=f+172|0;else if((k|0)>0){n=f+172|0;l=c[d+96>>2]|0;m=0;do{n=n+(m<<6)|0;q=l+(m<<6)|0;c[n+0>>2]=c[q+0>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];n=(c[f+96>>2]|0)+(m<<6)+16|0;q=(c[d+96>>2]|0)+(m<<6)+16|0;c[n+0>>2]=c[q+0>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];l=c[d+96>>2]|0;n=c[f+96>>2]|0;c[n+(m<<6)+32>>2]=c[l+(m<<6)+32>>2];c[n+(m<<6)+36>>2]=c[l+(m<<6)+36>>2];c[n+(m<<6)+40>>2]=c[l+(m<<6)+40>>2];m=m+1|0}while((m|0)!=(k|0))}else n=f+172|0;if((n|0)!=0){if((a[f+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[n+ -4>>2]|0)}c[f+96>>2]=0}c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;a[f+100>>0]=0;k=k<<6}else{l=c[f+136>>2]|0;if((l|0)!=0){if((a[f+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[f+136>>2]=0}c[f+128>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;a[f+140>>0]=0;c[f+136>>2]=f+172;c[f+128>>2]=k;c[f+132>>2]=k;if(j){if((k|0)>0){l=c[d+136>>2]|0;m=0;do{q=e[l+(m<<4)>>1]|0;b[f+172+(m<<4)>>1]=q>>>8|q<<8;q=e[l+(m<<4)+2>>1]|0;b[f+172+(m<<4)+2>>1]=q>>>8|q<<8;q=e[l+(m<<4)+4>>1]|0;b[f+172+(m<<4)+4>>1]=q>>>8|q<<8;q=e[l+(m<<4)+6>>1]|0;b[f+172+(m<<4)+6>>1]=q>>>8|q<<8;q=e[l+(m<<4)+8>>1]|0;b[f+172+(m<<4)+8>>1]=q>>>8|q<<8;q=e[l+(m<<4)+10>>1]|0;b[f+172+(m<<4)+10>>1]=q>>>8|q<<8;c[f+172+(m<<4)+12>>2]=eF(c[l+(m<<4)+12>>2]|0)|0;m=m+1|0}while((m|0)!=(k|0))}}else if((k|0)>0){l=c[d+136>>2]|0;m=0;do{b[f+172+(m<<4)>>1]=b[l+(m<<4)>>1]|0;b[f+172+(m<<4)+2>>1]=b[l+(m<<4)+2>>1]|0;b[f+172+(m<<4)+4>>1]=b[l+(m<<4)+4>>1]|0;b[f+172+(m<<4)+6>>1]=b[l+(m<<4)+6>>1]|0;b[f+172+(m<<4)+8>>1]=b[l+(m<<4)+8>>1]|0;b[f+172+(m<<4)+10>>1]=b[l+(m<<4)+10>>1]|0;c[f+172+(m<<4)+12>>2]=c[l+(m<<4)+12>>2];m=m+1|0}while((m|0)!=(k|0))}c[f+128>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;a[f+140>>0]=0;k=k<<4}k=f+(k+172)|0;m=c[d+168>>2]|0;l=c[f+160>>2]|0;if((l|0)!=0){if((a[f+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[f+160>>2]=0}c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;c[f+160>>2]=k;c[f+152>>2]=m;c[f+156>>2]=m;l=(c[d+168>>2]|0)>0;if(j){if(!l){c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=h;return 1}l=c[d+160>>2]|0;j=0;do{q=e[l+(j<<5)>>1]|0;b[k+(j<<5)>>1]=q>>>8|q<<8;q=e[l+(j<<5)+2>>1]|0;b[k+(j<<5)+2>>1]=q>>>8|q<<8;q=e[l+(j<<5)+4>>1]|0;b[k+(j<<5)+4>>1]=q>>>8|q<<8;q=e[l+(j<<5)+6>>1]|0;b[k+(j<<5)+6>>1]=q>>>8|q<<8;q=e[l+(j<<5)+8>>1]|0;b[k+(j<<5)+8>>1]=q>>>8|q<<8;q=e[l+(j<<5)+10>>1]|0;b[k+(j<<5)+10>>1]=q>>>8|q<<8;c[k+(j<<5)+12>>2]=eF(c[l+(j<<5)+12>>2]|0)|0;c[k+(j<<5)+16>>2]=eF(c[l+(j<<5)+16>>2]|0)|0;j=j+1|0}while((j|0)<(c[d+168>>2]|0));c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=h;return 1}else{if(!l){c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=h;return 1}j=c[d+160>>2]|0;l=0;do{b[k+(l<<5)>>1]=b[j+(l<<5)>>1]|0;b[k+(l<<5)+2>>1]=b[j+(l<<5)+2>>1]|0;b[k+(l<<5)+4>>1]=b[j+(l<<5)+4>>1]|0;b[k+(l<<5)+6>>1]=b[j+(l<<5)+6>>1]|0;b[k+(l<<5)+8>>1]=b[j+(l<<5)+8>>1]|0;b[k+(l<<5)+10>>1]=b[j+(l<<5)+10>>1]|0;c[k+(l<<5)+12>>2]=c[j+(l<<5)+12>>2];c[k+(l<<5)+16>>2]=c[j+(l<<5)+16>>2];c[k+(l<<5)+20>>2]=0;c[k+(l<<5)+24>>2]=0;c[k+(l<<5)+28>>2]=0;l=l+1|0}while((l|0)<(c[d+168>>2]|0));c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=h;return 1}return 0}function HA(d,e){d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+112|0;g[d+20>>2]=+g[e+16>>2];g[d+24>>2]=+g[e+20>>2];g[d+28>>2]=+g[e+24>>2];g[d+32>>2]=+g[e+28>>2];g[d+4>>2]=+g[e>>2];g[d+8>>2]=+g[e+4>>2];g[d+12>>2]=+g[e+8>>2];g[d+16>>2]=+g[e+12>>2];g[d+36>>2]=+g[e+32>>2];g[d+40>>2]=+g[e+36>>2];g[d+44>>2]=+g[e+40>>2];g[d+48>>2]=+g[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;h=c[e+56>>2]|0;l=f+48|0;m=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));j=c[d+88>>2]|0;if((j|0)<(h|0)){if((c[d+92>>2]|0)<(h|0)){if((h|0)==0){n=0;o=j}else{c[5004]=(c[5004]|0)+1;k=XE(h<<6|19)|0;if((k|0)==0)n=0;else{c[(k+19&-16)+ -4>>2]=k;n=k+19&-16}o=c[d+88>>2]|0}if((o|0)>0){p=0;do{l=n+(p<<6)+0|0;k=(c[d+96>>2]|0)+(p<<6)+0|0;m=l+64|0;do{c[l>>2]=c[k>>2];l=l+4|0;k=k+4|0}while((l|0)<(m|0));p=p+1|0}while((p|0)!=(o|0))}k=c[d+96>>2]|0;if((k|0)!=0){if((a[d+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=n;c[d+92>>2]=h;n=d+96|0}else n=d+96|0;do{l=(c[n>>2]|0)+(j<<6)+0|0;k=f+48|0;m=l+64|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))}c[d+88>>2]=h;if((h|0)>0){l=c[d+96>>2]|0;j=0;k=c[e+64>>2]|0;while(1){g[l+(j<<6)+16>>2]=+g[k+16>>2];g[l+(j<<6)+20>>2]=+g[k+20>>2];g[l+(j<<6)+24>>2]=+g[k+24>>2];g[l+(j<<6)+28>>2]=+g[k+28>>2];g[l+(j<<6)>>2]=+g[k>>2];g[l+(j<<6)+4>>2]=+g[k+4>>2];g[l+(j<<6)+8>>2]=+g[k+8>>2];g[l+(j<<6)+12>>2]=+g[k+12>>2];c[l+(j<<6)+32>>2]=c[k+32>>2];c[l+(j<<6)+36>>2]=c[k+36>>2];c[l+(j<<6)+40>>2]=c[k+40>>2];j=j+1|0;if((j|0)==(h|0))break;else k=k+48|0}}h=c[e+60>>2]|0;c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;c[f+44>>2]=0;j=c[d+128>>2]|0;if((j|0)<(h|0)){if((c[d+132>>2]|0)<(h|0)){if((h|0)==0){k=0;l=j}else{c[5004]=(c[5004]|0)+1;k=XE((h<<4|3)+16|0)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}l=c[d+128>>2]|0}if((l|0)>0){m=0;do{p=k+(m<<4)|0;o=(c[d+136>>2]|0)+(m<<4)|0;c[p+0>>2]=c[o+0>>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];m=m+1|0}while((m|0)!=(l|0))}l=c[d+136>>2]|0;if((l|0)!=0){if((a[d+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=k;c[d+132>>2]=h;k=d+136|0}else k=d+136|0;do{p=(c[k>>2]|0)+(j<<4)|0;c[p+0>>2]=c[f+32>>2];c[p+4>>2]=c[f+36>>2];c[p+8>>2]=c[f+40>>2];c[p+12>>2]=c[f+44>>2];j=j+1|0}while((j|0)!=(h|0))}c[d+128>>2]=h;if((h|0)>0){k=c[d+136>>2]|0;j=0;l=c[e+68>>2]|0;while(1){c[k+(j<<4)+12>>2]=c[l+12>>2];b[k+(j<<4)+6>>1]=b[l+6>>1]|0;b[k+(j<<4)+8>>1]=b[l+8>>1]|0;b[k+(j<<4)+10>>1]=b[l+10>>1]|0;b[k+(j<<4)>>1]=b[l>>1]|0;b[k+(j<<4)+2>>1]=b[l+2>>1]|0;b[k+(j<<4)+4>>1]=b[l+4>>1]|0;j=j+1|0;if((j|0)==(h|0))break;else l=l+16|0}}c[d+144>>2]=c[e+76>>2];h=c[e+80>>2]|0;j=c[d+152>>2]|0;if((j|0)<(h|0)){if((c[d+156>>2]|0)<(h|0)){if((h|0)==0){k=0;l=j}else{c[5004]=(c[5004]|0)+1;k=XE(h<<5|19)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}l=c[d+152>>2]|0}if((l|0)>0){m=0;do{p=k+(m<<5)|0;o=(c[d+160>>2]|0)+(m<<5)|0;c[p+0>>2]=c[o+0>>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];m=m+1|0}while((m|0)!=(l|0))}l=c[d+160>>2]|0;if((l|0)!=0){if((a[d+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=k;c[d+156>>2]=h;k=d+160|0}else k=d+160|0;do{p=(c[k>>2]|0)+(j<<5)|0;c[p+0>>2]=c[f+0>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];c[p+16>>2]=c[f+16>>2];c[p+20>>2]=c[f+20>>2];c[p+24>>2]=c[f+24>>2];c[p+28>>2]=c[f+28>>2];j=j+1|0}while((j|0)!=(h|0))}c[d+152>>2]=h;if((h|0)<=0){i=f;return}j=c[d+160>>2]|0;d=0;e=c[e+72>>2]|0;while(1){b[j+(d<<5)+6>>1]=b[e+14>>1]|0;b[j+(d<<5)+8>>1]=b[e+16>>1]|0;b[j+(d<<5)+10>>1]=b[e+18>>1]|0;b[j+(d<<5)>>1]=b[e+8>>1]|0;b[j+(d<<5)+2>>1]=b[e+10>>1]|0;b[j+(d<<5)+4>>1]=b[e+12>>1]|0;c[j+(d<<5)+12>>2]=c[e>>2];c[j+(d<<5)+16>>2]=c[e+4>>2];d=d+1|0;if((d|0)==(h|0))break;else e=e+20|0}i=f;return}function IA(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;f=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;j=c[e+104>>2]|0;m=f+48|0;n=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(n|0));k=c[d+88>>2]|0;if((k|0)<(j|0)){if((c[d+92>>2]|0)<(j|0)){if((j|0)==0){o=0;p=k}else{c[5004]=(c[5004]|0)+1;l=XE(j<<6|19)|0;if((l|0)==0)o=0;else{c[(l+19&-16)+ -4>>2]=l;o=l+19&-16}p=c[d+88>>2]|0}if((p|0)>0){q=0;do{m=o+(q<<6)+0|0;l=(c[d+96>>2]|0)+(q<<6)+0|0;n=m+64|0;do{c[m>>2]=c[l>>2];m=m+4|0;l=l+4|0}while((m|0)<(n|0));q=q+1|0}while((q|0)!=(p|0))}l=c[d+96>>2]|0;if((l|0)!=0){if((a[d+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=o;c[d+92>>2]=j;o=d+96|0}else o=d+96|0;do{m=(c[o>>2]|0)+(k<<6)+0|0;l=f+48|0;n=m+64|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))}c[d+88>>2]=j;if((j|0)>0){m=c[d+96>>2]|0;k=0;l=c[e+112>>2]|0;while(1){g[m+(k<<6)+16>>2]=+h[l+32>>3];g[m+(k<<6)+20>>2]=+h[l+40>>3];g[m+(k<<6)+24>>2]=+h[l+48>>3];g[m+(k<<6)+28>>2]=+h[l+56>>3];g[m+(k<<6)>>2]=+h[l>>3];g[m+(k<<6)+4>>2]=+h[l+8>>3];g[m+(k<<6)+8>>2]=+h[l+16>>3];g[m+(k<<6)+12>>2]=+h[l+24>>3];c[m+(k<<6)+32>>2]=c[l+64>>2];c[m+(k<<6)+36>>2]=c[l+68>>2];c[m+(k<<6)+40>>2]=c[l+72>>2];k=k+1|0;if((k|0)==(j|0))break;else l=l+80|0}}j=c[e+108>>2]|0;c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;c[f+44>>2]=0;k=c[d+128>>2]|0;if((k|0)<(j|0)){if((c[d+132>>2]|0)<(j|0)){if((j|0)==0){l=0;m=k}else{c[5004]=(c[5004]|0)+1;l=XE((j<<4|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}m=c[d+128>>2]|0}if((m|0)>0){n=0;do{q=l+(n<<4)|0;p=(c[d+136>>2]|0)+(n<<4)|0;c[q+0>>2]=c[p+0>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[d+136>>2]|0;if((m|0)!=0){if((a[d+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=l;c[d+132>>2]=j;l=d+136|0}else l=d+136|0;do{q=(c[l>>2]|0)+(k<<4)|0;c[q+0>>2]=c[f+32>>2];c[q+4>>2]=c[f+36>>2];c[q+8>>2]=c[f+40>>2];c[q+12>>2]=c[f+44>>2];k=k+1|0}while((k|0)!=(j|0))}c[d+128>>2]=j;if((j|0)>0){l=c[d+136>>2]|0;k=0;m=c[e+116>>2]|0;while(1){c[l+(k<<4)+12>>2]=c[m+12>>2];b[l+(k<<4)+6>>1]=b[m+6>>1]|0;b[l+(k<<4)+8>>1]=b[m+8>>1]|0;b[l+(k<<4)+10>>1]=b[m+10>>1]|0;b[l+(k<<4)>>1]=b[m>>1]|0;b[l+(k<<4)+2>>1]=b[m+2>>1]|0;b[l+(k<<4)+4>>1]=b[m+4>>1]|0;k=k+1|0;if((k|0)==(j|0))break;else m=m+16|0}}c[d+144>>2]=c[e+120>>2];j=c[e+124>>2]|0;k=c[d+152>>2]|0;if((k|0)<(j|0)){if((c[d+156>>2]|0)<(j|0)){if((j|0)==0){l=0;m=k}else{c[5004]=(c[5004]|0)+1;l=XE(j<<5|19)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}m=c[d+152>>2]|0}if((m|0)>0){n=0;do{q=l+(n<<5)|0;p=(c[d+160>>2]|0)+(n<<5)|0;c[q+0>>2]=c[p+0>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];n=n+1|0}while((n|0)!=(m|0))}m=c[d+160>>2]|0;if((m|0)!=0){if((a[d+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=l;c[d+156>>2]=j;l=d+160|0}else l=d+160|0;do{q=(c[l>>2]|0)+(k<<5)|0;c[q+0>>2]=c[f+0>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];c[q+16>>2]=c[f+16>>2];c[q+20>>2]=c[f+20>>2];c[q+24>>2]=c[f+24>>2];c[q+28>>2]=c[f+28>>2];k=k+1|0}while((k|0)!=(j|0))}c[d+152>>2]=j;if((j|0)<=0){i=f;return}k=c[d+160>>2]|0;d=0;e=c[e+128>>2]|0;while(1){b[k+(d<<5)+6>>1]=b[e+14>>1]|0;b[k+(d<<5)+8>>1]=b[e+16>>1]|0;b[k+(d<<5)+10>>1]=b[e+18>>1]|0;b[k+(d<<5)>>1]=b[e+8>>1]|0;b[k+(d<<5)+2>>1]=b[e+10>>1]|0;b[k+(d<<5)+4>>1]=b[e+12>>1]|0;c[k+(d<<5)+12>>2]=c[e>>2];c[k+(d<<5)+16>>2]=c[e+4>>2];d=d+1|0;if((d|0)==(j|0))break;else e=e+20|0}i=f;return}function JA(a,e,f){a=a|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;g[e+16>>2]=+g[a+20>>2];g[e+20>>2]=+g[a+24>>2];g[e+24>>2]=+g[a+28>>2];g[e+28>>2]=+g[a+32>>2];g[e>>2]=+g[a+4>>2];g[e+4>>2]=+g[a+8>>2];g[e+8>>2]=+g[a+12>>2];g[e+12>>2]=+g[a+16>>2];g[e+32>>2]=+g[a+36>>2];g[e+36>>2]=+g[a+40>>2];g[e+40>>2]=+g[a+44>>2];g[e+44>>2]=+g[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];c[e+56>>2]=c[a+88>>2];if((c[a+88>>2]|0)!=0){n=gc[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=n;if((n|0)!=0){n=c[a+88>>2]|0;j=Yb[c[(c[f>>2]|0)+16>>2]&31](f,48,n)|0;if((n|0)>0){k=c[a+96>>2]|0;m=0;l=c[j+8>>2]|0;while(1){g[l+16>>2]=+g[k+(m<<6)+16>>2];g[l+20>>2]=+g[k+(m<<6)+20>>2];g[l+24>>2]=+g[k+(m<<6)+24>>2];g[l+28>>2]=+g[k+(m<<6)+28>>2];g[l>>2]=+g[k+(m<<6)>>2];g[l+4>>2]=+g[k+(m<<6)+4>>2];g[l+8>>2]=+g[k+(m<<6)+8>>2];g[l+12>>2]=+g[k+(m<<6)+12>>2];c[l+32>>2]=c[k+(m<<6)+32>>2];c[l+36>>2]=c[k+(m<<6)+36>>2];c[l+40>>2]=c[k+(m<<6)+40>>2];m=m+1|0;if((m|0)==(n|0))break;else l=l+48|0}}else k=c[a+96>>2]|0;Jb[c[(c[f>>2]|0)+20>>2]&31](f,j,16120,1497453121,k)}}else c[e+64>>2]=0;c[e+60>>2]=c[a+128>>2];if((c[a+128>>2]|0)!=0){n=gc[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=n;if((n|0)!=0){k=c[a+128>>2]|0;j=Yb[c[(c[f>>2]|0)+16>>2]&31](f,16,k)|0;if((k|0)>0){l=c[a+136>>2]|0;n=0;m=c[j+8>>2]|0;while(1){c[m+12>>2]=c[l+(n<<4)+12>>2];b[m+6>>1]=b[l+(n<<4)+6>>1]|0;b[m+8>>1]=b[l+(n<<4)+8>>1]|0;b[m+10>>1]=b[l+(n<<4)+10>>1]|0;b[m>>1]=b[l+(n<<4)>>1]|0;b[m+2>>1]=b[l+(n<<4)+2>>1]|0;b[m+4>>1]=b[l+(n<<4)+4>>1]|0;n=n+1|0;if((n|0)==(k|0))break;else m=m+16|0}}else l=c[a+136>>2]|0;Jb[c[(c[f>>2]|0)+20>>2]&31](f,j,16144,1497453121,l)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];c[e+80>>2]=c[a+152>>2];if((c[a+152>>2]|0)==0){c[e+72>>2]=0;i=h;return 16192}n=gc[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=n;if((n|0)==0){i=h;return 16192}j=c[a+152>>2]|0;e=Yb[c[(c[f>>2]|0)+16>>2]&31](f,20,j)|0;if((j|0)>0){a=c[a+160>>2]|0;l=0;k=c[e+8>>2]|0;while(1){b[k+14>>1]=b[a+(l<<5)+6>>1]|0;b[k+16>>1]=b[a+(l<<5)+8>>1]|0;b[k+18>>1]=b[a+(l<<5)+10>>1]|0;b[k+8>>1]=b[a+(l<<5)>>1]|0;b[k+10>>1]=b[a+(l<<5)+2>>1]|0;b[k+12>>1]=b[a+(l<<5)+4>>1]|0;c[k>>2]=c[a+(l<<5)+12>>2];c[k+4>>2]=c[a+(l<<5)+16>>2];l=l+1|0;if((l|0)==(j|0))break;else k=k+20|0}}else a=c[a+160>>2]|0;Jb[c[(c[f>>2]|0)+20>>2]&31](f,e,16168,1497453121,a);i=h;return 16192}function KA(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.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;f=i;i=i+32|0;C=+g[b+16>>2];s=+g[b>>2];B=+g[b+20>>2];u=+g[b+4>>2];y=+g[b+24>>2];x=+g[b+8>>2];v=+g[b+32>>2];o=+g[b+36>>2];p=+g[b+40>>2];m=(B-u)*(p-x)-(y-x)*(o-u);k=(y-x)*(v-s)-(C-s)*(p-x);l=(C-s)*(o-u)-(B-u)*(v-s);g[f+16>>2]=m;g[f+20>>2]=k;g[f+24>>2]=l;g[f+28>>2]=0.0;z=+g[a+4>>2];w=+g[a+8>>2];q=+g[a+12>>2];h=m*z+k*w+l*q-(s*m+u*k+x*l);A=+g[a+20>>2];t=+g[a+24>>2];r=+g[a+28>>2];if(h*(m*A+k*t+l*r-(s*m+u*k+x*l))>=0.0){i=f;return}b=c[a+36>>2]|0;if(!((b&1|0)==0|!(h<=0.0))){i=f;return}j=h/(h-(m*A+k*t+l*r-(s*m+u*k+x*l)));if(!(j<+g[a+40>>2])){i=f;return}n=(m*m+k*k+l*l)*-9999999747378752.0e-20;s=s-(A*j+z*(1.0-j));u=u-(t*j+w*(1.0-j));x=x-(r*j+q*(1.0-j));C=C-(A*j+z*(1.0-j));B=B-(t*j+w*(1.0-j));y=y-(r*j+q*(1.0-j));if(!(l*(s*B-u*C)+(m*(u*y-x*B)+k*(x*C-s*y))>=n)){i=f;return}v=v-(A*j+z*(1.0-j));o=o-(t*j+w*(1.0-j));p=p-(r*j+q*(1.0-j));if(!(l*(C*o-B*v)+(m*(B*p-y*o)+k*(y*v-C*p))>=n)){i=f;return}if(!(l*(u*v-s*o)+(m*(x*o-u*p)+k*(s*p-x*v))>=n)){i=f;return}n=1.0/+Q(+(m*m+k*k+l*l));g[f+16>>2]=m*n;g[f+20>>2]=k*n;g[f+24>>2]=l*n;D=c[(c[a>>2]|0)+12>>2]|0;if((b&2|0)!=0|!(h<=0.0)){g[a+40>>2]=+nc[D&3](a,f+16|0,j,d,e);i=f;return}else{g[f>>2]=-(m*n);g[f+4>>2]=-(k*n);g[f+8>>2]=-(l*n);g[f+12>>2]=0.0;g[a+40>>2]=+nc[D&3](a,f,j,d,e);i=f;return}}function LA(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;h=i;i=i+672|0;c[h+576>>2]=0;g[h+580>>2]=1.0;g[h+584>>2]=1.0;g[h+588>>2]=1.0;g[h+592>>2]=0.0;c[h+620>>2]=0;c[h+568>>2]=16376;c[h+572>>2]=1;c[h+624>>2]=c[d+0>>2];c[h+628>>2]=c[d+4>>2];c[h+632>>2]=c[d+8>>2];c[h+636>>2]=c[d+12>>2];c[h+640>>2]=c[d+16>>2];c[h+644>>2]=c[d+20>>2];c[h+648>>2]=c[d+24>>2];c[h+652>>2]=c[d+28>>2];c[h+656>>2]=c[d+32>>2];c[h+660>>2]=c[d+36>>2];c[h+664>>2]=c[d+40>>2];c[h+668>>2]=c[d+44>>2];g[h+612>>2]=+g[b+204>>2];g[h+516>>2]=9999999747378752.0e-20;a[h+540>>0]=0;c[h+200>>2]=13248;d=c[b+4>>2]|0;c[h+176>>2]=10152;c[h+180>>2]=h+208;c[h+184>>2]=h+200;c[h+188>>2]=d;c[h+192>>2]=h+568;c[h+196>>2]=0;c[h>>2]=9440;c[h+168>>2]=0;g[h+164>>2]=1.0;g[h+172>>2]=+g[b+208>>2];if((nw(h+176|0,b+8|0,b+72|0,b+136|0,b+136|0,h)|0?(j=+g[h+132>>2],l=+g[h+136>>2],m=+g[h+140>>2],j*j+l*l+m*m>9999999747378752.0e-20):0)?(k=+g[h+164>>2],k<+g[b+200>>2]):0){n=1.0/+Q(+(j*j+l*l+m*m));g[h+132>>2]=j*n;g[h+136>>2]=l*n;g[h+140>>2]=m*n;+bc[c[(c[b>>2]|0)+12>>2]&3](b,h+132|0,h+148|0,k,e,f)}c[h+568>>2]=15736;e=c[h+620>>2]|0;if((e|0)==0){i=h;return}Lb[c[c[e>>2]>>2]&511](e);e=c[h+620>>2]|0;if((e|0)==0){i=h;return}c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);i=h;return}function MA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)==0){i=b;return}Lb[c[c[d>>2]>>2]&511](d);a=c[a+52>>2]|0;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function NA(a){a=a|0;return}function OA(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function PA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)!=0){Lb[c[c[d>>2]>>2]&511](d);d=c[a+52>>2]|0;if((d|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}if((a|0)==0){i=b;return}}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function QA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);i=f;return}function RA(a,b,d){a=a|0;b=+b;d=d|0;a=i;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;i=a;return}function SA(a){a=a|0;return 16544}function TA(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;l=+g[d>>2];k=+g[d+4>>2];f=+g[d+8>>2];j=l*+g[b+56>>2]+k*+g[b+60>>2]+f*+g[b+64>>2];h=l*+g[b+72>>2]+k*+g[b+76>>2]+f*+g[b+80>>2];f=l*+g[b+88>>2]+k*+g[b+92>>2]+f*+g[b+96>>2];if(j>2]=c[d+0>>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];i=e;return}function UA(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.0,m=0.0,n=0,o=0.0,p=0.0;h=i;if((e|0)<=0){i=h;return}f=0;do{p=+g[b+(f<<4)>>2];o=+g[b+(f<<4)+4>>2];k=+g[b+(f<<4)+8>>2];m=p*+g[a+56>>2]+o*+g[a+60>>2]+k*+g[a+64>>2];l=p*+g[a+72>>2]+o*+g[a+76>>2]+k*+g[a+80>>2];k=p*+g[a+88>>2]+o*+g[a+92>>2]+k*+g[a+96>>2];j=d+(f<<4)|0;if(m>2]=c[n+0>>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}while((f|0)!=(e|0));i=h;return}function VA(a){a=a|0;return 2}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0,j=0.0,k=0.0,l=0.0,m=0.0;h=i;k=+g[a+56>>2];f=+g[a+72>>2]-k;j=+g[a+60>>2];e=+g[a+76>>2]-j;l=+g[a+64>>2];d=+g[a+80>>2]-l;k=+g[a+88>>2]-k;j=+g[a+92>>2]-j;l=+g[a+96>>2]-l;g[c+12>>2]=0.0;m=1.0/+Q(+((f*j-e*k)*(f*j-e*k)+((e*l-d*j)*(e*l-d*j)+(d*k-f*l)*(d*k-f*l))));g[c>>2]=m*(e*l-d*j);g[c+4>>2]=m*(d*k-f*l);g[c+8>>2]=(f*j-e*k)*m;if((b|0)==0){i=h;return}g[c>>2]=m*(e*l-d*j)*-1.0;g[c+4>>2]=m*(d*k-f*l)*-1.0;g[c+8>>2]=(f*j-e*k)*m*-1.0;i=h;return}function XA(a){a=a|0;return 3}function YA(a){a=a|0;return 3}function ZA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;rc[c[(c[a>>2]|0)+108>>2]&127](a,b,d);rc[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);i=f;return}function _A(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[d+0>>2]=c[a+(b<<4)+56>>2];c[d+4>>2]=c[a+(b<<4)+60>>2];c[d+8>>2]=c[a+(b<<4)+64>>2];c[d+12>>2]=c[a+(b<<4)+68>>2];i=e;return}function $A(a){a=a|0;return 1}function aB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;vc[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);i=f;return}function bB(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;e=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;f=+g[a+96>>2]-l;j=1.0/+Q(+((r*q-p*o)*(r*q-p*o)+((p*f-s*q)*(p*f-s*q)+(s*o-r*f)*(s*o-r*f))));h=j*(p*f-s*q);f=j*(s*o-r*f);j=(r*q-p*o)*j;l=+g[b>>2]*h+ +g[b+4>>2]*f+j*+g[b+8>>2]-(h*n+f*m+j*l);if(!(l>=-d)|!(l<=d)){k=0;i=e;return k|0}k=0;while(1){vc[c[(c[a>>2]|0)+104>>2]&127](a,k,e+16|0,e);n=+g[e+16>>2];s=+g[e>>2]-n;p=+g[e+20>>2];o=+g[e+4>>2]-p;m=+g[e+24>>2];r=+g[e+8>>2]-m;q=1.0/+Q(+((f*s-h*o)*(f*s-h*o)+((j*o-f*r)*(j*o-f*r)+(h*r-j*s)*(h*r-j*s))));k=k+1|0;if(+g[b>>2]*q*(j*o-f*r)+ +g[b+4>>2]*q*(h*r-j*s)+(f*s-h*o)*q*+g[b+8>>2]-(m*(f*s-h*o)*q+(n*q*(j*o-f*r)+p*q*(h*r-j*s)))<-d){b=0;a=5;break}if((k|0)>=3){b=1;a=5;break}}if((a|0)==5){i=e;return b|0}return 0}function cB(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;b=i;h=+g[a+56>>2];l=+g[a+72>>2]-h;k=+g[a+60>>2];j=+g[a+76>>2]-k;m=+g[a+64>>2];n=+g[a+80>>2]-m;h=+g[a+88>>2]-h;k=+g[a+92>>2]-k;m=+g[a+96>>2]-m;g[d+12>>2]=0.0;f=1.0/+Q(+((l*k-j*h)*(l*k-j*h)+((j*m-n*k)*(j*m-n*k)+(n*h-l*m)*(n*h-l*m))));g[d>>2]=f*(j*m-n*k);g[d+4>>2]=f*(n*h-l*m);g[d+8>>2]=(l*k-j*h)*f;c[e+0>>2]=c[a+56>>2];c[e+4>>2]=c[a+60>>2];c[e+8>>2]=c[a+64>>2];c[e+12>>2]=c[a+68>>2];i=b;return}function dB(a){a=a|0;var b=0;b=i;eB(a);YE(a);i=b;return}function eB(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16568;e=c[b+56>>2]|0;if((e|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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+36>>2]|0;if((e|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){e=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[e>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;e=b+12|0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;c[e>>2]=0;i=d;return}function fB(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,o=0;e=i;if((c[d+8>>2]|0)>0){h=c[d+16>>2]|0;j=0;f=0;do{k=c[h+(j<<2)>>2]|0;if((c[k+204>>2]&3|0)==0){c[k+208>>2]=f;f=f+1|0}c[k+212>>2]=-1;g[k+244>>2]=1.0;j=j+1|0}while((j|0)<(c[d+8>>2]|0))}else f=0;h=c[b+8>>2]|0;if((h|0)<(f|0)){if((c[b+12>>2]|0)<(f|0)){if((f|0)==0){j=0;m=h}else{c[5004]=(c[5004]|0)+1;j=XE((f<<3|3)+16|0)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}m=c[b+8>>2]|0}if((m|0)>0){l=0;do{k=j+(l<<3)|0;if((k|0)!=0){o=(c[b+16>>2]|0)+(l<<3)|0;n=c[o+4>>2]|0;c[k>>2]=c[o>>2];c[k+4>>2]=n}l=l+1|0}while((l|0)!=(m|0))}k=c[b+16>>2]|0;if((k|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=j;c[b+12>>2]=f;j=b+16|0}else j=b+16|0;do{k=(c[j>>2]|0)+(h<<3)|0;if((k|0)!=0){c[k>>2]=0;c[k+4>>2]=0}h=h+1|0}while((h|0)!=(f|0))}c[b+8>>2]=f;if((f|0)>0){j=c[b+16>>2]|0;h=0;do{c[j+(h<<3)>>2]=h;c[j+(h<<3)+4>>2]=1;h=h+1|0}while((h|0)!=(f|0))}f=c[d+68>>2]|0;f=Pb[c[(c[f>>2]|0)+36>>2]&127](f)|0;d=Pb[c[(c[f>>2]|0)+36>>2]&127](f)|0;if((d|0)==0){i=e;return}h=Pb[c[(c[f>>2]|0)+20>>2]&127](f)|0;if((d|0)<=0){i=e;return}f=0;do{k=c[c[h+(f<<4)>>2]>>2]|0;j=c[c[h+(f<<4)+4>>2]>>2]|0;if(((k|0)!=0?!((j|0)==0?1:(c[k+204>>2]&7|0)!=0):0)?(c[j+204>>2]&7|0)==0:0){l=c[k+208>>2]|0;k=c[j+208>>2]|0;j=c[b+16>>2]|0;m=c[j+(l<<3)>>2]|0;if((m|0)!=(l|0)){n=j+(l<<3)|0;do{l=j+(m<<3)|0;c[n>>2]=c[l>>2];l=c[l>>2]|0;n=j+(l<<3)|0;m=c[n>>2]|0}while((l|0)!=(m|0))}m=c[j+(k<<3)>>2]|0;if((m|0)!=(k|0)){n=j+(k<<3)|0;do{k=j+(m<<3)|0;c[n>>2]=c[k>>2];k=c[k>>2]|0;n=j+(k<<3)|0;m=c[n>>2]|0}while((k|0)!=(m|0))}if((l|0)!=(k|0)){c[j+(l<<3)>>2]=k;o=j+(k<<3)+4|0;c[o>>2]=(c[o>>2]|0)+(c[j+(l<<3)+4>>2]|0)}}f=f+1|0}while((f|0)!=(d|0));i=e;return}function gB(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;f=i;if((c[b+8>>2]|0)<=0){i=f;return}d=c[b+16>>2]|0;e=0;g=0;do{h=c[d+(e<<2)>>2]|0;if((c[h+204>>2]&3|0)==0){j=c[a+16>>2]|0;l=j+(g<<3)|0;k=c[l>>2]|0;if((k|0)==(g|0))m=g;else do{m=j+(k<<3)|0;c[l>>2]=c[m>>2];m=c[m>>2]|0;l=j+(m<<3)|0;k=c[l>>2]|0}while((m|0)!=(k|0));c[h+208>>2]=m;c[j+(g<<3)+4>>2]=e;c[h+212>>2]=-1;g=g+1|0}else{c[h+208>>2]=-1;c[h+212>>2]=-2}e=e+1|0}while((e|0)<(c[b+8>>2]|0));i=f;return}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;while(1){f=c[a+12>>2]|0;g=c[f+(((b+d|0)/2|0)<<2)>>2]|0;l=b;k=d;while(1){h=c[(c[g+740>>2]|0)+208>>2]|0;if((h|0)>-1)while(1){j=c[f+(l<<2)>>2]|0;m=c[(c[j+740>>2]|0)+208>>2]|0;if(!((m|0)>-1))m=c[(c[j+744>>2]|0)+208>>2]|0;if((m|0)<(h|0))l=l+1|0;else break}else{m=c[(c[g+744>>2]|0)+208>>2]|0;while(1){j=c[f+(l<<2)>>2]|0;n=c[(c[j+740>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[j+744>>2]|0)+208>>2]|0;if((n|0)<(m|0))l=l+1|0;else break}}if((h|0)>-1)while(1){m=c[f+(k<<2)>>2]|0;n=c[(c[m+740>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[m+744>>2]|0)+208>>2]|0;if((h|0)<(n|0))k=k+ -1|0;else break}else{h=c[(c[g+744>>2]|0)+208>>2]|0;while(1){m=c[f+(k<<2)>>2]|0;n=c[(c[m+740>>2]|0)+208>>2]|0;if(!((n|0)>-1))n=c[(c[m+744>>2]|0)+208>>2]|0;if((h|0)<(n|0))k=k+ -1|0;else break}}if((l|0)<=(k|0)){c[f+(l<<2)>>2]=m;c[(c[a+12>>2]|0)+(k<<2)>>2]=j;l=l+1|0;k=k+ -1|0}if((l|0)>(k|0))break;f=c[a+12>>2]|0}if((k|0)>(b|0))hB(a,b,k);if((l|0)<(d|0))b=l;else break}i=e;return}function iB(a,b,d){a=a|0;b=b|0;d=d|0;d=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=d;return}function jB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=i;if((e|0)>0)b=0;else{i=a;return}do{g=d+(b<<4)|0;b=b+1|0;f=(b|0)==(e|0);c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0}while(!f);i=a;return}function kB(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;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 lB(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.0;f=i;k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);m=+g[b+52>>2]-j;l=+g[b+56>>2]-h;g[d>>2]=+g[b+48>>2]-k;g[d+4>>2]=m;g[d+8>>2]=l;g[d+12>>2]=0.0;j=j+ +g[b+52>>2];h=h+ +g[b+56>>2];g[e>>2]=k+ +g[b+48>>2];g[e+4>>2]=j;g[e+8>>2]=h;g[e+12>>2]=0.0;i=f;return}function mB(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;b=b*.4000000059604645*+$b[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+$b[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;i=e;return}function nB(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=16816;if((a[b+8>>0]|0)!=0?(e=c[b+12>>2]|0,(e|0)!=0):0){f=c[b+4>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,e)}YE(b);i=d;return}function oB(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16816;if((a[b+8>>0]|0)==0){i=d;return}e=c[b+12>>2]|0;if((e|0)==0){i=d;return}b=c[b+4>>2]|0;Nb[c[(c[b>>2]|0)+16>>2]&127](b,e);i=d;return}function pB(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,p=0,q=0.0;e=i;i=i+32|0;a=c[a+12>>2]|0;if((a|0)==0){i=e;return}c[f+4>>2]=a;o=c[b+4>>2]|0;p=c[d+4>>2]|0;b=c[b+12>>2]|0;d=c[d+12>>2]|0;m=+g[b+48>>2]- +g[d+48>>2];n=+g[b+52>>2]- +g[d+52>>2];l=+g[b+56>>2]- +g[d+56>>2];j=+Q(+(m*m+n*n+l*l));h=+g[p+28>>2]*+g[p+12>>2];k=+g[o+28>>2]*+g[o+12>>2]+h;if(j>k){if((c[a+748>>2]|0)==0){i=e;return}d=c[a+740>>2]|0;b=c[(c[f+8>>2]|0)+8>>2]|0;if((d|0)==(b|0)){nA(a,d+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);i=e;return}else{nA(a,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,b+4|0);i=e;return}}g[e+16>>2]=1.0;g[e+20>>2]=0.0;g[e+24>>2]=0.0;g[e+28>>2]=0.0;if(j>1.1920928955078125e-7){g[e+16>>2]=m*(1.0/j);g[e+20>>2]=n*(1.0/j);g[e+24>>2]=l*(1.0/j);g[e+28>>2]=0.0;m=m*(1.0/j);n=n*(1.0/j);l=l*(1.0/j)}else{m=1.0;n=0.0;l=0.0}q=h*n+ +g[d+52>>2];n=h*l+ +g[d+56>>2];g[e>>2]=h*m+ +g[d+48>>2];g[e+4>>2]=q;g[e+8>>2]=n;g[e+12>>2]=0.0;qc[c[(c[f>>2]|0)+16>>2]&15](f,e+16|0,e,j-k);a=c[f+4>>2]|0;if((c[a+748>>2]|0)==0){i=e;return}d=c[a+740>>2]|0;b=c[(c[f+8>>2]|0)+8>>2]|0;if((d|0)==(b|0)){nA(a,d+4|0,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0);i=e;return}else{nA(a,(c[(c[f+12>>2]|0)+8>>2]|0)+4|0,b+4|0);i=e;return}}function qB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function rB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+12>>2]|0)==0){i=e;return}if((a[b+8>>0]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+12>>2];c[d+4>>2]=h+1;i=e;return}function sB(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=16904;if((a[b+8>>0]|0)!=0?(e=c[b+12>>2]|0,(e|0)!=0):0){f=c[b+4>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,e)}YE(b);i=d;return}function tB(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16904;if((a[b+8>>0]|0)==0){i=d;return}e=c[b+12>>2]|0;if((e|0)==0){i=d;return}b=c[b+4>>2]|0;Nb[c[(c[b>>2]|0)+16>>2]&127](b,e);i=d;return}function uB(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;j=i;i=i+160|0;k=c[b+12>>2]|0;if((k|0)==0){i=j;return}l=(a[b+16>>0]|0)!=0;m=l?e:d;d=l?d:e;o=c[m+4>>2]|0;e=c[d+4>>2]|0;c[h+4>>2]=k;n=+g[(c[b+12>>2]|0)+752>>2];c[j+136>>2]=17768;c[j+140>>2]=o;c[j+144>>2]=e;g[j+148>>2]=n;g[j+128>>2]=999999984306749400.0;e=c[m+12>>2]|0;c[j+0>>2]=c[e+0>>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];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];c[j+32>>2]=c[e+32>>2];c[j+36>>2]=c[e+36>>2];c[j+40>>2]=c[e+40>>2];c[j+44>>2]=c[e+44>>2];c[j+48>>2]=c[e+48>>2];c[j+52>>2]=c[e+52>>2];c[j+56>>2]=c[e+56>>2];c[j+60>>2]=c[e+60>>2];d=c[d+12>>2]|0;c[j+64>>2]=c[d+0>>2];c[j+68>>2]=c[d+4>>2];c[j+72>>2]=c[d+8>>2];c[j+76>>2]=c[d+12>>2];c[j+80>>2]=c[d+16>>2];c[j+84>>2]=c[d+20>>2];c[j+88>>2]=c[d+24>>2];c[j+92>>2]=c[d+28>>2];c[j+96>>2]=c[d+32>>2];c[j+100>>2]=c[d+36>>2];c[j+104>>2]=c[d+40>>2];c[j+108>>2]=c[d+44>>2];c[j+112>>2]=c[d+48>>2];c[j+116>>2]=c[d+52>>2];c[j+120>>2]=c[d+56>>2];c[j+124>>2]=c[d+60>>2];nC(j+136|0,j,h,c[f+20>>2]|0,l);if((a[b+8>>0]|0)==0){i=j;return}b=c[h+4>>2]|0;if((c[b+748>>2]|0)==0){i=j;return}k=c[b+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(e|0)){nA(b,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=j;return}else{nA(b,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);i=j;return}}function vB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+12>>2]|0)==0){i=e;return}if((a[b+8>>0]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+12>>2];c[d+4>>2]=h+1;i=e;return}function xB(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function yB(a){a=a|0;return}function zB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;g[c>>2]=-999999984306749400.0;g[c+4>>2]=-999999984306749400.0;g[c+8>>2]=-999999984306749400.0;g[c+12>>2]=0.0;g[d>>2]=999999984306749400.0;g[d+4>>2]=999999984306749400.0;g[d+8>>2]=999999984306749400.0;g[d+12>>2]=0.0;return}function AB(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.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;f=i;i=i+48|0;k=+g[e>>2];l=+g[d>>2];h=+g[e+4>>2];j=+g[d+4>>2];m=+g[e+8>>2];o=+g[d+8>>2];t=+Q(+((k-l)*.5*(k-l)*.5+(h-j)*.5*(h-j)*.5+(m-o)*.5*(m-o)*.5));p=+g[a+56>>2];if(+P(+p)>.7071067690849304){n=+g[a+52>>2];s=1.0/+Q(+(p*p+n*n));y=+g[a+48>>2];q=y;x=n;r=0.0;w=-(p*s);v=n*s;u=(p*p+n*n)*s;n=-(y*n*s);s=y*-(p*s)}else{z=+g[a+48>>2];y=+g[a+52>>2];s=1.0/+Q(+(z*z+y*y));q=z;x=y;r=-(y*s);w=z*s;v=0.0;u=-(p*z*s);n=p*-(y*s);s=(z*z+y*y)*s}z=(k+l)*.5*q+(h+j)*.5*x+(m+o)*.5*p- +g[a+64>>2];j=(h+j)*.5-x*z;q=(k+l)*.5-q*z;r=t*r;w=t*w;y=t*v;u=t*u;v=t*n;x=t*s;g[f>>2]=u+(r+q);g[f+4>>2]=v+(w+j);g[f+8>>2]=x+(y+((m+o)*.5-p*z));g[f+12>>2]=0.0;g[f+16>>2]=r+q-u;g[f+20>>2]=w+j-v;g[f+24>>2]=y+((m+o)*.5-p*z)-x;g[f+28>>2]=0.0;g[f+32>>2]=q-r-u;g[f+36>>2]=j-w-v;g[f+40>>2]=(m+o)*.5-p*z-y-x;g[f+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,f,0,0);g[f>>2]=q-r-u;g[f+4>>2]=j-w-v;g[f+8>>2]=(m+o)*.5-p*z-y-x;g[f+12>>2]=0.0;g[f+16>>2]=u+(q-r);g[f+20>>2]=v+(j-w);g[f+24>>2]=x+((m+o)*.5-p*z-y);g[f+28>>2]=0.0;g[f+32>>2]=u+(r+q);g[f+36>>2]=v+(w+j);g[f+40>>2]=x+(y+((m+o)*.5-p*z));g[f+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,f,0,1);i=f;return}function BB(a,b,d){a=a|0;b=+b;d=d|0;a=i;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;i=a;return}function CB(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+68>>2]=c[b+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];i=d;return}function DB(a){a=a|0;return a+68|0}function EB(a){a=a|0;return 17128}function FB(a){a=a|0;return 52}function GB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=h;if((h|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+12>>2]=+g[a+68>>2];g[b+16>>2]=+g[a+72>>2];g[b+20>>2]=+g[a+76>>2];g[b+24>>2]=+g[a+80>>2];g[b+28>>2]=+g[a+48>>2];g[b+32>>2]=+g[a+52>>2];g[b+36>>2]=+g[a+56>>2];g[b+40>>2]=+g[a+60>>2];g[b+44>>2]=+g[a+64>>2];i=e;return 17104}function HB(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.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.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,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.0,fa=0,ga=0.0;k=i;i=i+128|0;fa=c[b+4>>2]|0;a[fa+312>>0]=0;c[fa>>2]=0;a[fa+356>>0]=1;g[fa+292>>2]=999999984306749400.0;g[fa+296>>2]=999999984306749400.0;g[fa+300>>2]=999999984306749400.0;g[fa+304>>2]=0.0;c[fa+336>>2]=0;c[fa+340>>2]=0;c[fa+344>>2]=0;c[fa+348>>2]=0;a[fa+352>>0]=0;a[fa+332>>0]=a[fa+332>>0]&-16;O=+g[d+48>>2];V=+g[d+52>>2];R=+g[d+56>>2];Y=+g[f+48>>2];W=+g[f+52>>2];P=+g[f+56>>2];D=+g[d>>2];p=+g[d+4>>2];r=+g[d+8>>2];E=+g[d+16>>2];z=+g[d+20>>2];s=+g[d+24>>2];w=+g[d+32>>2];q=+g[d+36>>2];t=+g[d+40>>2];u=+g[f>>2];x=+g[f+4>>2];A=+g[f+8>>2];v=+g[f+16>>2];y=+g[f+20>>2];B=+g[f+24>>2];F=+g[f+32>>2];o=+g[f+36>>2];C=+g[f+40>>2];m=+g[e+48>>2]-O-(+g[h+48>>2]-Y);l=+g[e+52>>2]-V-(+g[h+52>>2]-W);n=+g[e+56>>2]-R-(+g[h+56>>2]-P);fa=c[b+8>>2]|0;da=c[(c[fa>>2]|0)+64>>2]|0;g[k+96>>2]=D*-m+E*-l+w*-n;g[k+100>>2]=p*-m+z*-l+q*-n;g[k+104>>2]=r*-m+s*-l+t*-n;g[k+108>>2]=0.0;rc[da&127](k+112|0,fa,k+96|0);aa=+g[k+112>>2];ea=+g[k+116>>2];X=+g[k+120>>2];Z=aa*+g[d>>2]+ea*+g[d+4>>2]+X*+g[d+8>>2]+ +g[d+48>>2];_=aa*+g[d+16>>2]+ea*+g[d+20>>2]+X*+g[d+24>>2]+ +g[d+52>>2];X=aa*+g[d+32>>2]+ea*+g[d+36>>2]+X*+g[d+40>>2]+ +g[d+56>>2];fa=c[b+12>>2]|0;da=c[(c[fa>>2]|0)+64>>2]|0;ea=m*+g[f+4>>2]+l*+g[f+20>>2]+n*+g[f+36>>2];aa=m*+g[f+8>>2]+l*+g[f+24>>2]+n*+g[f+40>>2];g[k+64>>2]=m*+g[f>>2]+l*+g[f+16>>2]+n*+g[f+32>>2];g[k+68>>2]=ea;g[k+72>>2]=aa;g[k+76>>2]=0.0;rc[da&127](k+80|0,fa,k+64|0);aa=+g[k+80>>2];ea=+g[k+84>>2];$=+g[k+88>>2];Z=Z-(aa*+g[f>>2]+ea*+g[f+4>>2]+$*+g[f+8>>2]+ +g[f+48>>2]);_=_-(aa*+g[f+16>>2]+ea*+g[f+20>>2]+$*+g[f+24>>2]+ +g[f+52>>2]);$=X-(aa*+g[f+32>>2]+ea*+g[f+36>>2]+$*+g[f+40>>2]+ +g[f+56>>2]);a:do if(Z*Z+_*_+$*$>9999999747378752.0e-20){S=0.0;U=0.0;X=0.0;T=0.0;H=0.0;G=32;aa=0.0;while(1){if((G|0)==0)break a;G=G+ -1|0;fa=c[b+8>>2]|0;da=c[(c[fa>>2]|0)+64>>2]|0;I=-Z;ga=-_;ea=-$;g[k+32>>2]=D*I+E*ga+w*ea;g[k+36>>2]=p*I+z*ga+q*ea;g[k+40>>2]=r*I+s*ga+t*ea;g[k+44>>2]=0.0;rc[da&127](k+48|0,fa,k+32|0);ea=+g[k+48>>2];ga=+g[k+52>>2];I=+g[k+56>>2];J=O+(D*ea+p*ga+r*I);L=V+(E*ea+z*ga+s*I);I=R+(w*ea+q*ga+t*I);fa=c[b+12>>2]|0;da=c[(c[fa>>2]|0)+64>>2]|0;g[k>>2]=u*Z+v*_+F*$;g[k+4>>2]=x*Z+y*_+o*$;g[k+8>>2]=A*Z+B*_+C*$;g[k+12>>2]=0.0;rc[da&127](k+16|0,fa,k);ga=+g[k+16>>2];ea=+g[k+20>>2];M=+g[k+24>>2];K=Y+(u*ga+x*ea+A*M);N=W+(v*ga+y*ea+B*M);M=P+(F*ga+o*ea+C*M);ea=Z*(J-K)+_*(L-N)+$*(I-M);if(H>1.0){j=0;h=24;break}if(ea>0.0){O=m*Z+l*_+n*$;if(O>=-1.4210854715202004e-14){j=0;h=24;break}H=H-ea/O;R=(1.0-H)*+g[d+56>>2]+H*+g[e+56>>2];V=(1.0-H)*+g[d+52>>2]+H*+g[e+52>>2];O=+g[d+48>>2]*(1.0-H)+H*+g[e+48>>2];P=(1.0-H)*+g[f+56>>2]+H*+g[h+56>>2];W=(1.0-H)*+g[f+52>>2]+H*+g[h+52>>2];Y=(1.0-H)*+g[f+48>>2]+H*+g[h+48>>2];T=aa;X=$;U=_;S=Z}ba=c[b+4>>2]|0;ca=c[ba>>2]|0;if((ca|0)>0){Z=+g[ba+308>>2];fa=0;da=0;do{aa=J-K- +g[ba+(da<<4)+4>>2];ea=L-N- +g[ba+(da<<4)+8>>2];ga=I-M- +g[ba+(da<<4)+12>>2];fa=fa|aa*aa+ea*ea+ga*ga<=Z;da=da+1|0}while((da|0)!=(ca|0))}else fa=0;if((+g[ba+304>>2]==0.0?I-M==+g[ba+300>>2]:0)?L-N==+g[ba+296>>2]:0)da=J-K==+g[ba+292>>2];else da=0;if(!(da|fa)){g[ba+292>>2]=J-K;g[ba+296>>2]=L-N;g[ba+300>>2]=I-M;g[ba+304>>2]=0.0;a[ba+356>>0]=1;g[ba+(ca<<4)+4>>2]=J-K;g[ba+(ca<<4)+8>>2]=L-N;g[ba+(ca<<4)+12>>2]=I-M;g[ba+(ca<<4)+16>>2]=0.0;fa=c[ba>>2]|0;g[ba+(fa<<4)+84>>2]=J;g[ba+(fa<<4)+88>>2]=L;g[ba+(fa<<4)+92>>2]=I;g[ba+(fa<<4)+96>>2]=0.0;fa=c[ba>>2]|0;g[ba+(fa<<4)+164>>2]=K;g[ba+(fa<<4)+168>>2]=N;g[ba+(fa<<4)+172>>2]=M;g[ba+(fa<<4)+176>>2]=0.0;c[ba>>2]=(c[ba>>2]|0)+1;ba=c[b+4>>2]|0}fa=lC(ba)|0;Z=+g[ba+276>>2];_=+g[ba+280>>2];$=+g[ba+284>>2];if(!fa)break a;if(!(Z*Z+_*_+$*$>9999999747378752.0e-20))break a;else aa=+g[ba+288>>2]}if((h|0)==24){i=k;return j|0}}else{T=0.0;X=0.0;U=0.0;S=0.0;H=0.0}while(0);g[j+164>>2]=H;o=X*X+(U*U+S*S);if(!(o>=1.4210854715202004e-14)){c[j+132>>2]=0;c[j+136>>2]=0;c[j+140>>2]=0;c[j+144>>2]=0;o=0.0;q=0.0;p=0.0}else{p=1.0/+Q(+o);o=S*p;q=U*p;p=X*p;g[j+132>>2]=o;g[j+136>>2]=q;g[j+140>>2]=p;g[j+144>>2]=T}if(m*o+l*q+n*p>=-+g[j+172>>2]){fa=0;i=k;return fa|0}fa=c[b+4>>2]|0;lC(fa)|0;dF(j+148|0,fa+260|0,16)|0;fa=1;i=k;return fa|0}function IB(a){a=a|0;return}function JB(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function KB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;f=i;g[b+4>>2]=1.0;g[b+8>>2]=1.0;g[b+12>>2]=1.0;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]=17304;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[5004]=(c[5004]|0)+1;e=XE(51)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}d=c[b+24>>2]|0;if((d|0)>0){h=0;do{j=e+(h<<5)|0;k=(c[b+32>>2]|0)+(h<<5)|0;c[j+0>>2]=c[k+0>>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];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];h=h+1|0}while((h|0)!=(d|0))}d=c[b+32>>2]|0;if((d|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=e;c[b+28>>2]=1;k=c[b+24>>2]|0;c[e+(k<<5)>>2]=0;c[e+(k<<5)+4>>2]=0;c[e+(k<<5)+8>>2]=12;c[e+(k<<5)+12>>2]=0;c[e+(k<<5)+16>>2]=0;c[e+(k<<5)+20>>2]=16;c[e+(k<<5)+24>>2]=2;c[e+(k<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;if((a[b+164>>0]|0)==0){e=c[b+32>>2]|0;c[e>>2]=(c[b+148>>2]|0)/3|0;c[e+4>>2]=0;e=c[b+32>>2]|0;c[e+24>>2]=3;c[e+8>>2]=6}else{e=c[b+32>>2]|0;c[e>>2]=(c[b+128>>2]|0)/3|0;c[e+4>>2]=0;e=c[b+32>>2]|0;c[e+24>>2]=2;c[e+8>>2]=12}if((a[b+165>>0]|0)==0){c[e+12>>2]=(c[b+108>>2]|0)/3|0;c[e+16>>2]=0;c[(c[b+32>>2]|0)+20>>2]=12;i=f;return}else{c[e+12>>2]=c[b+88>>2];c[e+16>>2]=0;c[(c[b+32>>2]|0)+20>>2]=16;i=f;return}}function LB(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;if((a[d+164>>0]|0)==0){j=c[d+148>>2]|0;if((j|0)==(c[d+152>>2]|0)?(g=(j|0)==0?1:j<<1,(j|0)<(g|0)):0){if((g|0)==0)h=0;else{c[5004]=(c[5004]|0)+1;h=XE((g<<1)+19|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[d+148>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<1)|0;if((l|0)!=0)b[l>>1]=b[(c[d+156>>2]|0)+(k<<1)>>1]|0;k=k+1|0}while((k|0)!=(j|0))}k=c[d+156>>2]|0;if((k|0)!=0){if((a[d+160>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0);j=c[d+148>>2]|0}c[d+156>>2]=0}a[d+160>>0]=1;c[d+156>>2]=h;c[d+152>>2]=g}g=c[d+156>>2]|0;h=g+(j<<1)|0;if((h|0)!=0)b[h>>1]=e;c[d+148>>2]=j+1;c[(c[d+32>>2]|0)+4>>2]=g;i=f;return}else{l=c[d+128>>2]|0;if((l|0)==(c[d+132>>2]|0)?(h=(l|0)==0?1:l<<1,(l|0)<(h|0)):0){if((h|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((h<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}l=c[d+128>>2]|0}if((l|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+136>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(l|0))}j=c[d+136>>2]|0;if((j|0)!=0){if((a[d+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=g;c[d+132>>2]=h;l=c[d+128>>2]|0}g=c[d+136>>2]|0;h=g+(l<<2)|0;if((h|0)!=0){c[h>>2]=e;l=c[d+128>>2]|0}c[d+128>>2]=l+1;c[(c[d+32>>2]|0)+4>>2]=g;i=f;return}}function MB(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.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0;f=i;if((a[b+165>>0]|0)!=0){a:do if(e?(j=c[b+88>>2]|0,(j|0)>0):0){e=c[b+96>>2]|0;o=+g[d>>2];p=+g[d+4>>2];m=+g[d+8>>2];n=+g[b+168>>2];k=0;while(1){t=+g[e+(k<<4)>>2]-o;s=+g[e+(k<<4)+4>>2]-p;r=+g[e+(k<<4)+8>>2]-m;if(t*t+s*s+r*r<=n)break;k=k+1|0;if((k|0)>=(j|0))break a}i=f;return k|0}while(0);e=(c[b+32>>2]|0)+12|0;c[e>>2]=(c[e>>2]|0)+1;e=c[b+88>>2]|0;if((e|0)==(c[b+92>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if((h|0)==0)j=0;else{c[5004]=(c[5004]|0)+1;j=XE((h<<4|3)+16|0)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}e=c[b+88>>2]|0}if((e|0)>0){k=0;do{q=j+(k<<4)|0;l=(c[b+96>>2]|0)+(k<<4)|0;c[q+0>>2]=c[l+0>>2];c[q+4>>2]=c[l+4>>2];c[q+8>>2]=c[l+8>>2];c[q+12>>2]=c[l+12>>2];k=k+1|0}while((k|0)!=(e|0))}e=c[b+96>>2]|0;if((e|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=j;c[b+92>>2]=h;e=c[b+88>>2]|0}q=(c[b+96>>2]|0)+(e<<4)|0;c[q+0>>2]=c[d+0>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];q=c[b+88>>2]|0;c[b+88>>2]=q+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];i=f;return q|0}j=c[b+108>>2]|0;b:do if((j|0)>0&e){e=c[b+116>>2]|0;m=+g[d>>2];n=+g[d+4>>2];o=+g[d+8>>2];p=+g[b+168>>2];h=0;while(1){r=+g[e+(h<<2)>>2]-m;s=+g[e+(h+1<<2)>>2]-n;t=+g[e+(h+2<<2)>>2]-o;k=h+3|0;if(r*r+s*s+t*t<=p)break;if((k|0)<(j|0))h=k;else{h=d;break b}}q=(h|0)/3|0;i=f;return q|0}else h=d;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|0)==0)k=0;else{c[5004]=(c[5004]|0)+1;j=XE((e<<2|3)+16|0)|0;if((j|0)==0)k=0;else{c[(j+19&-16)+ -4>>2]=j;k=j+19&-16}j=c[b+108>>2]|0}if((j|0)>0){l=0;do{q=k+(l<<2)|0;if((q|0)!=0)g[q>>2]=+g[(c[b+116>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(j|0))}l=c[b+116>>2]|0;if((l|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0);j=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=k;c[b+112>>2]=e;l=j}else{l=j;e=j}}else l=j;k=c[b+116>>2]|0;j=k+(l<<2)|0;if((j|0)!=0)g[j>>2]=+g[h>>2];j=l+1|0;c[b+108>>2]=j;if((j|0)==(e|0)){h=(e|0)==0?1:e<<1;if((e|0)<(h|0)){if((h|0)==0)k=0;else{c[5004]=(c[5004]|0)+1;j=XE((h<<2|3)+16|0)|0;if((j|0)==0)k=0;else{c[(j+19&-16)+ -4>>2]=j;k=j+19&-16}e=c[b+108>>2]|0}if((e|0)>0){j=0;do{l=k+(j<<2)|0;if((l|0)!=0)g[l>>2]=+g[(c[b+116>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(e|0))}j=c[b+116>>2]|0;if((j|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);e=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=k;c[b+112>>2]=h;j=e}else{j=e;h=e}}else h=e;e=k+(j<<2)|0;if((e|0)!=0)g[e>>2]=+g[d+4>>2];j=j+1|0;c[b+108>>2]=j;if((j|0)==(h|0)){j=(h|0)==0?1:h<<1;if((h|0)<(j|0)){if((j|0)==0)k=0;else{c[5004]=(c[5004]|0)+1;h=XE((j<<2|3)+16|0)|0;if((h|0)==0)k=0;else{c[(h+19&-16)+ -4>>2]=h;k=h+19&-16}h=c[b+108>>2]|0}if((h|0)>0){e=0;do{l=k+(e<<2)|0;if((l|0)!=0)g[l>>2]=+g[(c[b+116>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(h|0))}e=c[b+116>>2]|0;if((e|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);h=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=k;c[b+112>>2]=j}}else h=j;j=k+(h<<2)|0;if((j|0)!=0)g[j>>2]=+g[d+8>>2];c[b+108>>2]=h+1;q=c[b+32>>2]|0;c[q+12>>2]=(c[q+12>>2]|0)+1;c[q+16>>2]=k;q=((c[b+108>>2]|0)/3|0)+ -1|0;i=f;return q|0}function NB(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;e=i;if((a[b+165>>0]|0)!=0){if((c[b+92>>2]|0)>=(d|0)){i=e;return}if((d|0)!=0?(c[5004]=(c[5004]|0)+1,h=XE((d<<4|3)+16|0)|0,(h|0)!=0):0){c[(h+19&-16)+ -4>>2]=h;f=h+19&-16}else f=0;h=c[b+88>>2]|0;if((h|0)>0){j=0;do{k=f+(j<<4)|0;l=(c[b+96>>2]|0)+(j<<4)|0;c[k+0>>2]=c[l+0>>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];j=j+1|0}while((j|0)!=(h|0))}h=c[b+96>>2]|0;if((h|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=f;c[b+92>>2]=d;i=e;return}if((c[b+112>>2]|0)>=(d|0)){i=e;return}if((d|0)!=0?(c[5004]=(c[5004]|0)+1,f=XE((d<<2|3)+16|0)|0,(f|0)!=0):0){c[(f+19&-16)+ -4>>2]=f;f=f+19&-16}else f=0;h=c[b+108>>2]|0;if((h|0)>0){k=0;do{j=f+(k<<2)|0;if((j|0)!=0)g[j>>2]=+g[(c[b+116>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}h=c[b+116>>2]|0;if((h|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=f;c[b+112>>2]=d;i=e;return}function OB(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;if((a[d+164>>0]|0)==0){if((c[d+152>>2]|0)>=(e|0)){i=f;return}if((e|0)!=0?(c[5004]=(c[5004]|0)+1,h=XE((e<<1)+19|0)|0,(h|0)!=0):0){c[(h+19&-16)+ -4>>2]=h;g=h+19&-16}else g=0;h=c[d+148>>2]|0;if((h|0)>0){k=0;do{j=g+(k<<1)|0;if((j|0)!=0)b[j>>1]=b[(c[d+156>>2]|0)+(k<<1)>>1]|0;k=k+1|0}while((k|0)!=(h|0))}h=c[d+156>>2]|0;if((h|0)!=0){if((a[d+160>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[d+156>>2]=0}a[d+160>>0]=1;c[d+156>>2]=g;c[d+152>>2]=e;i=f;return}else{if((c[d+132>>2]|0)>=(e|0)){i=f;return}if((e|0)!=0?(c[5004]=(c[5004]|0)+1,g=XE((e<<2|3)+16|0)|0,(g|0)!=0):0){c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}else g=0;k=c[d+128>>2]|0;if((k|0)>0){j=0;do{h=g+(j<<2)|0;if((h|0)!=0)c[h>>2]=c[(c[d+136>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}h=c[d+136>>2]|0;if((h|0)!=0){if((a[d+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=g;c[d+132>>2]=e;i=f;return}}function PB(a){a=a|0;var b=0;b=i;VB(a);i=b;return}function QB(a){a=a|0;var b=0;b=i;VB(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function RB(a,b){a=a|0;b=b|0;return}function SB(a,b){a=a|0;b=b|0;return}function TB(a){a=a|0;return c[a+24>>2]|0}function UB(a){a=a|0;return 28}function VB(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=17304;e=c[b+156>>2]|0;if((e|0)!=0){if((a[b+160>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+136>>2]|0;if((e|0)!=0){if((a[b+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+116>>2]|0;if((e|0)!=0){if((a[b+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+96>>2]|0;if((e|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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]=19904;e=c[b+32>>2]|0;if((e|0)==0){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;e=b+28|0;c[e>>2]=0;i=d;return}if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+32>>2]=0;a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;e=b+28|0;c[e>>2]=0;i=d;return}function WB(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function XB(a){a=a|0;return}function YB(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.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;f=i;q=(+g[a+32>>2]- +g[a+16>>2])*.5;n=(+g[a+36>>2]- +g[a+20>>2])*.5;k=(+g[a+40>>2]- +g[a+24>>2])*.5;p=+$b[c[(c[a>>2]|0)+48>>2]&15](a);m=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +$b[c[(c[a>>2]|0)+48>>2]&15](a);D=(+g[a+32>>2]+ +g[a+16>>2])*.5;B=(+g[a+36>>2]+ +g[a+20>>2])*.5;z=(+g[a+40>>2]+ +g[a+24>>2])*.5;H=+g[b>>2];y=+P(+H);G=+g[b+4>>2];x=+P(+G);v=+g[b+8>>2];w=+P(+v);F=+g[b+16>>2];u=+P(+F);E=+g[b+20>>2];t=+P(+E);r=+g[b+24>>2];s=+P(+r);C=+g[b+32>>2];o=+P(+C);A=+g[b+36>>2];l=+P(+A);h=+g[b+40>>2];j=+P(+h);v=D*H+B*G+z*v+ +g[b+48>>2];r=D*F+B*E+z*r+ +g[b+52>>2];h=D*C+B*A+z*h+ +g[b+56>>2];g[d>>2]=v-((q+p)*y+(n+m)*x+k*w);g[d+4>>2]=r-((q+p)*u+(n+m)*t+k*s);g[d+8>>2]=h-((q+p)*o+(n+m)*l+k*j);g[d+12>>2]=0.0;g[e>>2]=(q+p)*y+(n+m)*x+k*w+v;g[e+4>>2]=(q+p)*u+(n+m)*t+k*s+r;g[e+8>>2]=(q+p)*o+(n+m)*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function ZB(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+0>>2]=c[b+0>>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+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+32>>2]=1.0;rc[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;rc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]- +g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+36>>2]=1.0;rc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+20>>2]+ +g[a+12>>2];g[d+36>>2]=-1.0;rc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+20>>2]=+g[d+20>>2]- +g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+40>>2]=1.0;rc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+24>>2]+ +g[a+12>>2];g[d+40>>2]=-1.0;rc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+24>>2]=+g[d+24>>2]- +g[a+12>>2];i=d;return}function _B(a){a=a|0;return(c[a+48>>2]|0)+4|0}function $B(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]=17624;c[f+4>>2]=b;c[f+8>>2]=c[d+0>>2];c[f+12>>2]=c[d+4>>2];c[f+16>>2]=c[d+8>>2];c[f+20>>2]=c[d+12>>2];c[f+24>>2]=c[e+0>>2];c[f+28>>2]=c[e+4>>2];c[f+32>>2]=c[e+8>>2];c[f+36>>2]=c[e+12>>2];b=c[a+48>>2]|0;vc[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);i=f;return}function aC(a,b,d){a=a|0;b=+b;d=d|0;a=i;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;i=a;return}function bC(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+176|0;c[e+160>>2]=0;c[e+164>>2]=0;c[e+168>>2]=0;c[e+172>>2]=0;c[e+136>>2]=0;c[e+140>>2]=0;c[e+144>>2]=0;c[e+148>>2]=0;c[e+152>>2]=0;c[e+32>>2]=17560;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=c[e+160>>2];c[e+60>>2]=c[e+164>>2];c[e+64>>2]=c[e+168>>2];c[e+68>>2]=0;g[e+72>>2]=1.0;c[e+76>>2]=0;c[e+80>>2]=0;c[e+84>>2]=0;c[e+88>>2]=0;g[e+92>>2]=1.0;g[e+96>>2]=0.0;c[e+100>>2]=c[e+140>>2];c[e+104>>2]=c[e+144>>2];c[e+108>>2]=c[e+148>>2];c[e+112>>2]=c[e+152>>2];g[e+116>>2]=-999999984306749400.0;l=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];h=l*+g[e+56>>2]+k+j*0.0;f=l*+g[e+60>>2]+k*0.0+j;g[e+120>>2]=l+k*0.0+j*0.0;g[e+124>>2]=h;g[e+128>>2]=f;g[e+132>>2]=0.0;g[e+16>>2]=999999984306749400.0;g[e+20>>2]=999999984306749400.0;g[e+24>>2]=999999984306749400.0;g[e+28>>2]=0.0;d=c[(c[b>>2]|0)+64>>2]|0;g[e>>2]=-999999984306749400.0;g[e+4>>2]=-999999984306749400.0;g[e+8>>2]=-999999984306749400.0;g[e+12>>2]=0.0;vc[d&127](b,e+32|0,e,e+16|0);c[a+0>>2]=c[e+36>>2];c[a+4>>2]=c[e+40>>2];c[a+8>>2]=c[e+44>>2];c[a+12>>2]=c[e+48>>2];i=e;return}function cC(a){a=a|0;return}function dC(a){a=a|0;return 17536}function eC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function fC(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;e=i;f=+g[a+88>>2];j=+g[a+92>>2];h=+g[a+96>>2];k=f*+g[b>>2]+j*+g[b+4>>2]+h*+g[b+8>>2];l=+g[a+84>>2];if(k>l){g[a+84>>2]=k;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2]}else k=l;l=f*+g[b+16>>2]+j*+g[b+20>>2]+h*+g[b+24>>2];if(l>k){g[a+84>>2]=l;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];c[a+12>>2]=c[b+24>>2];c[a+16>>2]=c[b+28>>2];k=l}f=f*+g[b+32>>2]+j*+g[b+36>>2]+h*+g[b+40>>2];if(!(f>k)){i=e;return}g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+8>>2]=c[b+36>>2];c[a+12>>2]=c[b+40>>2];c[a+16>>2]=c[b+44>>2];i=e;return}function gC(a){a=a|0;return}function hC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function iC(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;f=i;k=+g[b>>2];j=+g[b+16>>2];l=k>2];if((l+g[a+24>>2]){i=f;return}m=k>j?b:b+16|0;if(+g[(+g[m>>2]>h?m:b+32|0)>>2]<+g[a+8>>2]){i=f;return}h=+g[b+8>>2];j=+g[b+24>>2];l=h>2];if((l+g[a+32>>2]){i=f;return}m=h>j?b+8|0:b+24|0;if(+g[(+g[m>>2]>k?m:b+40|0)>>2]<+g[a+16>>2]){i=f;return}h=+g[b+4>>2];j=+g[b+20>>2];l=h>2];if((l+g[a+28>>2]){i=f;return}m=h>j?b+4|0:b+20|0;if(+g[(+g[m>>2]>k?m:b+36|0)>>2]<+g[a+12>>2]){i=f;return}m=c[a+4>>2]|0;vc[c[(c[m>>2]|0)+8>>2]&127](m,b,d,e);i=f;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;while(1){f=c[a+12>>2]|0;g=c[f+(((b+d|0)/2|0)<<3)>>2]|0;k=b;h=d;while(1){while(1){l=k+1|0;if((c[f+(k<<3)>>2]|0)<(g|0))k=l;else{j=h;break}}while(1){m=f+(j<<3)|0;h=j+ -1|0;if((g|0)<(c[m>>2]|0))j=h;else break}if((k|0)>(j|0))h=j;else{k=f+(k<<3)|0;n=c[k>>2]|0;f=c[k+4>>2]|0;o=c[m+4>>2]|0;c[k>>2]=c[m>>2];c[k+4>>2]=o;k=(c[a+12>>2]|0)+(j<<3)|0;c[k>>2]=n;c[k+4>>2]=f;k=l}if((k|0)>(h|0))break;f=c[a+12>>2]|0}if((h|0)>(b|0))jC(a,b,h);if((k|0)<(d|0))b=k;else break}i=e;return}function kC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;h=c[b>>2]|0;if((h|0)>3){g=a[d>>0]|0;if((g&8)==0){c[b>>2]=h+ -1;f=b+(h+ -1<<4)+4|0;c[b+52>>2]=c[f+0>>2];c[b+56>>2]=c[f+4>>2];c[b+60>>2]=c[f+8>>2];c[b+64>>2]=c[f+12>>2];f=b+(h+ -1<<4)+84|0;c[b+132>>2]=c[f+0>>2];c[b+136>>2]=c[f+4>>2];c[b+140>>2]=c[f+8>>2];c[b+144>>2]=c[f+12>>2];f=b+(h+ -1<<4)+164|0;c[b+212>>2]=c[f+0>>2];c[b+216>>2]=c[f+4>>2];c[b+220>>2]=c[f+8>>2];c[b+224>>2]=c[f+12>>2];h=h+ -1|0;f=4}else f=6}else f=4;if((f|0)==4)if((h|0)>2){g=a[d>>0]|0;f=6}else g=h;if((f|0)==6)if((g&4)==0){g=h+ -1|0;c[b>>2]=g;c[b+36>>2]=c[b+(g<<4)+4>>2];c[b+40>>2]=c[b+(g<<4)+8>>2];c[b+44>>2]=c[b+(g<<4)+12>>2];c[b+48>>2]=c[b+(g<<4)+16>>2];c[b+116>>2]=c[b+(g<<4)+84>>2];c[b+120>>2]=c[b+(g<<4)+88>>2];c[b+124>>2]=c[b+(g<<4)+92>>2];c[b+128>>2]=c[b+(g<<4)+96>>2];c[b+196>>2]=c[b+(g<<4)+164>>2];c[b+200>>2]=c[b+(g<<4)+168>>2];c[b+204>>2]=c[b+(g<<4)+172>>2];c[b+208>>2]=c[b+(g<<4)+176>>2]}else g=h;if((g|0)>1){h=a[d>>0]|0;if((h&2)==0){g=g+ -1|0;c[b>>2]=g;c[b+20>>2]=c[b+(g<<4)+4>>2];c[b+24>>2]=c[b+(g<<4)+8>>2];c[b+28>>2]=c[b+(g<<4)+12>>2];c[b+32>>2]=c[b+(g<<4)+16>>2];c[b+100>>2]=c[b+(g<<4)+84>>2];c[b+104>>2]=c[b+(g<<4)+88>>2];c[b+108>>2]=c[b+(g<<4)+92>>2];c[b+112>>2]=c[b+(g<<4)+96>>2];c[b+180>>2]=c[b+(g<<4)+164>>2];c[b+184>>2]=c[b+(g<<4)+168>>2];c[b+188>>2]=c[b+(g<<4)+172>>2];c[b+192>>2]=c[b+(g<<4)+176>>2];f=11}else d=h}else f=11;do if((f|0)==11)if((g|0)>0){d=a[d>>0]|0;break}else{i=e;return}while(0);if(!((d&1)==0)){i=e;return}h=g+ -1|0;c[b>>2]=h;c[b+4>>2]=c[b+(h<<4)+4>>2];c[b+8>>2]=c[b+(h<<4)+8>>2];c[b+12>>2]=c[b+(h<<4)+12>>2];c[b+16>>2]=c[b+(h<<4)+16>>2];c[b+84>>2]=c[b+(h<<4)+84>>2];c[b+88>>2]=c[b+(h<<4)+88>>2];c[b+92>>2]=c[b+(h<<4)+92>>2];c[b+96>>2]=c[b+(h<<4)+96>>2];c[b+164>>2]=c[b+(h<<4)+164>>2];c[b+168>>2]=c[b+(h<<4)+168>>2];c[b+172>>2]=c[b+(h<<4)+172>>2];c[b+176>>2]=c[b+(h<<4)+176>>2];i=e;return}function lC(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.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.0,L=0.0,M=0,N=0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0,T=0;d=i;i=i+80|0;if((a[b+356>>0]|0)==0){T=a[b+312>>0]|0;T=T<<24>>24!=0;i=d;return T|0}c[b+336>>2]=0;c[b+340>>2]=0;c[b+344>>2]=0;c[b+348>>2]=0;a[b+352>>0]=0;J=a[b+332>>0]|0;a[b+332>>0]=J&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 1:{c[b+244>>2]=c[b+84>>2];c[b+248>>2]=c[b+88>>2];c[b+252>>2]=c[b+92>>2];c[b+256>>2]=c[b+96>>2];c[b+260>>2]=c[b+164>>2];c[b+264>>2]=c[b+168>>2];c[b+268>>2]=c[b+172>>2];c[b+272>>2]=c[b+176>>2];Q=+g[b+248>>2]- +g[b+264>>2];R=+g[b+252>>2]- +g[b+268>>2];g[b+276>>2]=+g[b+244>>2]- +g[b+260>>2];g[b+280>>2]=Q;g[b+284>>2]=R;g[b+288>>2]=0.0;c[b+336>>2]=0;c[b+340>>2]=0;c[b+344>>2]=0;c[b+348>>2]=0;a[b+352>>0]=0;a[b+332>>0]=J&-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;T=1;T=T<<24>>24!=0;i=d;return T|0};case 0:{a[b+312>>0]=0;T=0;T=T<<24>>24!=0;i=d;return T|0};case 4:{c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;j=d+48|0;a[j>>0]=0;c[b+316>>2]=c[d+0>>2];c[b+320>>2]=c[d+4>>2];c[b+324>>2]=c[d+8>>2];c[b+328>>2]=c[d+12>>2];a[b+332>>0]=J|15;G=+g[b+20>>2];P=+g[b+4>>2];C=+g[b+24>>2];Q=+g[b+8>>2];E=+g[b+28>>2];O=+g[b+12>>2];F=+g[b+36>>2];L=+g[b+40>>2];I=+g[b+44>>2];H=+g[b+52>>2];K=+g[b+56>>2];D=+g[b+60>>2];R=(H-P)*((C-Q)*(I-O)-(E-O)*(L-Q))+(K-Q)*((E-O)*(F-P)-(G-P)*(I-O))+((G-P)*(L-Q)-(C-Q)*(F-P))*(D-O);if(R*R<9.99999905104687e-9)N=-1;else N=R*(((E-O)*(F-P)-(G-P)*(I-O))*(0.0-Q)+((C-Q)*(I-O)-(E-O)*(L-Q))*(0.0-P)+((G-P)*(L-Q)-(C-Q)*(F-P))*(0.0-O))<0.0&1;R=(G-P)*((L-Q)*(D-O)-(I-O)*(K-Q))+(C-Q)*((I-O)*(H-P)-(F-P)*(D-O))+((F-P)*(K-Q)-(L-Q)*(H-P))*(E-O);if(R*R<9.99999905104687e-9)M=-1;else M=R*(((I-O)*(H-P)-(F-P)*(D-O))*(0.0-Q)+((L-Q)*(D-O)-(I-O)*(K-Q))*(0.0-P)+((F-P)*(K-Q)-(L-Q)*(H-P))*(0.0-O))<0.0&1;R=(F-P)*((K-Q)*(E-O)-(D-O)*(C-Q))+(L-Q)*((D-O)*(G-P)-(H-P)*(E-O))+((H-P)*(C-Q)-(K-Q)*(G-P))*(I-O);if(R*R<9.99999905104687e-9)J=-1;else J=R*(((D-O)*(G-P)-(H-P)*(E-O))*(0.0-Q)+((K-Q)*(E-O)-(D-O)*(C-Q))*(0.0-P)+((H-P)*(C-Q)-(K-Q)*(G-P))*(0.0-O))<0.0&1;O=(P-G)*((K-C)*(I-E)-(D-E)*(L-C))+(Q-C)*((D-E)*(F-G)-(H-G)*(I-E))+((H-G)*(L-C)-(K-C)*(F-G))*(O-E);if(O*O<9.99999905104687e-9)S=-1;else S=O*(((D-E)*(F-G)-(H-G)*(I-E))*(0.0-C)+((K-C)*(I-E)-(D-E)*(L-C))*(0.0-G)+((H-G)*(L-C)-(K-C)*(F-G))*(0.0-E))<0.0&1;if((M|N|J|S|0)<0){a[b+352>>0]=1;a[b+312>>0]=0;T=0;T=T<<24>>24!=0;i=d;return T|0}T=(N|0)!=0;N=(M|0)==0;J=(J|0)==0;M=(S|0)==0;if(N&(T^1)&J&M){a[b+312>>0]=1;c[b+276>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+288>>2]=0;T=1;T=T<<24>>24!=0;i=d;return T|0}if(T?(mC(d,b+4|0,b+20|0,b+36|0,d+32|0),B=+g[d+32>>2],w=+g[d+36>>2],x=+g[d+40>>2],y=B- +g[d>>2],z=w- +g[d+4>>2],A=x- +g[d+8>>2],y*y+z*z+A*A<3.4028234663852886e+38):0){R=+g[d+44>>2];g[b+316>>2]=B;g[b+320>>2]=w;g[b+324>>2]=x;g[b+328>>2]=R;T=a[j>>0]|0;a[b+332>>0]=T&1|a[b+332>>0]&-16|T&2|T&4;R=+g[d+56>>2];w=+g[d+60>>2];g[b+336>>2]=+g[d+52>>2];g[b+340>>2]=R;g[b+344>>2]=w;g[b+348>>2]=0.0;w=y*y+z*z+A*A}else w=3.4028234663852886e+38;if(!N?(mC(d,b+4|0,b+36|0,b+52|0,d+32|0),r=+g[d+32>>2],u=+g[d+36>>2],q=+g[d+40>>2],v=r- +g[d>>2],s=u- +g[d+4>>2],t=q- +g[d+8>>2],v*v+s*s+t*t>2];g[b+316>>2]=r;g[b+320>>2]=u;g[b+324>>2]=q;g[b+328>>2]=R;T=a[j>>0]|0;a[b+332>>0]=T<<1&4|(T&1|a[b+332>>0]&-16)|T<<1&8;R=+g[d+56>>2];w=+g[d+60>>2];g[b+336>>2]=+g[d+52>>2];g[b+340>>2]=0.0;g[b+344>>2]=R;g[b+348>>2]=w;w=v*v+s*s+t*t}if(!J?(mC(d,b+4|0,b+52|0,b+20|0,d+32|0),k=+g[d+32>>2],l=+g[d+36>>2],m=+g[d+40>>2],n=k- +g[d>>2],o=l- +g[d+4>>2],p=m- +g[d+8>>2],n*n+o*o+p*p>2];g[b+316>>2]=k;g[b+320>>2]=l;g[b+324>>2]=m;g[b+328>>2]=R;T=a[j>>0]|0;a[b+332>>0]=(T&255)>>>1&2|(T&1|a[b+332>>0]&-16)|T<<2&8;R=+g[d+60>>2];w=+g[d+56>>2];g[b+336>>2]=+g[d+52>>2];g[b+340>>2]=R;g[b+344>>2]=0.0;g[b+348>>2]=w;w=n*n+o*o+p*p}if(!M?(mC(d,b+20|0,b+52|0,b+36|0,d+32|0),f=+g[d+32>>2],e=+g[d+36>>2],h=+g[d+40>>2],P=f- +g[d>>2],Q=e- +g[d+4>>2],R=h- +g[d+8>>2],P*P+Q*Q+R*R>2];g[b+316>>2]=f;g[b+320>>2]=e;g[b+324>>2]=h;g[b+328>>2]=P;T=a[j>>0]|0;a[b+332>>0]=T<<1&2|a[b+332>>0]&-16|T&4|T<<2&8;P=+g[d+52>>2];Q=+g[d+60>>2];R=+g[d+56>>2];g[b+336>>2]=0.0;g[b+340>>2]=P;g[b+344>>2]=Q;g[b+348>>2]=R}G=+g[b+336>>2];H=+g[b+340>>2];I=+g[b+344>>2];R=+g[b+348>>2];K=+g[b+84>>2]*G+ +g[b+100>>2]*H+ +g[b+116>>2]*I+ +g[b+132>>2]*R;O=G*+g[b+88>>2]+H*+g[b+104>>2]+I*+g[b+120>>2]+R*+g[b+136>>2];Q=G*+g[b+92>>2]+H*+g[b+108>>2]+I*+g[b+124>>2]+R*+g[b+140>>2];g[b+244>>2]=K;g[b+248>>2]=O;g[b+252>>2]=Q;g[b+256>>2]=0.0;L=+g[b+164>>2]*G+ +g[b+180>>2]*H+ +g[b+196>>2]*I+ +g[b+212>>2]*R;P=G*+g[b+168>>2]+H*+g[b+184>>2]+I*+g[b+200>>2]+R*+g[b+216>>2];R=G*+g[b+172>>2]+H*+g[b+188>>2]+I*+g[b+204>>2]+R*+g[b+220>>2];g[b+260>>2]=L;g[b+264>>2]=P;g[b+268>>2]=R;g[b+272>>2]=0.0;g[b+276>>2]=K-L;g[b+280>>2]=O-P;g[b+284>>2]=Q-R;g[b+288>>2]=0.0;kC(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)j=+g[b+348>>2]>=0.0&1;else j=0;a[b+312>>0]=j;T=j;T=T<<24>>24!=0;i=d;return T|0};case 3:{c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;mC(d+16|0,b+4|0,b+20|0,b+36|0,b+316|0);H=+g[b+336>>2];I=+g[b+340>>2];R=+g[b+344>>2];K=+g[b+84>>2]*H+ +g[b+100>>2]*I+ +g[b+116>>2]*R;O=H*+g[b+88>>2]+I*+g[b+104>>2]+R*+g[b+120>>2];Q=H*+g[b+92>>2]+I*+g[b+108>>2]+R*+g[b+124>>2];g[b+244>>2]=K;g[b+248>>2]=O;g[b+252>>2]=Q;g[b+256>>2]=0.0;L=+g[b+164>>2]*H+ +g[b+180>>2]*I+ +g[b+196>>2]*R;P=H*+g[b+168>>2]+I*+g[b+184>>2]+R*+g[b+200>>2];R=H*+g[b+172>>2]+I*+g[b+188>>2]+R*+g[b+204>>2];g[b+260>>2]=L;g[b+264>>2]=P;g[b+268>>2]=R;g[b+272>>2]=0.0;g[b+276>>2]=K-L;g[b+280>>2]=O-P;g[b+284>>2]=Q-R;g[b+288>>2]=0.0;kC(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)j=+g[b+348>>2]>=0.0&1;else j=0;a[b+312>>0]=j;T=j;T=T<<24>>24!=0;i=d;return T|0};case 2:{k=+g[b+4>>2];f=+g[b+8>>2];m=+g[b+12>>2];e=+g[b+20>>2]-k;h=+g[b+24>>2]-f;l=+g[b+28>>2]-m;do if((0.0-k)*e+(0.0-f)*h+(0.0-m)*l>0.0)if((0.0-k)*e+(0.0-f)*h+(0.0-m)*l>0]=J&-16|3;e=((0.0-k)*e+(0.0-f)*h+(0.0-m)*l)/(e*e+h*h+l*l);break}else{a[b+332>>0]=J&-16|2;e=1.0;break}else{a[b+332>>0]=J&-16|1;e=0.0}while(0);g[b+336>>2]=1.0-e;g[b+340>>2]=e;g[b+344>>2]=0.0;g[b+348>>2]=0.0;K=+g[b+84>>2];O=+g[b+88>>2];Q=+g[b+92>>2];K=K+e*(+g[b+100>>2]-K);O=O+e*(+g[b+104>>2]-O);Q=Q+e*(+g[b+108>>2]-Q);g[b+244>>2]=K;g[b+248>>2]=O;g[b+252>>2]=Q;g[b+256>>2]=0.0;L=+g[b+164>>2];P=+g[b+168>>2];R=+g[b+172>>2];L=L+e*(+g[b+180>>2]-L);P=P+e*(+g[b+184>>2]-P);R=R+e*(+g[b+188>>2]-R);g[b+260>>2]=L;g[b+264>>2]=P;g[b+268>>2]=R;g[b+272>>2]=0.0;g[b+276>>2]=K-L;g[b+280>>2]=O-P;g[b+284>>2]=Q-R;g[b+288>>2]=0.0;kC(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)j=+g[b+348>>2]>=0.0&1;else j=0;a[b+312>>0]=j;T=j;T=T<<24>>24!=0;i=d;return T|0};default:{a[b+312>>0]=0;T=0;T=T<<24>>24!=0;i=d;return T|0}}return 0}function mC(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,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.0,A=0.0,B=0.0;r=i;o=a[h+16>>0]&-16;a[h+16>>0]=o;l=+g[e>>2];k=+g[d>>2];n=+g[e+4>>2];m=+g[d+4>>2];p=+g[e+8>>2];j=+g[d+8>>2];q=+g[f>>2];s=+g[f+4>>2];t=+g[f+8>>2];u=+g[b>>2];v=+g[b+4>>2];y=+g[b+8>>2];w=(l-k)*(u-k)+(n-m)*(v-m)+(p-j)*(y-j);x=(q-k)*(u-k)+(s-m)*(v-m)+(t-j)*(y-j);if(!(!(w<=0.0)|!(x<=0.0))){c[h+0>>2]=c[d+0>>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]=o|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;i=r;return}z=(l-k)*(u-l)+(n-m)*(v-n)+(p-j)*(y-p);A=(q-k)*(u-l)+(s-m)*(v-n)+(t-j)*(y-p);if(!(!(z>=0.0)|!(A<=z))){c[h+0>>2]=c[e+0>>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]=o|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;i=r;return}if(!((w>=0.0?!(w*A-z*x<=0.0):1)|!(z<=0.0))){g[h>>2]=k+(l-k)*(w/(w-z));g[h+4>>2]=m+(n-m)*(w/(w-z));g[h+8>>2]=j+(p-j)*(w/(w-z));g[h+12>>2]=0.0;a[h+16>>0]=o|3;g[h+20>>2]=1.0-w/(w-z);g[h+24>>2]=w/(w-z);g[h+28>>2]=0.0;g[h+32>>2]=0.0;i=r;return}B=(l-k)*(u-q)+(n-m)*(v-s)+(p-j)*(y-t);u=(q-k)*(u-q)+(s-m)*(v-s)+(t-j)*(y-t);if(!(!(u>=0.0)|!(B<=u))){c[h+0>>2]=c[f+0>>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]=o|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;i=r;return}if(!((x>=0.0?!(B*x-w*u<=0.0):1)|!(u<=0.0))){g[h>>2]=k+(q-k)*(x/(x-u));g[h+4>>2]=m+(s-m)*(x/(x-u));g[h+8>>2]=j+(t-j)*(x/(x-u));g[h+12>>2]=0.0;a[h+16>>0]=o|5;g[h+20>>2]=1.0-x/(x-u);g[h+24>>2]=0.0;g[h+28>>2]=x/(x-u);g[h+32>>2]=0.0;i=r;return}if((z*u-B*A<=0.0?A-z>=0.0:0)?B-u>=0.0:0){B=(A-z)/(A-z+(B-u));g[h>>2]=l+(q-l)*B;g[h+4>>2]=n+(s-n)*B;g[h+8>>2]=p+(t-p)*B;g[h+12>>2]=0.0;a[h+16>>0]=o|6;g[h+20>>2]=0.0;g[h+24>>2]=1.0-B;g[h+28>>2]=B;g[h+32>>2]=0.0;i=r;return}v=1.0/(w*A-z*x+(z*u-B*A+(B*x-w*u)));y=(B*x-w*u)*v;B=(w*A-z*x)*v;g[h>>2]=(q-k)*B+(k+(l-k)*y);g[h+4>>2]=(s-m)*B+(m+(n-m)*y);g[h+8>>2]=(t-j)*B+((p-j)*y+j);g[h+12>>2]=0.0;a[h+16>>0]=o|7;g[h+20>>2]=1.0-y-B;g[h+24>>2]=y;g[h+28>>2]=B;g[h+32>>2]=0.0;i=r;return}function nC(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,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.0,D=0.0,E=0.0,F=0;e=i;i=i+96|0;p=+g[b+48>>2]- +g[b+112>>2];j=+g[b+52>>2]- +g[b+116>>2];k=+g[b+56>>2]- +g[b+120>>2];n=p*+g[b+64>>2]+j*+g[b+80>>2]+k*+g[b+96>>2];m=p*+g[b+68>>2]+j*+g[b+84>>2]+k*+g[b+100>>2];k=p*+g[b+72>>2]+j*+g[b+88>>2]+k*+g[b+104>>2];q=c[a+8>>2]|0;s=c[a+4>>2]|0;j=+g[s+28>>2]*+g[s+12>>2];p=j+ +g[a+12>>2];w=+g[q+72>>2];u=+g[q+56>>2];t=+g[q+76>>2];B=+g[q+60>>2];v=+g[q+80>>2];x=+g[q+64>>2];y=+g[q+88>>2];z=+g[q+92>>2];A=+g[q+96>>2];C=(t-B)*(A-x)-(v-x)*(z-B);l=(v-x)*(y-u)-(w-u)*(A-x);h=(w-u)*(z-B)-(t-B)*(y-u);o=1.0/+Q(+(h*h+(C*C+l*l)));r=(n-u)*o*C+o*l*(m-B)+o*h*(k-x);if(r<0.0){r=r*-1.0;h=o*h*-1.0;l=o*l*-1.0;o=o*C*-1.0}else{h=o*h;l=o*l;o=o*C}if(!(r0.0&D>0.0&E>0.0)?!(C<=0.0)|!(D<=0.0)|!(E<=0.0):0){if((Pb[c[(c[q>>2]|0)+100>>2]&127](q)|0)<=0){i=e;return}r=0.0;t=0.0;y=0.0;s=0;q=0;do{F=c[a+8>>2]|0;vc[c[(c[F>>2]|0)+104>>2]&127](F,q,e+80|0,e+64|0);w=+g[e+80>>2];z=+g[e+84>>2];D=+g[e+88>>2];v=+g[e+64>>2]-w;x=+g[e+68>>2]-z;E=+g[e+72>>2]-D;do if((n-w)*v+(m-z)*x+(k-D)*E>0.0)if((n-w)*v+(m-z)*x+(k-D)*E>2]|0}while((q|0)<(Pb[c[(c[F>>2]|0)+100>>2]&127](F)|0));if((s&1)==0){i=e;return}else{u=p*p;p=r}}else{u=p*p;p=n-o*r;t=m-l*r;y=k-h*r}n=n-p;m=m-t;k=k-y;if(!(n*n+m*m+k*k1.1920928955078125e-7){h=+Q(+(n*n+m*m+k*k));j=j-h;o=n*(1.0/h);l=m*(1.0/h);h=k*(1.0/h)}j=-j;if(f){z=+g[b+64>>2];A=+g[b+68>>2];B=+g[b+72>>2];C=z*o+A*l+B*h;n=+g[b+80>>2];r=+g[b+84>>2];u=+g[b+88>>2];D=o*n+l*r+h*u;v=+g[b+96>>2];w=+g[b+100>>2];x=+g[b+104>>2];E=o*v+l*w+h*x;g[e+48>>2]=-C;g[e+52>>2]=-D;g[e+56>>2]=-E;g[e+60>>2]=0.0;D=p*n+t*r+y*u+ +g[b+116>>2]+D*j;E=p*v+t*w+y*x+ +g[b+120>>2]+E*j;g[e+32>>2]=p*z+t*A+y*B+ +g[b+112>>2]+C*j;g[e+36>>2]=D;g[e+40>>2]=E;g[e+44>>2]=0.0;qc[c[(c[d>>2]|0)+16>>2]&15](d,e+48|0,e+32|0,j);i=e;return}else{F=c[(c[d>>2]|0)+16>>2]|0;A=+g[b+64>>2];B=+g[b+68>>2];C=+g[b+72>>2];v=+g[b+80>>2];w=+g[b+84>>2];D=+g[b+88>>2];x=+g[b+96>>2];z=+g[b+100>>2];E=+g[b+104>>2];g[e+16>>2]=A*o+B*l+C*h;g[e+20>>2]=o*v+l*w+h*D;g[e+24>>2]=o*x+l*z+h*E;g[e+28>>2]=0.0;D=p*v+t*w+y*D+ +g[b+116>>2];E=p*x+t*z+y*E+ +g[b+120>>2];g[e>>2]=p*A+t*B+y*C+ +g[b+112>>2];g[e+4>>2]=D;g[e+8>>2]=E;g[e+12>>2]=0.0;qc[F&15](d,e+16|0,e,j);i=e;return}}function oC(a){a=a|0;return}function pC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function qC(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=17896;if((a[b+8>>0]|0)!=0?(e=c[b+12>>2]|0,(e|0)!=0):0){f=c[b+4>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,e)}YE(b);i=d;return}function rC(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=17896;if((a[b+8>>0]|0)==0){i=d;return}e=c[b+12>>2]|0;if((e|0)==0){i=d;return}b=c[b+4>>2]|0;Nb[c[(c[b>>2]|0)+16>>2]&127](b,e);i=d;return}function sC(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;j=i;i=i+144|0;k=c[b+12>>2]|0;if((k|0)==0){i=j;return}m=c[d+4>>2]|0;l=c[e+4>>2]|0;c[h+4>>2]=k;g[j+140>>2]=999999984306749400.0;k=c[d+12>>2]|0;c[j+12>>2]=c[k+0>>2];c[j+16>>2]=c[k+4>>2];c[j+20>>2]=c[k+8>>2];c[j+24>>2]=c[k+12>>2];c[j+28>>2]=c[k+16>>2];c[j+32>>2]=c[k+20>>2];c[j+36>>2]=c[k+24>>2];c[j+40>>2]=c[k+28>>2];c[j+44>>2]=c[k+32>>2];c[j+48>>2]=c[k+36>>2];c[j+52>>2]=c[k+40>>2];c[j+56>>2]=c[k+44>>2];c[j+60>>2]=c[k+48>>2];c[j+64>>2]=c[k+52>>2];c[j+68>>2]=c[k+56>>2];c[j+72>>2]=c[k+60>>2];e=c[e+12>>2]|0;c[j+76>>2]=c[e+0>>2];c[j+80>>2]=c[e+4>>2];c[j+84>>2]=c[e+8>>2];c[j+88>>2]=c[e+12>>2];c[j+92>>2]=c[e+16>>2];c[j+96>>2]=c[e+20>>2];c[j+100>>2]=c[e+24>>2];c[j+104>>2]=c[e+28>>2];c[j+108>>2]=c[e+32>>2];c[j+112>>2]=c[e+36>>2];c[j+116>>2]=c[e+40>>2];c[j+120>>2]=c[e+44>>2];c[j+124>>2]=c[e+48>>2];c[j+128>>2]=c[e+52>>2];c[j+132>>2]=c[e+56>>2];c[j+136>>2]=c[e+60>>2];c[j>>2]=17976;c[j+4>>2]=m;c[j+8>>2]=l;vC(j,j+12|0,h,c[f+20>>2]|0,0);if((a[b+8>>0]|0)==0){i=j;return}d=c[h+4>>2]|0;if((c[d+748>>2]|0)==0){i=j;return}k=c[d+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((k|0)==(e|0)){nA(d,k+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=j;return}else{nA(d,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);i=j;return}}function tC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function uC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+12>>2]|0)==0){i=e;return}if((a[b+8>>0]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+12>>2];c[d+4>>2]=h+1;i=e;return}function vC(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.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,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=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,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0.0,oa=0.0,pa=0,qa=0.0,ra=0.0,sa=0,ta=0,ua=0,va=0.0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;e=i;i=i+656|0;g[e+48>>2]=+g[b>>2];g[e>>2]=+g[b+64>>2];f=e+52|0;g[f>>2]=+g[b+4>>2];g[e+4>>2]=+g[b+68>>2];g[e+56>>2]=+g[b+8>>2];g[e+8>>2]=+g[b+72>>2];g[e+64>>2]=+g[b+16>>2];g[e+16>>2]=+g[b+80>>2];g[e+68>>2]=+g[b+20>>2];g[e+20>>2]=+g[b+84>>2];g[e+72>>2]=+g[b+24>>2];g[e+24>>2]=+g[b+88>>2];g[e+80>>2]=+g[b+32>>2];g[e+32>>2]=+g[b+96>>2];g[e+84>>2]=+g[b+36>>2];g[e+36>>2]=+g[b+100>>2];g[e+88>>2]=+g[b+40>>2];g[e+40>>2]=+g[b+104>>2];Da=c[a+4>>2]|0;A=+g[Da+28>>2];B=+g[Da+32>>2];E=+g[Da+36>>2];C=+$b[c[(c[Da>>2]|0)+48>>2]&15](Da);D=+$b[c[(c[Da>>2]|0)+48>>2]&15](Da);E=(E+ +$b[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;Da=c[a+8>>2]|0;w=+g[Da+28>>2];y=+g[Da+32>>2];q=+g[Da+36>>2];v=+$b[c[(c[Da>>2]|0)+48>>2]&15](Da);x=+$b[c[(c[Da>>2]|0)+48>>2]&15](Da);q=(q+ +$b[c[(c[Da>>2]|0)+48>>2]&15](Da))*2.0;R=+g[b+112>>2]- +g[b+48>>2];S=+g[b+116>>2]- +g[b+52>>2];O=+g[b+120>>2]- +g[b+56>>2];k=+g[e+48>>2];j=+g[e+64>>2];h=+g[e+80>>2];I=+g[f>>2];J=+g[e+68>>2];H=+g[e+84>>2];G=+g[e+56>>2];F=+g[e+72>>2];z=+g[e+88>>2];g[e+548>>2]=(A+C)*2.0*.5;g[e+552>>2]=(B+D)*2.0*.5;g[e+556>>2]=E*.5;g[e+536>>2]=(w+v)*2.0*.5;g[e+540>>2]=(y+x)*2.0*.5;g[e+544>>2]=q*.5;p=+g[e>>2];u=+g[e+16>>2];r=+g[e+32>>2];o=+g[e+4>>2];t=+g[e+20>>2];s=+g[e+36>>2];n=+g[e+8>>2];m=+g[e+24>>2];l=+g[e+40>>2];X=+P(+(k*p+j*u+h*r));T=+P(+(k*o+j*t+h*s));K=+P(+(k*n+j*m+h*l));Z=+P(+(p*I+u*J+r*H));V=+P(+(o*I+t*J+s*H));N=+P(+(n*I+m*J+l*H));L=+P(+(p*G+u*F+r*z));M=+P(+(o*G+t*F+s*z));U=+P(+(n*G+m*F+l*z));$=+P(+(R*k+S*j+O*h))-(q*.5*K+((A+C)*2.0*.5+X*(w+v)*2.0*.5+T*(y+x)*2.0*.5));if($>0.0){i=e;return}if($>-3.4028234663852886e+38){ga=1;W=R*k+S*j+O*h<0.0&1;a=e+48|0}else{ga=0;W=0;a=0;$=-3.4028234663852886e+38}_=+P(+(R*I+S*J+O*H))-((B+D)*2.0*.5+Z*(w+v)*2.0*.5+V*(y+x)*2.0*.5+N*q*.5);if(_>0.0){i=e;return}if(_>$){ga=2;W=R*I+S*J+O*H<0.0&1;a=f}else _=$;$=+P(+(R*G+S*F+O*z))-(E*.5+L*(w+v)*2.0*.5+M*(y+x)*2.0*.5+U*q*.5);if($>0.0){i=e;return}if($>_){ga=3;W=R*G+S*F+O*z<0.0&1;a=e+56|0;_=$}$=+P(+(R*p+S*u+O*r))-((w+v)*2.0*.5+(X*(A+C)*2.0*.5+Z*(B+D)*2.0*.5+L*E*.5));if($>0.0){i=e;return}if($>_){ga=4;W=R*p+S*u+O*r<0.0&1;a=e;_=$}$=+P(+(R*o+S*t+O*s))-((y+x)*2.0*.5+(T*(A+C)*2.0*.5+V*(B+D)*2.0*.5+M*E*.5));if($>0.0){i=e;return}if($>_){ga=5;W=R*o+S*t+O*s<0.0&1;a=e+4|0;_=$}qa=+P(+(R*n+S*m+O*l))-(q*.5+(K*(A+C)*2.0*.5+N*(B+D)*2.0*.5+U*E*.5));if(qa>0.0){i=e;return}if(qa>_){ga=6;W=R*n+S*m+O*l<0.0&1;a=e+8|0}else qa=_;ba=(R*G+S*F+O*z)*(p*I+u*J+r*H)-(R*I+S*J+O*H)*(p*G+u*F+r*z);$=+P(+ba)-((L+9999999747378752.0e-21)*(B+D)*2.0*.5+(Z+9999999747378752.0e-21)*E*.5+(K+9999999747378752.0e-21)*(y+x)*2.0*.5+(T+9999999747378752.0e-21)*q*.5);if($>1.1920928955078125e-7){i=e;return}da=(p*G+u*F+r*z)*(p*G+u*F+r*z)+0.0;aa=(p*I+u*J+r*H)*(p*I+u*J+r*H);_=+Q(+(aa+da));if(_>1.1920928955078125e-7?$/_*1.0499999523162842>qa:0){oa=(p*I+u*J+r*H)/_;na=-(p*G+u*F+r*z)/_;ma=0.0/_;ga=7;W=ba<0.0&1;a=0;qa=$/_}else{oa=0.0;na=0.0;ma=0.0}ca=(R*G+S*F+O*z)*(o*I+t*J+s*H)-(R*I+S*J+O*H)*(o*G+t*F+s*z);$=+P(+ca)-((M+9999999747378752.0e-21)*(B+D)*2.0*.5+(V+9999999747378752.0e-21)*E*.5+(K+9999999747378752.0e-21)*(w+v)*2.0*.5+(X+9999999747378752.0e-21)*q*.5);if($>1.1920928955078125e-7){i=e;return}ea=(o*G+t*F+s*z)*(o*G+t*F+s*z)+0.0;_=(o*I+t*J+s*H)*(o*I+t*J+s*H);ba=+Q(+(_+ea));if(ba>1.1920928955078125e-7?$/ba*1.0499999523162842>qa:0){oa=(o*I+t*J+s*H)/ba;na=-(o*G+t*F+s*z)/ba;ma=0.0/ba;ga=8;W=ca<0.0&1;a=0;qa=$/ba}va=(R*G+S*F+O*z)*(n*I+m*J+l*H)-(R*I+S*J+O*H)*(n*G+m*F+l*z);ba=+P(+va)-((U+9999999747378752.0e-21)*(B+D)*2.0*.5+(N+9999999747378752.0e-21)*E*.5+(T+9999999747378752.0e-21)*(w+v)*2.0*.5+(X+9999999747378752.0e-21)*(y+x)*2.0*.5);if(ba>1.1920928955078125e-7){i=e;return}ca=(n*G+m*F+l*z)*(n*G+m*F+l*z)+0.0;$=(n*I+m*J+l*H)*(n*I+m*J+l*H);ra=+Q(+($+ca));if(ra>1.1920928955078125e-7?ba/ra*1.0499999523162842>qa:0){oa=(n*I+m*J+l*H)/ra;na=-(n*G+m*F+l*z)/ra;ma=0.0/ra;ga=9;W=va<0.0&1;a=0;qa=ba/ra}va=(R*k+S*j+O*h)*(p*G+u*F+r*z)-(R*G+S*F+O*z)*(k*p+j*u+h*r);ra=+P(+va)-((L+9999999747378752.0e-21)*(A+C)*2.0*.5+(X+9999999747378752.0e-21)*E*.5+(N+9999999747378752.0e-21)*(y+x)*2.0*.5+(V+9999999747378752.0e-21)*q*.5);if(ra>1.1920928955078125e-7){i=e;return}ba=(k*p+j*u+h*r)*(k*p+j*u+h*r);da=+Q(+(ba+da));do if(da>1.1920928955078125e-7){if(!(ra/da*1.0499999523162842>qa))break;oa=-(k*p+j*u+h*r)/da;na=0.0/da;ma=(p*G+u*F+r*z)/da;ga=10;W=va<0.0&1;a=0;qa=ra/da}while(0);va=(R*k+S*j+O*h)*(o*G+t*F+s*z)-(R*G+S*F+O*z)*(k*o+j*t+h*s);ra=+P(+va)-((M+9999999747378752.0e-21)*(A+C)*2.0*.5+(T+9999999747378752.0e-21)*E*.5+(N+9999999747378752.0e-21)*(w+v)*2.0*.5+(Z+9999999747378752.0e-21)*q*.5);if(ra>1.1920928955078125e-7){i=e;return}da=(k*o+j*t+h*s)*(k*o+j*t+h*s);ea=+Q(+(da+ea));do if(ea>1.1920928955078125e-7){if(!(ra/ea*1.0499999523162842>qa))break;oa=-(k*o+j*t+h*s)/ea;na=0.0/ea;ma=(o*G+t*F+s*z)/ea;ga=11;W=va<0.0&1;a=0;qa=ra/ea}while(0);va=(R*k+S*j+O*h)*(n*G+m*F+l*z)-(R*G+S*F+O*z)*(k*n+j*m+h*l);ra=+P(+va)-((U+9999999747378752.0e-21)*(A+C)*2.0*.5+(K+9999999747378752.0e-21)*E*.5+(V+9999999747378752.0e-21)*(w+v)*2.0*.5+(Z+9999999747378752.0e-21)*(y+x)*2.0*.5);if(ra>1.1920928955078125e-7){i=e;return}ea=(k*n+j*m+h*l)*(k*n+j*m+h*l);ca=+Q(+(ea+ca));do if(ca>1.1920928955078125e-7){if(!(ra/ca*1.0499999523162842>qa))break;oa=-(k*n+j*m+h*l)/ca;na=0.0/ca;ma=(n*G+m*F+l*z)/ca;ga=12;W=va<0.0&1;a=0;qa=ra/ca}while(0);ca=(R*I+S*J+O*H)*(k*p+j*u+h*r)-(R*k+S*j+O*h)*(p*I+u*J+r*H);X=+P(+ca)-((Z+9999999747378752.0e-21)*(A+C)*2.0*.5+(X+9999999747378752.0e-21)*(B+D)*2.0*.5+(U+9999999747378752.0e-21)*(y+x)*2.0*.5+(M+9999999747378752.0e-21)*q*.5);if(X>1.1920928955078125e-7){i=e;return}Z=+Q(+(ba+aa+0.0));do if(Z>1.1920928955078125e-7){if(!(X/Z*1.0499999523162842>qa))break;oa=0.0/Z;na=(k*p+j*u+h*r)/Z;ma=-(p*I+u*J+r*H)/Z;ga=13;W=ca<0.0&1;a=0;qa=X/Z}while(0);X=(R*I+S*J+O*H)*(k*o+j*t+h*s)-(R*k+S*j+O*h)*(o*I+t*J+s*H);T=+P(+X)-((V+9999999747378752.0e-21)*(A+C)*2.0*.5+(T+9999999747378752.0e-21)*(B+D)*2.0*.5+(U+9999999747378752.0e-21)*(w+v)*2.0*.5+(L+9999999747378752.0e-21)*q*.5);if(T>1.1920928955078125e-7){i=e;return}U=+Q(+(da+_+0.0));do if(U>1.1920928955078125e-7){if(!(T/U*1.0499999523162842>qa)){fa=a;break}oa=0.0/U;na=(k*o+j*t+h*s)/U;ma=-(o*I+t*J+s*H)/U;ga=14;W=X<0.0&1;fa=0;qa=T/U}else fa=a;while(0);O=(R*I+S*J+O*H)*(k*n+j*m+h*l)-(R*k+S*j+O*h)*(n*I+m*J+l*H);K=+P(+O)-((N+9999999747378752.0e-21)*(A+C)*2.0*.5+(K+9999999747378752.0e-21)*(B+D)*2.0*.5+(M+9999999747378752.0e-21)*(w+v)*2.0*.5+(L+9999999747378752.0e-21)*(y+x)*2.0*.5);if(K>1.1920928955078125e-7){i=e;return}L=+Q(+(ea+$+0.0));do if(L>1.1920928955078125e-7){if(!(K/L*1.0499999523162842>qa)){a=55;break}ma=-(n*I+m*J+l*H)/L;na=(k*n+j*m+h*l)/L;oa=0.0/L;ga=15;W=O<0.0&1;qa=K/L;a=58}else a=55;while(0);do if((a|0)==55){if((ga|0)==0){i=e;return}if((fa|0)==0){a=58;break}h=+g[fa>>2];j=+g[fa+16>>2];k=+g[fa+32>>2]}while(0);if((a|0)==58){h=ma*+g[e+48>>2]+na*+g[f>>2]+oa*G;j=ma*+g[e+64>>2]+na*+g[e+68>>2]+oa*F;k=ma*+g[e+80>>2]+na*+g[e+84>>2]+oa*z}if((W|0)!=0){h=-h;j=-j;k=-k}if((ga|0)>6){ca=+g[e+48>>2];da=+g[e+64>>2];na=+g[e+80>>2];ma=(h*ca+j*da+k*na>0.0?1.0:-1.0)*(A+C)*2.0*.5;A=+g[f>>2];ea=+g[e+68>>2];ra=+g[e+84>>2];oa=(h*A+j*ea+k*ra>0.0?1.0:-1.0)*(B+D)*2.0*.5;va=(h*G+j*F+k*z>0.0?1.0:-1.0)*E*.5;A=+g[b+48>>2]+ma*ca+oa*A+va*G;B=+g[b+52>>2]+ma*da+oa*ea+va*F;z=+g[b+56>>2]+ma*na+oa*ra+va*z;c[e+520>>2]=c[b+112>>2];c[e+524>>2]=c[b+116>>2];c[e+528>>2]=c[b+120>>2];w=(h*p+j*u+k*r>0.0?-1.0:1.0)*(w+v)*2.0*.5;x=(h*o+j*t+k*s>0.0?-1.0:1.0)*(y+x)*2.0*.5;t=+g[e+524>>2]+w*u+x*t;r=+g[e+528>>2]+w*r+x*s;q=(h*n+j*m+k*l>0.0?-1.0:1.0)*q*.5;n=+g[e+520>>2]+w*p+x*o+q*n;g[e+520>>2]=n;g[e+524>>2]=t+q*m;g[e+528>>2]=r+q*l;Da=ga+ -7|0;u=+g[e+48+(((Da|0)/3|0)<<2)>>2];x=+g[e+48+(((Da|0)/3|0)+4<<2)>>2];w=+g[e+48+(((Da|0)/3|0)+8<<2)>>2];s=+g[e+(((Da|0)%3|0)<<2)>>2];p=+g[e+(((Da|0)%3|0)+4<<2)>>2];o=+g[e+(((Da|0)%3|0)+8<<2)>>2];v=1.0-(u*s+x*p+w*o)*(u*s+x*p+w*o);if(!(v<=9999999747378752.0e-20))u=(((n-A)*u+(t+q*m-B)*x+(r+q*l-z)*w)*(u*s+x*p+w*o)-((n-A)*s+(t+q*m-B)*p+(r+q*l-z)*o))*(1.0/v);else u=0.0;g[e+520>>2]=n+u*s;g[e+524>>2]=t+q*m+u*p;g[e+528>>2]=r+q*l+u*o;Da=c[(c[d>>2]|0)+16>>2]|0;g[e+504>>2]=-h;g[e+508>>2]=-j;g[e+512>>2]=-k;g[e+516>>2]=0.0;qc[Da&15](d,e+504|0,e+520|0,qa);i=e;return}W=(ga|0)<4;if(W){l=h;m=j;n=k;ha=e+48|0;ta=e;fa=e+548|0;pa=e+536|0;f=b+48|0;b=b+112|0}else{l=-h;m=-j;n=-k;ha=e;ta=e+48|0;fa=e+536|0;pa=e+548|0;f=b+112|0;b=b+48|0}o=l*+g[ta>>2]+m*+g[ta+16>>2]+n*+g[ta+32>>2];g[e+488>>2]=o;q=l*+g[ta+4>>2]+m*+g[ta+20>>2]+n*+g[ta+36>>2];g[e+492>>2]=q;p=l*+g[ta+8>>2]+m*+g[ta+24>>2]+n*+g[ta+40>>2];g[e+496>>2]=p;o=+P(+o);q=+P(+q);p=+P(+p);if(q>o){ja=q>p;sa=0;ia=q>p?1:2}else{ja=o>p;sa=o>p&1;ia=o>p?0:2}ua=ja?2:1;q=+g[pa+(ia<<2)>>2];p=+g[b>>2]- +g[f>>2];o=q*+g[ta+(ia<<2)>>2];if(+g[e+488+(ia<<2)>>2]<0.0){o=p+o;p=+g[b+4>>2]- +g[f+4>>2]+q*+g[ta+((ia|4)<<2)>>2];q=+g[b+8>>2]- +g[f+8>>2]+q*+g[ta+((ia|8)<<2)>>2]}else{o=p-o;p=+g[b+4>>2]- +g[f+4>>2]-q*+g[ta+((ia|4)<<2)>>2];q=+g[b+8>>2]- +g[f+8>>2]-q*+g[ta+((ia|8)<<2)>>2]}la=(W?-1:-4)+ga|0;if((la|0)==0){wa=1;xa=2}else if((la|0)==1){wa=0;xa=2}else{wa=0;xa=1}t=+g[ha+(wa<<2)>>2];u=+g[ha+((wa|4)<<2)>>2];v=+g[ha+((wa|8)<<2)>>2];r=o*t+p*u+q*v;w=+g[ha+(xa<<2)>>2];s=+g[ha+((xa|4)<<2)>>2];y=+g[ha+((xa|8)<<2)>>2];A=o*w+p*s+q*y;ka=ta+(sa<<2)|0;x=+g[ka>>2];ia=ta+((sa|4)<<2)|0;C=+g[ia>>2];b=ta+((sa|8)<<2)|0;D=+g[b>>2];ja=ta+(ua<<2)|0;z=+g[ja>>2];ha=ta+((ua|4)<<2)|0;B=+g[ha>>2];ga=ta+((ua|8)<<2)|0;E=+g[ga>>2];ra=+g[pa+(sa<<2)>>2];va=+g[pa+(ua<<2)>>2];qa=(t*z+u*B+v*E)*va;va=(w*z+s*B+y*E)*va;g[e+456>>2]=r-(t*x+u*C+v*D)*ra-qa;g[e+460>>2]=A-(w*x+s*C+y*D)*ra-va;g[e+464>>2]=r-(t*x+u*C+v*D)*ra+qa;g[e+468>>2]=A-(w*x+s*C+y*D)*ra+va;g[e+472>>2]=r+(t*x+u*C+v*D)*ra+qa;g[e+476>>2]=A+(w*x+s*C+y*D)*ra+va;g[e+480>>2]=r+(t*x+u*C+v*D)*ra-qa;g[e+484>>2]=A+(w*x+s*C+y*D)*ra-va;g[e+448>>2]=+g[fa+(wa<<2)>>2];g[e+452>>2]=+g[fa+(xa<<2)>>2];ua=0;za=4;xa=e+456|0;ta=e+384|0;a:while(1){sa=e+448+(ua<<2)|0;pa=1-ua|0;wa=-1;while(1){if((za|0)>0){F=+(wa|0);Ba=0;ya=xa;Aa=ta;while(1){Ca=ya+(ua<<2)|0;G=+g[Ca>>2];H=+g[sa>>2];if(F*G>2]=+g[ya>>2];g[Aa+4>>2]=+g[ya+4>>2];Ba=Ba+1|0;if((Ba&8|0)!=0){za=Ba;break a}G=+g[Ca>>2];H=+g[sa>>2];Aa=Aa+8|0}Ca=ya;ya=ya+8|0;Da=(za|0)>1?ya:xa;I=+g[Da+(ua<<2)>>2];if(F*G>2];g[Aa+(pa<<2)>>2]=va+(F*H-G)*((+g[Da+(pa<<2)>>2]-va)/(I-G));g[Aa+(ua<<2)>>2]=F*+g[sa>>2];Ba=Ba+1|0;if((Ba&8|0)==0)Aa=Aa+8|0;else{za=Ba;break a}}za=za+ -1|0;if((za|0)<=0){za=Ba;break}}}else za=0;ya=(ta|0)==(e+384|0)?e+592|0:e+384|0;if((wa|0)<0){xa=ta;ta=ya;wa=wa+2|0}else break}ua=ua+1|0;if((ua|0)<2){xa=ta;ta=ya}else break}if((ta|0)!=(e+384|0))cF(e+384|0,ta|0,za<<3|0)|0;if((za|0)<1){i=e;return}F=1.0/((t*x+u*C+v*D)*(w*z+s*B+y*E)-(w*x+s*C+y*D)*(t*z+u*B+v*E));G=+g[fa+(la<<2)>>2];H=+g[ka>>2];I=+g[ja>>2];J=+g[ia>>2];K=+g[ha>>2];L=+g[b>>2];M=+g[ga>>2];b=0;fa=0;do{Da=fa<<1;O=+g[e+384+(Da<<2)>>2];N=+g[e+384+((Da|1)<<2)>>2];oa=(w*z+s*B+y*E)*F*(O-r)-(t*z+u*B+v*E)*F*(N-A);va=(t*x+u*C+v*D)*F*(N-A)-(w*x+s*C+y*D)*F*(O-r);Da=b*3|0;qa=o+oa*H+va*I;g[e+288+(Da<<2)>>2]=qa;ra=p+oa*J+va*K;g[e+288+(Da+1<<2)>>2]=ra;va=q+oa*L+va*M;g[e+288+(Da+2<<2)>>2]=va;va=G-(l*qa+m*ra+n*va);g[e+256+(b<<2)>>2]=va;if(va>=0.0){Da=b<<1;g[e+384+(Da<<2)>>2]=O;g[e+384+((Da|1)<<2)>>2]=N;b=b+1|0}fa=fa+1|0}while((fa|0)!=(za|0));if((b|0)<1){i=e;return}fa=(b|0)<4?b:4;fa=(fa|0)<1?1:fa;if((b|0)<=(fa|0)){a=(b|0)>0;if(W){if(!a){i=e;return}a=f+4|0;W=f+8|0;h=-h;j=-j;k=-k;fa=0;do{Da=fa*3|0;g[e+240>>2]=+g[e+288+(Da<<2)>>2]+ +g[f>>2];g[e+244>>2]=+g[e+288+(Da+1<<2)>>2]+ +g[a>>2];g[e+248>>2]=+g[e+288+(Da+2<<2)>>2]+ +g[W>>2];Da=c[(c[d>>2]|0)+16>>2]|0;g[e+224>>2]=h;g[e+228>>2]=j;g[e+232>>2]=k;g[e+236>>2]=0.0;qc[Da&15](d,e+224|0,e+240|0,-+g[e+256+(fa<<2)>>2]);fa=fa+1|0}while((fa|0)!=(b|0));i=e;return}else{if(!a){i=e;return}W=f+4|0;fa=f+8|0;l=-h;n=-j;m=-k;a=0;do{Da=a*3|0;va=+g[e+256+(a<<2)>>2];g[e+208>>2]=+g[e+288+(Da<<2)>>2]+ +g[f>>2]-h*va;g[e+212>>2]=+g[e+288+(Da+1<<2)>>2]+ +g[W>>2]-j*va;g[e+216>>2]=+g[e+288+(Da+2<<2)>>2]+ +g[fa>>2]-k*va;Da=c[(c[d>>2]|0)+16>>2]|0;g[e+192>>2]=l;g[e+196>>2]=n;g[e+200>>2]=m;g[e+204>>2]=0.0;qc[Da&15](d,e+192|0,e+208|0,-va);a=a+1|0}while((a|0)!=(b|0));i=e;return}}if((b|0)>1){ha=1;ga=0;l=+g[e+256>>2];while(1){m=+g[e+256+(ha<<2)>>2];ia=m>l;ga=ia?ha:ga;ha=ha+1|0;if((ha|0)==(b|0))break;else l=ia?m:l}}else ga=0;if((b|0)==1){q=+g[e+384>>2];l=+g[e+388>>2];a=115}else if((b|0)!=2){ha=b+ -1|0;if((ha|0)>0){r=0.0;q=0.0;p=0.0;ia=0;do{Da=ia<<1;oa=+g[e+384+(Da<<2)>>2];qa=+g[e+384+(Da+3<<2)>>2];ra=+g[e+384+(Da+2<<2)>>2];va=+g[e+384+((Da|1)<<2)>>2];r=r+(oa*qa-ra*va);q=q+(oa+ra)*(oa*qa-ra*va);p=p+(qa+va)*(oa*qa-ra*va);ia=ia+1|0}while((ia|0)!=(ha|0))}else{r=0.0;q=0.0;p=0.0}Da=b<<1;o=+g[e+384+(Da+ -2<<2)>>2];n=+g[e+388>>2];m=+g[e+384>>2];l=+g[e+384+(Da+ -1<<2)>>2];r=r+(o*n-m*l);if(+P(+r)>1.1920928955078125e-7)r=1.0/(r*3.0);else r=999999984306749400.0;if((b|0)>0){q=r*(q+(o*n-m*l)*(o+m));l=r*(p+(o*n-m*l)*(l+n));a=115}else ha=0}else{q=(+g[e+384>>2]+ +g[e+392>>2])*.5;l=(+g[e+388>>2]+ +g[e+396>>2])*.5;a=115}if((a|0)==115){a=0;do{Da=a<<1;g[e+592+(a<<2)>>2]=+Y(+(+g[e+384+((Da|1)<<2)>>2]-l),+(+g[e+384+(Da<<2)>>2]-q));a=a+1|0}while((a|0)!=(b|0));a=0;do{c[e+560+(a<<2)>>2]=1;a=a+1|0}while((a|0)!=(b|0));ha=1}a=e+560+(ga<<2)|0;c[a>>2]=0;c[e+160>>2]=ga;b:do if((fa|0)>1){l=+g[e+592+(ga<<2)>>2];if(ha){ha=e+164|0;a=1}else{ha=e+164|0;b=1;while(1){c[ha>>2]=ga;c[a>>2]=0;b=b+1|0;if((b|0)==(fa|0))break b;else ha=ha+4|0}}while(1){m=+(a|0)*(6.2831854820251465/+(fa|0))+l;if(m>3.1415927410125732)m=m+-6.2831854820251465;c[ha>>2]=ga;ja=ga;ia=0;n=1.0e9;do{do if((c[e+560+(ia<<2)>>2]|0)!=0){o=+P(+(+g[e+592+(ia<<2)>>2]-m));if(o>3.1415927410125732)o=6.2831854820251465-o;if(!(o>2]=ia;ja=ia;n=o}while(0);ia=ia+1|0}while((ia|0)!=(b|0));c[e+560+(ja<<2)>>2]=0;a=a+1|0;if((a|0)==(fa|0))break;else ha=ha+4|0}}while(0);if((fa|0)<=0){i=e;return}a=f+4|0;b=f+8|0;m=-k;l=-j;n=-h;if(W){W=0;do{Da=c[e+160+(W<<2)>>2]|0;g[e+144>>2]=+g[e+288+(Da*3<<2)>>2]+ +g[f>>2];g[e+148>>2]=+g[e+288+((Da*3|0)+1<<2)>>2]+ +g[a>>2];g[e+152>>2]=+g[e+288+((Da*3|0)+2<<2)>>2]+ +g[b>>2];Ca=c[(c[d>>2]|0)+16>>2]|0;g[e+128>>2]=n;g[e+132>>2]=l;g[e+136>>2]=m;g[e+140>>2]=0.0;qc[Ca&15](d,e+128|0,e+144|0,-+g[e+256+(Da<<2)>>2]);W=W+1|0}while((W|0)<(fa|0));i=e;return}else{W=0;do{Ca=c[e+160+(W<<2)>>2]|0;oa=+g[e+288+(Ca*3<<2)>>2]+ +g[f>>2];g[e+144>>2]=oa;qa=+g[e+288+((Ca*3|0)+1<<2)>>2]+ +g[a>>2];g[e+148>>2]=qa;ra=+g[e+288+((Ca*3|0)+2<<2)>>2]+ +g[b>>2];g[e+152>>2]=ra;Da=c[(c[d>>2]|0)+16>>2]|0;g[e+112>>2]=n;g[e+116>>2]=l;g[e+120>>2]=m;g[e+124>>2]=0.0;va=+g[e+256+(Ca<<2)>>2];g[e+96>>2]=oa-h*va;g[e+100>>2]=qa-va*j;g[e+104>>2]=ra-va*k;g[e+108>>2]=0.0;qc[Da&15](d,e+112|0,e+96|0,-va);W=W+1|0}while((W|0)<(fa|0));i=e;return}}function wC(a){a=a|0;return}function xC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function yC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;i=i+32|0;h=(a[b+28>>0]|0)!=0;f=h?e:d;e=h?d:e;d=c[f+4>>2]|0;h=c[d+16>>2]|0;j=c[b+12>>2]|0;if((j|0)<(h|0)){if((c[b+16>>2]|0)<(h|0)){if((h|0)==0){k=0;m=j}else{c[5004]=(c[5004]|0)+1;k=XE((h<<2|3)+16|0)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}m=c[b+12>>2]|0}if((m|0)>0){l=0;do{n=k+(l<<2)|0;if((n|0)!=0)c[n>>2]=c[(c[b+20>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(m|0))}l=c[b+20>>2]|0;if((l|0)!=0){if((a[b+24>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=k;c[b+16>>2]=h;k=b+20|0}else k=b+20|0;do{l=(c[k>>2]|0)+(j<<2)|0;if((l|0)!=0)c[l>>2]=0;j=j+1|0}while((j|0)!=(h|0))}c[b+12>>2]=h;if((h|0)<=0){i=g;return}j=0;do{if((c[d+64>>2]|0)==0){l=c[(c[d+24>>2]|0)+(j*80|0)+64>>2]|0;m=c[f+8>>2]|0;n=c[f+12>>2]|0;c[g>>2]=f;c[g+4>>2]=l;c[g+8>>2]=m;c[g+12>>2]=n;c[g+16>>2]=-1;c[g+20>>2]=j;n=c[b+4>>2]|0;n=Tb[c[(c[n>>2]|0)+8>>2]&31](n,g,e,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(j<<2)>>2]=n}else c[(c[b+20>>2]|0)+(j<<2)>>2]=0;j=j+1|0}while((j|0)!=(h|0));i=g;return}function zC(a){a=a|0;var b=0;b=i;AC(a);YE(a);i=b;return}function AC(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;c[b>>2]=18040;e=c[b+12>>2]|0;if((e|0)>0){f=0;do{g=c[(c[b+20>>2]|0)+(f<<2)>>2]|0;if((g|0)!=0){Lb[c[c[g>>2]>>2]&511](g);g=c[b+4>>2]|0;Nb[c[(c[g>>2]|0)+60>>2]&127](g,c[(c[b+20>>2]|0)+(f<<2)>>2]|0)}f=f+1|0}while((f|0)!=(e|0))}e=c[b+20>>2]|0;if((e|0)==0){a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;g=b+16|0;c[g>>2]=0;i=d;return}if((a[b+24>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+20>>2]=0;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;g=b+16|0;c[g>>2]=0;i=d;return}function BC(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;j=i;i=i+320|0;k=(a[b+28>>0]|0)!=0;m=k?e:d;k=k?d:e;l=c[m+4>>2]|0;if((c[l+68>>2]|0)!=(c[b+40>>2]|0)){p=c[b+12>>2]|0;if((p|0)>0){o=0;do{n=c[(c[b+20>>2]|0)+(o<<2)>>2]|0;if((n|0)!=0){Lb[c[c[n>>2]>>2]&511](n);s=c[b+4>>2]|0;Nb[c[(c[s>>2]|0)+60>>2]&127](s,c[(c[b+20>>2]|0)+(o<<2)>>2]|0)}o=o+1|0}while((o|0)!=(p|0))}yC(b,d,e)}d=c[l+64>>2]|0;n=c[b+4>>2]|0;q=c[b+20>>2]|0;o=c[b+32>>2]|0;c[j+280>>2]=18120;c[j+284>>2]=m;c[j+288>>2]=k;c[j+292>>2]=n;c[j+296>>2]=f;c[j+300>>2]=h;c[j+304>>2]=q;c[j+308>>2]=o;f=j+272|0;a[f>>0]=1;o=j+268|0;c[o>>2]=0;n=j+260|0;c[n>>2]=0;c[j+264>>2]=0;e=c[b+12>>2]|0;if((e|0)>0){p=0;while(1){q=c[q+(p<<2)>>2]|0;if((q|0)!=0){Nb[c[(c[q>>2]|0)+16>>2]&127](q,j+256|0);e=c[n>>2]|0;if((e|0)>0){r=e;e=0;do{q=c[(c[o>>2]|0)+(e<<2)>>2]|0;if((c[q+748>>2]|0)!=0){c[h+4>>2]=q;s=c[q+740>>2]|0;r=c[(c[h+8>>2]|0)+8>>2]|0;if((s|0)==(r|0))nA(q,s+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else nA(q,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,r+4|0);c[h+4>>2]=0;r=c[n>>2]|0}e=e+1|0}while((e|0)<(r|0));e=r}if((e|0)<0){if((c[j+264>>2]|0)<0){r=c[o>>2]|0;if((e|0)>0){q=0;do{if((q|0)!=0)c[0+(q<<2)>>2]=c[r+(q<<2)>>2];q=q+1|0}while((q|0)!=(e|0))}if((r|0)!=0){if((a[f>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[r+ -4>>2]|0)}c[o>>2]=0}a[f>>0]=1;c[o>>2]=0;c[j+264>>2]=0}do{q=(c[o>>2]|0)+(e<<2)|0;if((q|0)!=0)c[q>>2]=0;e=e+1|0}while((e|0)!=0)}c[n>>2]=0;e=c[b+12>>2]|0}p=p+1|0;if((p|0)>=(e|0))break;q=c[b+20>>2]|0}h=c[o>>2]|0;if((h|0)!=0){if((a[f>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[o>>2]=0}}a[f>>0]=1;c[o>>2]=0;c[n>>2]=0;c[j+264>>2]=0;if((d|0)==0){h=c[b+12>>2]|0;if((h|0)>0){d=0;do{CC(j+280|0,c[(c[l+24>>2]|0)+(d*80|0)+64>>2]|0,d);d=d+1|0}while((d|0)<(h|0))}else{i=j;return}}else{s=c[m+12>>2]|0;H=+g[s>>2];G=+g[s+16>>2];F=+g[s+32>>2];E=+g[s+4>>2];D=+g[s+20>>2];C=+g[s+36>>2];y=+g[s+8>>2];w=+g[s+24>>2];u=+g[s+40>>2];B=-+g[s+48>>2];A=-+g[s+52>>2];z=-+g[s+56>>2];s=c[k+12>>2]|0;Q=+g[s>>2];P=+g[s+16>>2];O=+g[s+32>>2];N=+g[s+4>>2];M=+g[s+20>>2];L=+g[s+36>>2];K=+g[s+8>>2];J=+g[s+24>>2];I=+g[s+40>>2];x=+g[s+48>>2];v=+g[s+52>>2];t=+g[s+56>>2];g[j+160>>2]=H*Q+G*P+F*O;g[j+164>>2]=H*N+G*M+F*L;g[j+168>>2]=H*K+G*J+F*I;g[j+172>>2]=0.0;g[j+176>>2]=E*Q+D*P+C*O;g[j+180>>2]=E*N+D*M+C*L;g[j+184>>2]=E*K+D*J+C*I;g[j+188>>2]=0.0;g[j+192>>2]=y*Q+w*P+u*O;g[j+196>>2]=y*N+w*M+u*L;g[j+200>>2]=y*K+w*J+u*I;g[j+204>>2]=0.0;g[j+208>>2]=H*B+G*A+F*z+(H*x+G*v+F*t);g[j+212>>2]=E*B+D*A+C*z+(E*x+D*v+C*t);g[j+216>>2]=y*B+w*A+u*z+(y*x+w*v+u*t);g[j+220>>2]=0.0;s=c[k+4>>2]|0;vc[c[(c[s>>2]|0)+8>>2]&127](s,j+160|0,j+240|0,j+224|0);c[j+128>>2]=c[j+240>>2];c[j+132>>2]=c[j+244>>2];c[j+136>>2]=c[j+248>>2];c[j+140>>2]=c[j+252>>2];c[j+144>>2]=c[j+224>>2];c[j+148>>2]=c[j+228>>2];c[j+152>>2]=c[j+232>>2];c[j+156>>2]=c[j+236>>2];Tx(c[d>>2]|0,j+128|0,j+280|0)}h=c[b+12>>2]|0;if((h|0)<=0){i=j;return}d=0;do{do if((c[(c[b+20>>2]|0)+(d<<2)>>2]|0)!=0){q=c[l+24>>2]|0;s=c[q+(d*80|0)+64>>2]|0;r=c[m+12>>2]|0;w=+g[r>>2];x=+g[r+4>>2];y=+g[r+8>>2];z=+g[r+16>>2];A=+g[r+20>>2];B=+g[r+24>>2];I=+g[r+32>>2];K=+g[r+36>>2];M=+g[r+40>>2];C=+g[q+(d*80|0)>>2];D=+g[q+(d*80|0)+16>>2];E=+g[q+(d*80|0)+32>>2];F=+g[q+(d*80|0)+4>>2];G=+g[q+(d*80|0)+20>>2];H=+g[q+(d*80|0)+36>>2];J=+g[q+(d*80|0)+8>>2];L=+g[q+(d*80|0)+24>>2];N=+g[q+(d*80|0)+40>>2];u=+g[q+(d*80|0)+48>>2];v=+g[q+(d*80|0)+52>>2];Q=+g[q+(d*80|0)+56>>2];O=+g[r+48>>2]+(w*u+x*v+y*Q);P=+g[r+52>>2]+(z*u+A*v+B*Q);Q=+g[r+56>>2]+(I*u+K*v+M*Q);g[j+64>>2]=w*C+x*D+y*E;g[j+68>>2]=w*F+x*G+y*H;g[j+72>>2]=w*J+x*L+y*N;g[j+76>>2]=0.0;g[j+80>>2]=z*C+A*D+B*E;g[j+84>>2]=z*F+A*G+B*H;g[j+88>>2]=z*J+A*L+B*N;g[j+92>>2]=0.0;g[j+96>>2]=I*C+K*D+M*E;g[j+100>>2]=I*F+K*G+M*H;g[j+104>>2]=I*J+K*L+M*N;g[j+108>>2]=0.0;g[j+112>>2]=O;g[j+116>>2]=P;g[j+120>>2]=Q;g[j+124>>2]=0.0;vc[c[(c[s>>2]|0)+8>>2]&127](s,j+64|0,j+48|0,j+32|0);s=c[k+4>>2]|0;vc[c[(c[s>>2]|0)+8>>2]&127](s,c[k+12>>2]|0,j+16|0,j);if(!(+g[j+48>>2]>+g[j>>2])?!(+g[j+32>>2]<+g[j+16>>2]):0)f=1;else f=0;if(!(!(+g[j+56>>2]>+g[j+8>>2])?!(+g[j+40>>2]<+g[j+24>>2]):0))f=0;if(!(+g[j+52>>2]>+g[j+4>>2])?!(+g[j+36>>2]<+g[j+20>>2]|f^1):0)break;s=c[(c[b+20>>2]|0)+(d<<2)>>2]|0;Lb[c[c[s>>2]>>2]&511](s);s=c[b+4>>2]|0;Nb[c[(c[s>>2]|0)+60>>2]&127](s,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)<(h|0));i=j;return}function CC(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;e=i;i=i+160|0;f=c[a+4>>2]|0;h=c[f+12>>2]|0;D=+g[h>>2];C=+g[h+4>>2];B=+g[h+8>>2];A=+g[h+16>>2];z=+g[h+20>>2];y=+g[h+24>>2];r=+g[h+32>>2];p=+g[h+36>>2];n=+g[h+40>>2];f=c[(c[f+4>>2]|0)+24>>2]|0;x=+g[f+(d*80|0)>>2];w=+g[f+(d*80|0)+16>>2];v=+g[f+(d*80|0)+32>>2];u=+g[f+(d*80|0)+4>>2];t=+g[f+(d*80|0)+20>>2];s=+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];F=+g[f+(d*80|0)+48>>2];E=+g[f+(d*80|0)+52>>2];j=+g[f+(d*80|0)+56>>2];l=+g[h+48>>2]+(D*F+C*E+B*j);k=+g[h+52>>2]+(A*F+z*E+y*j);j=+g[h+56>>2]+(r*F+p*E+n*j);g[e+88>>2]=D*x+C*w+B*v;g[e+92>>2]=D*u+C*t+B*s;g[e+96>>2]=D*q+C*o+B*m;g[e+100>>2]=0.0;g[e+104>>2]=A*x+z*w+y*v;g[e+108>>2]=A*u+z*t+y*s;g[e+112>>2]=A*q+z*o+y*m;g[e+116>>2]=0.0;g[e+120>>2]=r*x+p*w+n*v;g[e+124>>2]=r*u+p*t+n*s;g[e+128>>2]=r*q+p*o+n*m;g[e+132>>2]=0.0;g[e+136>>2]=l;g[e+140>>2]=k;g[e+144>>2]=j;g[e+148>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,e+88|0,e+72|0,e+56|0);h=c[a+8>>2]|0;f=c[h+4>>2]|0;vc[c[(c[f>>2]|0)+8>>2]&127](f,c[h+12>>2]|0,e+40|0,e+24|0);if(!(+g[e+72>>2]>+g[e+24>>2])?!(+g[e+56>>2]<+g[e+40>>2]):0)f=1;else f=0;if(!(!(+g[e+80>>2]>+g[e+32>>2])?!(+g[e+64>>2]<+g[e+48>>2]):0))f=0;if(+g[e+76>>2]>+g[e+28>>2]){i=e;return}if(+g[e+60>>2]<+g[e+44>>2]|f^1){i=e;return}f=c[a+4>>2]|0;h=c[f+8>>2]|0;c[e>>2]=f;c[e+4>>2]=b;c[e+8>>2]=h;c[e+12>>2]=e+88;c[e+16>>2]=-1;c[e+20>>2]=d;if((c[(c[a+24>>2]|0)+(d<<2)>>2]|0)==0){b=c[a+12>>2]|0;b=Tb[c[(c[b>>2]|0)+8>>2]&31](b,e,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}else b=f;h=c[a+20>>2]|0;f=c[h+8>>2]|0;if((c[f+8>>2]|0)==(c[b+8>>2]|0)){c[h+8>>2]=e;h=c[a+20>>2]|0;rc[c[(c[h>>2]|0)+8>>2]&127](h,-1,d)}else{f=c[h+12>>2]|0;c[h+12>>2]=e;h=c[a+20>>2]|0;rc[c[(c[h>>2]|0)+12>>2]&127](h,-1,d)}d=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;Jb[c[(c[d>>2]|0)+8>>2]&31](d,e,c[a+8>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0);d=c[a+20>>2]|0;if((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+4>>2]|0)+8>>2]|0)){c[d+8>>2]=f;i=e;return}else{c[d+12>>2]=f;i=e;return}}function DC(a){a=a|0;return}function EC(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,n=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.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,O=0.0,P=0.0,Q=0.0,R=0.0;j=i;t=(a[b+28>>0]|0)!=0;k=t?e:d;d=t?d:e;t=c[b+12>>2]|0;if((t|0)<=0){E=1.0;i=j;return+E}n=(c[k+192>>2]|0)+24|0;o=+g[k+4>>2];p=+g[k+8>>2];q=+g[k+12>>2];A=+g[k+16>>2];r=+g[k+20>>2];s=+g[k+24>>2];l=+g[k+28>>2];B=+g[k+32>>2];u=+g[k+36>>2];v=+g[k+40>>2];w=+g[k+44>>2];C=+g[k+48>>2];x=+g[k+52>>2];y=+g[k+56>>2];z=+g[k+60>>2];D=+g[k+64>>2];e=c[k+260>>2]|0;E=1.0;m=0;do{G=c[n>>2]|0;R=+g[G+(m*80|0)>>2];Q=+g[G+(m*80|0)+16>>2];P=+g[G+(m*80|0)+32>>2];O=+g[G+(m*80|0)+4>>2];N=+g[G+(m*80|0)+20>>2];M=+g[G+(m*80|0)+36>>2];L=+g[G+(m*80|0)+8>>2];K=+g[G+(m*80|0)+24>>2];J=+g[G+(m*80|0)+40>>2];I=+g[G+(m*80|0)+48>>2];H=+g[G+(m*80|0)+52>>2];F=+g[G+(m*80|0)+56>>2];c[k+260>>2]=e+1;g[k+4>>2]=o*R+p*Q+q*P;g[k+8>>2]=o*O+p*N+q*M;g[k+12>>2]=o*L+p*K+q*J;g[k+16>>2]=0.0;g[k+20>>2]=r*R+s*Q+l*P;g[k+24>>2]=r*O+s*N+l*M;g[k+28>>2]=r*L+s*K+l*J;g[k+32>>2]=0.0;g[k+36>>2]=u*R+v*Q+w*P;g[k+40>>2]=u*O+v*N+w*M;g[k+44>>2]=u*L+v*K+w*J;g[k+48>>2]=0.0;g[k+52>>2]=x+(o*I+p*H+q*F);g[k+56>>2]=y+(r*I+s*H+l*F);g[k+60>>2]=z+(u*I+v*H+w*F);g[k+64>>2]=0.0;G=c[(c[b+20>>2]|0)+(m<<2)>>2]|0;F=+Xb[c[(c[G>>2]|0)+12>>2]&15](G,k,d,f,h);E=F>2]|0)+1|0;c[k+260>>2]=e;g[k+4>>2]=o;g[k+8>>2]=p;g[k+12>>2]=q;g[k+16>>2]=A;g[k+20>>2]=r;g[k+24>>2]=s;g[k+28>>2]=l;g[k+32>>2]=B;g[k+36>>2]=u;g[k+40>>2]=v;g[k+44>>2]=w;g[k+48>>2]=C;g[k+52>>2]=x;g[k+56>>2]=y;g[k+60>>2]=z;g[k+64>>2]=D;m=m+1|0}while((m|0)!=(t|0));i=j;return+E}function FC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;f=c[a+12>>2]|0;if((f|0)<=0){i=d;return}e=0;do{g=c[(c[a+20>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0){Nb[c[(c[g>>2]|0)+16>>2]&127](g,b);f=c[a+12>>2]|0}e=e+1|0}while((e|0)<(f|0));i=d;return}function GC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function HC(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[b+36>>2]|0;CC(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);i=d;return}function IC(a){a=a|0;var b=0;b=i;JC(a);YE(a);i=b;return}function JC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;c[b>>2]=18208;f=c[b+8>>2]|0;e=c[f+8>>2]|0;if((e|0)>0){g=0;do{h=c[(c[f+16>>2]|0)+(g*12|0)+8>>2]|0;if((h|0)!=0){Lb[c[c[h>>2]>>2]&511](h);j=c[b+4>>2]|0;Nb[c[(c[j>>2]|0)+60>>2]&127](j,h)}g=g+1|0}while((g|0)!=(e|0));f=c[b+8>>2]|0}PD(f);e=c[b+8>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+8>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+24>>2]|0;if((e|0)==0){a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;j=b+20|0;c[j>>2]=0;i=d;return}if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+24>>2]=0;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;j=b+20|0;c[j>>2]=0;i=d;return}function KC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;a=c[a+8>>2]|0;f=c[a+8>>2]|0;if((f|0)<=0){i=d;return}e=0;do{g=c[(c[a+16>>2]|0)+(e*12|0)+8>>2]|0;if((g|0)!=0){Nb[c[(c[g>>2]|0)+16>>2]&127](g,b);f=c[a+8>>2]|0}e=e+1|0}while((e|0)<(f|0));i=d;return} - - - -function LC(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.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,Q=0.0,R=0.0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=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;j=i;i=i+192|0;k=c[d+4>>2]|0;m=c[e+4>>2]|0;if((c[k+68>>2]|0)==(c[b+40>>2]|0)?(c[m+68>>2]|0)==(c[b+44>>2]|0):0)n=b+8|0;else{n=c[b+8>>2]|0;Y=c[n+8>>2]|0;if((Y|0)>0){X=0;do{W=c[(c[n+16>>2]|0)+(X*12|0)+8>>2]|0;if((W|0)!=0){Lb[c[c[W>>2]>>2]&511](W);ca=c[b+4>>2]|0;Nb[c[(c[ca>>2]|0)+60>>2]&127](ca,W)}X=X+1|0}while((X|0)!=(Y|0));n=c[b+8>>2]|0}PD(n);n=b+8|0}W=j+180|0;a[W>>0]=1;X=j+176|0;c[X>>2]=0;Y=j+168|0;c[Y>>2]=0;c[j+172>>2]=0;Z=c[n>>2]|0;$=c[Z+8>>2]|0;if(($|0)>0){_=0;do{aa=c[(c[Z+16>>2]|0)+(_*12|0)+8>>2]|0;if((aa|0)!=0){Nb[c[(c[aa>>2]|0)+16>>2]&127](aa,j+164|0);ba=c[Y>>2]|0;if((ba|0)>0){$=0;do{aa=c[(c[X>>2]|0)+($<<2)>>2]|0;if((c[aa+748>>2]|0)!=0){c[h+4>>2]=aa;ba=c[aa+740>>2]|0;ca=c[(c[h+8>>2]|0)+8>>2]|0;if((ba|0)==(ca|0))nA(aa,ba+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else nA(aa,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,ca+4|0);c[h+4>>2]=0;ba=c[Y>>2]|0}$=$+1|0}while(($|0)<(ba|0))}if((ba|0)<0){if((c[j+172>>2]|0)<0){$=c[X>>2]|0;if((ba|0)>0){aa=0;do{if((aa|0)!=0)c[0+(aa<<2)>>2]=c[$+(aa<<2)>>2];aa=aa+1|0}while((aa|0)!=(ba|0))}if(($|0)!=0){if((a[W>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[$+ -4>>2]|0)}c[X>>2]=0}a[W>>0]=1;c[X>>2]=0;c[j+172>>2]=0}do{$=(c[X>>2]|0)+(ba<<2)|0;if(($|0)!=0)c[$>>2]=0;ba=ba+1|0}while((ba|0)!=0)}c[Y>>2]=0;$=c[Z+8>>2]|0}_=_+1|0}while((_|0)<($|0));Z=c[X>>2]|0;if((Z|0)!=0){if((a[W>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[Z+ -4>>2]|0)}c[X>>2]=0}}a[W>>0]=1;c[X>>2]=0;c[Y>>2]=0;c[j+172>>2]=0;ba=c[k+64>>2]|0;ca=c[m+64>>2]|0;_=c[b+4>>2]|0;$=c[n>>2]|0;aa=c[b+32>>2]|0;c[j+128>>2]=18296;c[j+132>>2]=0;c[j+136>>2]=d;c[j+140>>2]=e;c[j+144>>2]=_;c[j+148>>2]=f;c[j+152>>2]=h;c[j+156>>2]=$;c[j+160>>2]=aa;f=c[d+12>>2]|0;z=+g[f>>2];B=+g[f+16>>2];D=+g[f+32>>2];t=+g[f+4>>2];s=+g[f+20>>2];r=+g[f+36>>2];q=+g[f+8>>2];p=+g[f+24>>2];o=+g[f+40>>2];A=-+g[f+48>>2];C=-+g[f+52>>2];E=-+g[f+56>>2];f=c[e+12>>2]|0;I=+g[f>>2];J=+g[f+16>>2];K=+g[f+32>>2];L=+g[f+4>>2];y=+g[f+20>>2];x=+g[f+36>>2];w=+g[f+8>>2];v=+g[f+24>>2];u=+g[f+40>>2];F=+g[f+48>>2];G=+g[f+52>>2];H=+g[f+56>>2];f=c[ba>>2]|0;h=c[ca>>2]|0;if(!((f|0)==0|(h|0)==0)){c[5004]=(c[5004]|0)+1;_=XE(1043)|0;c[(_+19&-16)+ -4>>2]=_;c[(_+19&-16)>>2]=f;c[(_+19&-16)+4>>2]=h;V=+P(+(z*I+B*J+D*K));U=+P(+(z*L+B*y+D*x));T=+P(+(z*w+B*v+D*u));M=+P(+(t*I+s*J+r*K));S=+P(+(t*L+s*y+r*x));R=+P(+(t*w+s*v+r*u));Q=+P(+(q*I+p*J+o*K));O=+P(+(q*L+p*y+o*x));N=+P(+(q*w+p*v+o*u));_=_+19&-16;Y=128;$=128;f=1;Z=124;do{h=f+ -1|0;X=c[_+(h<<3)>>2]|0;W=c[_+(h<<3)+4>>2]|0;na=+g[W+16>>2];ma=+g[W>>2];la=+g[W+20>>2];ka=+g[W+4>>2];ja=+g[W+24>>2];da=+g[W+8>>2];ia=z*A+B*C+D*E+(z*F+B*G+D*H)+((z*I+B*J+D*K)*(na+ma)*.5+(z*L+B*y+D*x)*(la+ka)*.5+(z*w+B*v+D*u)*(ja+da)*.5);ga=t*A+s*C+r*E+(t*F+s*G+r*H)+((t*I+s*J+r*K)*(na+ma)*.5+(t*L+s*y+r*x)*(la+ka)*.5+(t*w+s*v+r*u)*(ja+da)*.5);ea=q*A+p*C+o*E+(q*F+p*G+o*H)+((q*I+p*J+o*K)*(na+ma)*.5+(q*L+p*y+o*x)*(la+ka)*.5+(q*w+p*v+o*u)*(ja+da)*.5);ha=((na-ma)*.5+0.0)*V+((la-ka)*.5+0.0)*U+((ja-da)*.5+0.0)*T;fa=((na-ma)*.5+0.0)*M+((la-ka)*.5+0.0)*S+((ja-da)*.5+0.0)*R;da=((na-ma)*.5+0.0)*Q+((la-ka)*.5+0.0)*O+((ja-da)*.5+0.0)*N;do if(((((+g[X>>2]<=ha+ia?+g[X+16>>2]>=ia-ha:0)?+g[X+4>>2]<=ga+fa:0)?+g[X+20>>2]>=ga-fa:0)?+g[X+8>>2]<=ea+da:0)?+g[X+24>>2]>=ea-da:0){if((h|0)>(Z|0)){Z=Y<<1;if((Y|0)<(Z|0)&($|0)<(Z|0)){if((Y|0)!=0){c[5004]=(c[5004]|0)+1;$=XE((Y<<4|3)+16|0)|0;if(($|0)==0)$=0;else{c[($+19&-16)+ -4>>2]=$;$=$+19&-16}if((Y|0)>0){aa=0;do{ba=$+(aa<<3)|0;if((ba|0)!=0){oa=_+(aa<<3)|0;ca=c[oa+4>>2]|0;c[ba>>2]=c[oa>>2];c[ba+4>>2]=ca}aa=aa+1|0}while((aa|0)!=(Y|0))}}else $=0;if((_|0)==0){_=$;$=Z}else{c[5006]=(c[5006]|0)+1;YE(c[_+ -4>>2]|0);_=$;$=Z}}Y=Z;Z=Z+ -4|0}aa=(c[W+40>>2]|0)!=0;if((c[X+40>>2]|0)==0)if(aa){oa=c[W+36>>2]|0;ca=_+(h<<3)|0;c[ca>>2]=X;c[ca+4>>2]=oa;ca=c[W+40>>2]|0;oa=_+(f<<3)|0;c[oa>>2]=X;c[oa+4>>2]=ca;f=f+1|0;break}else{rc[c[(c[j+128>>2]|0)+8>>2]&127](j+128|0,X,W);f=h;break}else{h=_+(h<<3)|0;ba=c[X+36>>2]|0;if(aa){ca=c[W+36>>2]|0;c[h>>2]=ba;c[h+4>>2]=ca;ca=c[W+36>>2]|0;oa=_+(f<<3)|0;c[oa>>2]=c[X+40>>2];c[oa+4>>2]=ca;oa=c[W+40>>2]|0;ca=_+(f+1<<3)|0;c[ca>>2]=c[X+36>>2];c[ca+4>>2]=oa;ca=c[W+40>>2]|0;oa=_+(f+2<<3)|0;c[oa>>2]=c[X+40>>2];c[oa+4>>2]=ca;f=f+3|0;break}else{c[h>>2]=ba;c[h+4>>2]=W;oa=_+(f<<3)|0;c[oa>>2]=c[X+40>>2];c[oa+4>>2]=W;f=f+1|0;break}}}else f=h;while(0)}while((f|0)!=0);if((_|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[_+ -4>>2]|0)}}f=c[n>>2]|0;if((c[f+8>>2]|0)>0){h=0;do{X=c[f+16>>2]|0;W=c[X+(h*12|0)+8>>2]|0;do if((W|0)!=0){oa=c[X+(h*12|0)>>2]|0;ca=c[k+24>>2]|0;ba=c[ca+(oa*80|0)+64>>2]|0;aa=c[d+12>>2]|0;na=+g[aa>>2];K=+g[aa+4>>2];J=+g[aa+8>>2];ka=+g[aa+16>>2];ia=+g[aa+20>>2];ga=+g[aa+24>>2];ja=+g[aa+32>>2];fa=+g[aa+36>>2];Q=+g[aa+40>>2];ea=+g[ca+(oa*80|0)>>2];da=+g[ca+(oa*80|0)+16>>2];V=+g[ca+(oa*80|0)+32>>2];U=+g[ca+(oa*80|0)+4>>2];T=+g[ca+(oa*80|0)+20>>2];S=+g[ca+(oa*80|0)+36>>2];ha=+g[ca+(oa*80|0)+8>>2];R=+g[ca+(oa*80|0)+24>>2];O=+g[ca+(oa*80|0)+40>>2];ma=+g[ca+(oa*80|0)+48>>2];la=+g[ca+(oa*80|0)+52>>2];L=+g[ca+(oa*80|0)+56>>2];N=+g[aa+48>>2]+(na*ma+K*la+J*L);M=+g[aa+52>>2]+(ka*ma+ia*la+ga*L);L=+g[aa+56>>2]+(ja*ma+fa*la+Q*L);g[j>>2]=na*ea+K*da+J*V;g[j+4>>2]=na*U+K*T+J*S;g[j+8>>2]=na*ha+K*R+J*O;g[j+12>>2]=0.0;g[j+16>>2]=ka*ea+ia*da+ga*V;g[j+20>>2]=ka*U+ia*T+ga*S;g[j+24>>2]=ka*ha+ia*R+ga*O;g[j+28>>2]=0.0;g[j+32>>2]=ja*ea+fa*da+Q*V;g[j+36>>2]=ja*U+fa*T+Q*S;g[j+40>>2]=ja*ha+fa*R+Q*O;g[j+44>>2]=0.0;g[j+48>>2]=N;g[j+52>>2]=M;g[j+56>>2]=L;g[j+60>>2]=0.0;vc[c[(c[ba>>2]|0)+8>>2]&127](ba,j,j+112|0,j+96|0);ba=c[(c[f+16>>2]|0)+(h*12|0)+4>>2]|0;aa=c[m+24>>2]|0;oa=c[aa+(ba*80|0)+64>>2]|0;ca=c[e+12>>2]|0;L=+g[ca>>2];M=+g[ca+4>>2];N=+g[ca+8>>2];O=+g[ca+16>>2];Q=+g[ca+20>>2];R=+g[ca+24>>2];fa=+g[ca+32>>2];ha=+g[ca+36>>2];ja=+g[ca+40>>2];S=+g[aa+(ba*80|0)>>2];T=+g[aa+(ba*80|0)+16>>2];U=+g[aa+(ba*80|0)+32>>2];V=+g[aa+(ba*80|0)+4>>2];da=+g[aa+(ba*80|0)+20>>2];ea=+g[aa+(ba*80|0)+36>>2];ga=+g[aa+(ba*80|0)+8>>2];ia=+g[aa+(ba*80|0)+24>>2];ka=+g[aa+(ba*80|0)+40>>2];J=+g[aa+(ba*80|0)+48>>2];K=+g[aa+(ba*80|0)+52>>2];na=+g[aa+(ba*80|0)+56>>2];la=+g[ca+48>>2]+(L*J+M*K+N*na);ma=+g[ca+52>>2]+(O*J+Q*K+R*na);na=+g[ca+56>>2]+(fa*J+ha*K+ja*na);g[j>>2]=L*S+M*T+N*U;g[j+4>>2]=L*V+M*da+N*ea;g[j+8>>2]=L*ga+M*ia+N*ka;g[j+12>>2]=0.0;g[j+16>>2]=O*S+Q*T+R*U;g[j+20>>2]=O*V+Q*da+R*ea;g[j+24>>2]=O*ga+Q*ia+R*ka;g[j+28>>2]=0.0;g[j+32>>2]=fa*S+ha*T+ja*U;g[j+36>>2]=fa*V+ha*da+ja*ea;g[j+40>>2]=fa*ga+ha*ia+ja*ka;g[j+44>>2]=0.0;g[j+48>>2]=la;g[j+52>>2]=ma;g[j+56>>2]=na;g[j+60>>2]=0.0;vc[c[(c[oa>>2]|0)+8>>2]&127](oa,j,j+80|0,j+64|0);if(!(+g[j+112>>2]>+g[j+64>>2])?!(+g[j+96>>2]<+g[j+80>>2]):0)X=1;else X=0;if(!(!(+g[j+120>>2]>+g[j+72>>2])?!(+g[j+104>>2]<+g[j+88>>2]):0))X=0;if(!(+g[j+116>>2]>+g[j+68>>2])?!(+g[j+100>>2]<+g[j+84>>2]|X^1):0)break;Lb[c[c[W>>2]>>2]&511](W);X=c[b+4>>2]|0;Nb[c[(c[X>>2]|0)+60>>2]&127](X,W);X=c[f+16>>2]|0;W=c[X+(h*12|0)>>2]|0;X=c[X+(h*12|0)+4>>2]|0;$=c[b+16>>2]|0;if(($|0)==(c[b+20>>2]|0)?(l=($|0)==0?1:$<<1,($|0)<(l|0)):0){if((l|0)==0)Y=0;else{c[5004]=(c[5004]|0)+1;Y=XE((l*12|3)+16|0)|0;if((Y|0)==0)Y=0;else{c[(Y+19&-16)+ -4>>2]=Y;Y=Y+19&-16}$=c[b+16>>2]|0}if(($|0)>0){_=0;do{Z=Y+(_*12|0)|0;if((Z|0)!=0){oa=(c[b+24>>2]|0)+(_*12|0)|0;c[Z+0>>2]=c[oa+0>>2];c[Z+4>>2]=c[oa+4>>2];c[Z+8>>2]=c[oa+8>>2]}_=_+1|0}while((_|0)!=($|0))}Z=c[b+24>>2]|0;if((Z|0)!=0){if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[Z+ -4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=Y;c[b+20>>2]=l;$=c[b+16>>2]|0}Z=c[b+24>>2]|0;Y=Z+($*12|0)|0;if((Y|0)!=0){c[Y>>2]=W;c[Z+($*12|0)+4>>2]=X;c[Z+($*12|0)+8>>2]=0;$=c[b+16>>2]|0}c[b+16>>2]=$+1}while(0);h=h+1|0}while((h|0)<(c[f+8>>2]|0));d=b+24|0;e=b+16|0}else{d=b+24|0;e=b+16|0}if((c[e>>2]|0)>0){k=0;do{ca=c[n>>2]|0;oa=c[d>>2]|0;Yb[c[(c[ca>>2]|0)+8>>2]&31](ca,c[oa+(k*12|0)>>2]|0,c[oa+(k*12|0)+4>>2]|0)|0;k=k+1|0}while((k|0)<(c[e>>2]|0))}k=c[d>>2]|0;if((k|0)==0){a[b+28>>0]=1;c[d>>2]=0;c[e>>2]=0;oa=b+20|0;c[oa>>2]=0;i=j;return}if((a[b+28>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[d>>2]=0;a[b+28>>0]=1;c[d>>2]=0;c[e>>2]=0;oa=b+20|0;c[oa>>2]=0;i=j;return}function MC(a){a=a|0;return}function NC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function OC(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function PC(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.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;f=i;i=i+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;b=c[b+36>>2]|0;d=c[d+36>>2]|0;l=c[a+8>>2]|0;K=c[(c[l+4>>2]|0)+24>>2]|0;j=c[K+(b*80|0)+64>>2]|0;J=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;k=c[(c[J>>2]|0)+(d*80|0)+64>>2]|0;l=c[l+12>>2]|0;m=+g[l>>2];H=+g[l+4>>2];I=+g[l+8>>2];p=+g[l+16>>2];r=+g[l+20>>2];t=+g[l+24>>2];q=+g[l+32>>2];u=+g[l+36>>2];C=+g[l+40>>2];v=+g[K+(b*80|0)>>2];w=+g[K+(b*80|0)+16>>2];x=+g[K+(b*80|0)+32>>2];y=+g[K+(b*80|0)+4>>2];z=+g[K+(b*80|0)+20>>2];A=+g[K+(b*80|0)+36>>2];s=+g[K+(b*80|0)+8>>2];B=+g[K+(b*80|0)+24>>2];D=+g[K+(b*80|0)+40>>2];n=+g[K+(b*80|0)+48>>2];o=+g[K+(b*80|0)+52>>2];G=+g[K+(b*80|0)+56>>2];E=+g[l+48>>2]+(m*n+H*o+I*G);F=+g[l+52>>2]+(p*n+r*o+t*G);G=+g[l+56>>2]+(q*n+u*o+C*G);g[f+176>>2]=m*v+H*w+I*x;g[f+180>>2]=m*y+H*z+I*A;g[f+184>>2]=m*s+H*B+I*D;g[f+188>>2]=0.0;g[f+192>>2]=p*v+r*w+t*x;g[f+196>>2]=p*y+r*z+t*A;g[f+200>>2]=p*s+r*B+t*D;g[f+204>>2]=0.0;g[f+208>>2]=q*v+u*w+C*x;g[f+212>>2]=q*y+u*z+C*A;g[f+216>>2]=q*s+u*B+C*D;g[f+220>>2]=0.0;g[f+224>>2]=E;g[f+228>>2]=F;g[f+232>>2]=G;g[f+236>>2]=0.0;l=c[(c[a+12>>2]|0)+12>>2]|0;G=+g[l>>2];F=+g[l+4>>2];E=+g[l+8>>2];D=+g[l+16>>2];C=+g[l+20>>2];B=+g[l+24>>2];u=+g[l+32>>2];s=+g[l+36>>2];q=+g[l+40>>2];J=c[J>>2]|0;A=+g[J+(d*80|0)>>2];z=+g[J+(d*80|0)+16>>2];y=+g[J+(d*80|0)+32>>2];x=+g[J+(d*80|0)+4>>2];w=+g[J+(d*80|0)+20>>2];v=+g[J+(d*80|0)+36>>2];t=+g[J+(d*80|0)+8>>2];r=+g[J+(d*80|0)+24>>2];p=+g[J+(d*80|0)+40>>2];I=+g[J+(d*80|0)+48>>2];H=+g[J+(d*80|0)+52>>2];m=+g[J+(d*80|0)+56>>2];o=+g[l+48>>2]+(G*I+F*H+E*m);n=+g[l+52>>2]+(D*I+C*H+B*m);m=+g[l+56>>2]+(u*I+s*H+q*m);g[f+112>>2]=G*A+F*z+E*y;g[f+116>>2]=G*x+F*w+E*v;g[f+120>>2]=G*t+F*r+E*p;g[f+124>>2]=0.0;g[f+128>>2]=D*A+C*z+B*y;g[f+132>>2]=D*x+C*w+B*v;g[f+136>>2]=D*t+C*r+B*p;g[f+140>>2]=0.0;g[f+144>>2]=u*A+s*z+q*y;g[f+148>>2]=u*x+s*w+q*v;g[f+152>>2]=u*t+s*r+q*p;g[f+156>>2]=0.0;g[f+160>>2]=o;g[f+164>>2]=n;g[f+168>>2]=m;g[f+172>>2]=0.0;vc[c[(c[j>>2]|0)+8>>2]&127](j,f+176|0,f+96|0,f+80|0);vc[c[(c[k>>2]|0)+8>>2]&127](k,f+112|0,f+64|0,f+48|0);if(!(+g[f+96>>2]>+g[f+48>>2])?!(+g[f+80>>2]<+g[f+64>>2]):0)l=1;else l=0;if(!(!(+g[f+104>>2]>+g[f+56>>2])?!(+g[f+88>>2]<+g[f+72>>2]):0))l=0;if(+g[f+100>>2]>+g[f+52>>2]){i=f;return}if(+g[f+84>>2]<+g[f+68>>2]|l^1){i=f;return}J=c[a+8>>2]|0;K=c[J+8>>2]|0;c[f+24>>2]=J;c[f+28>>2]=j;c[f+32>>2]=K;c[f+36>>2]=f+176;c[f+40>>2]=-1;c[f+44>>2]=b;K=c[a+12>>2]|0;j=c[K+8>>2]|0;c[f>>2]=K;c[f+4>>2]=k;c[f+8>>2]=j;c[f+12>>2]=f+112;c[f+16>>2]=-1;c[f+20>>2]=d;j=c[a+28>>2]|0;c[4896]=(c[4896]|0)+1;k=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;k=(c[j+12>>2]|0)+ -1&((k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11));a:do if((k|0)<(c[j+32>>2]|0)?(h=c[(c[j+40>>2]|0)+(k<<2)>>2]|0,!((h|0)==-1)):0){k=c[j+16>>2]|0;while(1){if((c[k+(h*12|0)>>2]|0)==(b|0)?(c[k+(h*12|0)+4>>2]|0)==(d|0):0)break;h=c[(c[j+60>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){e=17;break a}}if((k+(h*12|0)|0)!=0)h=c[k+(h*12|0)+8>>2]|0;else e=17}else e=17;while(0);if((e|0)==17){h=c[a+16>>2]|0;h=Tb[c[(c[h>>2]|0)+8>>2]&31](h,f+24|0,f,c[a+32>>2]|0)|0;K=c[a+28>>2]|0;c[(Yb[c[(c[K>>2]|0)+12>>2]&31](K,b,d)|0)+8>>2]=h}l=c[a+24>>2]|0;J=c[l+8>>2]|0;K=c[l+12>>2]|0;c[l+8>>2]=f+24;c[(c[a+24>>2]|0)+12>>2]=f;l=c[a+24>>2]|0;rc[c[(c[l>>2]|0)+8>>2]&127](l,-1,b);l=c[a+24>>2]|0;rc[c[(c[l>>2]|0)+12>>2]&127](l,-1,d);Jb[c[(c[h>>2]|0)+8>>2]&31](h,f+24|0,f,c[a+20>>2]|0,c[a+24>>2]|0);c[(c[a+24>>2]|0)+8>>2]=J;c[(c[a+24>>2]|0)+12>>2]=K;i=f;return}function QC(a,b){a=a|0;b=b|0;return}function RC(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=18432;c[a+12>>2]=18464;d=c[a+60>>2]|0;Nb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+76>>2]|0);d=c[a+60>>2]|0;Nb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+76>>2]|0);YE(a);i=b;return}function SC(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=18432;c[a+12>>2]=18464;d=c[a+60>>2]|0;Nb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+76>>2]|0);d=c[a+60>>2]|0;Nb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+76>>2]|0);i=b;return}function TC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+76>>2]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+76>>2];c[d+4>>2]=h+1;i=e;return}function UC(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=18464;d=c[a+48>>2]|0;Nb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+64>>2]|0);d=c[a+48>>2]|0;Nb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+64>>2]|0);YE(a);i=b;return}function VC(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=18464;d=c[a+48>>2]|0;Nb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+64>>2]|0);d=c[a+48>>2]|0;Nb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+64>>2]|0);i=b;return}function WC(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,n=0,o=0.0,p=0;f=i;i=i+128|0;l=+g[b>>2];j=+g[b+16>>2];o=l>2];if((o+g[a+28>>2]){i=f;return}n=l>j?b:b+16|0;if(+g[(+g[n>>2]>k?n:b+32|0)>>2]<+g[a+12>>2]){i=f;return}j=+g[b+8>>2];k=+g[b+24>>2];o=j>2];if((o+g[a+36>>2]){i=f;return}n=j>k?b+8|0:b+24|0;if(+g[(+g[n>>2]>l?n:b+40|0)>>2]<+g[a+20>>2]){i=f;return}l=+g[b+4>>2];j=+g[b+20>>2];o=l>2];if((o+g[a+32>>2]){i=f;return}n=l>j?b+4|0:b+20|0;if(+g[(+g[n>>2]>k?n:b+36|0)>>2]<+g[a+16>>2]){i=f;return}h=c[a+48>>2]|0;m=c[a+4>>2]|0;if((c[(c[m+4>>2]|0)+4>>2]|0)>=20){i=f;return}c[f+32>>2]=0;g[f+36>>2]=1.0;g[f+40>>2]=1.0;g[f+44>>2]=1.0;g[f+48>>2]=0.0;c[f+76>>2]=0;c[f+24>>2]=16376;c[f+28>>2]=1;c[f+80>>2]=c[b+0>>2];c[f+84>>2]=c[b+4>>2];c[f+88>>2]=c[b+8>>2];c[f+92>>2]=c[b+12>>2];c[f+96>>2]=c[b+16>>2];c[f+100>>2]=c[b+20>>2];c[f+104>>2]=c[b+24>>2];c[f+108>>2]=c[b+28>>2];c[f+112>>2]=c[b+32>>2];c[f+116>>2]=c[b+36>>2];c[f+120>>2]=c[b+40>>2];c[f+124>>2]=c[b+44>>2];g[f+68>>2]=+g[a+56>>2];p=c[a+8>>2]|0;n=c[p+8>>2]|0;b=c[p+12>>2]|0;c[f>>2]=p;c[f+4>>2]=f+24;c[f+8>>2]=n;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=e;b=Tb[c[(c[h>>2]|0)+8>>2]&31](h,m,f,c[a+64>>2]|0)|0;m=c[a+44>>2]|0;n=c[m+8>>2]|0;if((c[n+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[m+8>>2]=f;p=c[a+44>>2]|0;rc[c[(c[p>>2]|0)+8>>2]&127](p,d,e)}else{n=c[m+12>>2]|0;c[m+12>>2]=f;p=c[a+44>>2]|0;rc[c[(c[p>>2]|0)+12>>2]&127](p,d,e)}Jb[c[(c[b>>2]|0)+8>>2]&31](b,c[a+4>>2]|0,f,c[a+52>>2]|0,c[a+44>>2]|0);d=c[a+44>>2]|0;if((c[(c[d+8>>2]|0)+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0))c[d+8>>2]=n;else c[d+12>>2]=n;Lb[c[c[b>>2]>>2]&511](b);Nb[c[(c[h>>2]|0)+60>>2]&127](h,b);c[f+24>>2]=15736;a=c[f+76>>2]|0;if((a|0)==0){i=f;return}Lb[c[c[a>>2]>>2]&511](a);a=c[f+76>>2]|0;if((a|0)==0){i=f;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=f;return}function XC(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;j=i;i=i+64|0;l=(a[b+8>>0]|0)!=0;k=l?e:d;e=l?d:e;d=c[e+4>>2]|0;if(!(((c[d+4>>2]|0)+ -21|0)>>>0<9)){i=j;return}if((c[(c[k+4>>2]|0)+4>>2]|0)>=20){i=j;return}m=+$b[c[(c[d>>2]|0)+48>>2]&15](d);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=k;c[b+20>>2]=e;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;l=c[e+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[k+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[j>>2]=B*K+A*J+z*I;g[j+4>>2]=B*H+A*G+z*F;g[j+8>>2]=B*E+A*D+z*C;g[j+12>>2]=0.0;g[j+16>>2]=y*K+x*J+w*I;g[j+20>>2]=y*H+x*G+w*F;g[j+24>>2]=y*E+x*D+w*C;g[j+28>>2]=0.0;g[j+32>>2]=s*K+q*J+o*I;g[j+36>>2]=s*H+q*G+o*F;g[j+40>>2]=s*E+q*D+o*C;g[j+44>>2]=0.0;g[j+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[j+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[j+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[j+60>>2]=0.0;l=c[(c[b+16>>2]|0)+4>>2]|0;vc[c[(c[l>>2]|0)+8>>2]&127](l,j,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;e=c[e+8>>2]|0;c[l+740>>2]=c[k+8>>2];c[l+744>>2]=e;vc[c[(c[d>>2]|0)+64>>2]&127](d,b+12|0,b+24|0,b+40|0);k=c[h+4>>2]|0;do if((c[k+748>>2]|0)!=0){f=c[k+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((f|0)==(e|0)){nA(k,f+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{nA(k,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;i=j;return}function YC(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.0;h=i;i=i+240|0;f=(a[b+8>>0]|0)!=0;b=f?e:d;d=f?d:e;S=+g[b+116>>2]- +g[b+52>>2];T=+g[b+120>>2]- +g[b+56>>2];U=+g[b+124>>2]- +g[b+60>>2];V=+g[b+252>>2];if(S*S+T*T+U*U>2];p=+g[d+20>>2];r=+g[d+36>>2];z=+g[d+8>>2];A=+g[d+24>>2];B=+g[d+40>>2];j=+g[d+12>>2];C=+g[d+28>>2];E=+g[d+44>>2];R=-+g[d+52>>2];S=-+g[d+56>>2];T=-+g[d+60>>2];o=+g[b+4>>2];q=+g[b+20>>2];s=+g[b+36>>2];t=+g[b+8>>2];u=+g[b+24>>2];v=+g[b+40>>2];w=+g[b+12>>2];x=+g[b+28>>2];y=+g[b+44>>2];J=+g[b+52>>2];I=+g[b+56>>2];H=+g[b+60>>2];F=n*R+p*S+r*T+(n*J+p*I+r*H);G=z*R+A*S+B*T+(z*J+A*I+B*H);H=j*R+C*S+E*T+(j*J+C*I+E*H);I=+g[b+68>>2];J=+g[b+84>>2];K=+g[b+100>>2];L=+g[b+72>>2];M=+g[b+88>>2];N=+g[b+104>>2];O=+g[b+76>>2];P=+g[b+92>>2];m=+g[b+108>>2];U=+g[b+116>>2];V=+g[b+120>>2];D=+g[b+124>>2];l=n*R+p*S+r*T+(n*U+p*V+r*D);k=z*R+A*S+B*T+(z*U+A*V+B*D);D=j*R+C*S+E*T+(j*U+C*V+E*D);d=c[d+192>>2]|0;if(!(((c[d+4>>2]|0)+ -21|0)>>>0<9)){V=1.0;i=h;return+V}g[h+224>>2]=F;g[h+228>>2]=G;g[h+232>>2]=H;g[h+236>>2]=0.0;if(l>2]=l;T=l}else T=F;if(k>2]=k;U=k}else U=G;if(D>2]=D;V=D}else V=H;g[h+208>>2]=F;g[h+212>>2]=G;g[h+216>>2]=H;g[h+220>>2]=0.0;if(F>2]=l;Q=l}else Q=F;if(G>2]=k;R=k}else R=G;if(H>2]=D;S=D}else S=H;W=+g[b+248>>2];g[h+224>>2]=T-W;g[h+228>>2]=U-W;g[h+232>>2]=V-W;g[h+208>>2]=W+Q;g[h+212>>2]=W+R;g[h+216>>2]=W+S;c[h>>2]=18592;g[h+4>>2]=n*o+p*q+r*s;g[h+8>>2]=n*t+p*u+r*v;g[h+12>>2]=n*w+p*x+r*y;g[h+16>>2]=0.0;g[h+20>>2]=z*o+A*q+B*s;g[h+24>>2]=z*t+A*u+B*v;g[h+28>>2]=z*w+A*x+B*y;g[h+32>>2]=0.0;g[h+36>>2]=j*o+C*q+E*s;g[h+40>>2]=j*t+C*u+E*v;g[h+44>>2]=j*w+C*x+E*y;g[h+48>>2]=0.0;g[h+52>>2]=F;g[h+56>>2]=G;g[h+60>>2]=H;g[h+64>>2]=0.0;g[h+68>>2]=n*I+p*J+r*K;g[h+72>>2]=n*L+p*M+r*N;g[h+76>>2]=n*O+p*P+r*m;g[h+80>>2]=0.0;g[h+84>>2]=z*I+A*J+B*K;g[h+88>>2]=z*L+A*M+B*N;g[h+92>>2]=z*O+A*P+B*m;g[h+96>>2]=0.0;g[h+100>>2]=j*I+C*J+E*K;g[h+104>>2]=j*L+C*M+E*N;g[h+108>>2]=j*O+C*P+E*m;g[h+112>>2]=0.0;g[h+116>>2]=l;g[h+120>>2]=k;g[h+124>>2]=D;g[h+128>>2]=0.0;g[h+196>>2]=W;g[h+200>>2]=+g[b+244>>2];if((d|0)==0){W=1.0;i=h;return+W}vc[c[(c[d>>2]|0)+64>>2]&127](d,h,h+224|0,h+208|0);j=+g[h+200>>2];if(!(j<+g[b+244>>2])){W=1.0;i=h;return+W}g[b+244>>2]=j;W=j;i=h;return+W}function ZC(a){a=a|0;return}function _C(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function $C(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0;e=i;i=i+784|0;g[e+712>>2]=1.0;c[e+716>>2]=0;c[e+720>>2]=0;c[e+724>>2]=0;c[e+728>>2]=0;g[e+732>>2]=1.0;c[e+736>>2]=0;c[e+740>>2]=0;c[e+744>>2]=0;c[e+748>>2]=0;g[e+752>>2]=1.0;f=e+756|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[e+536>>2]=9440;c[e+704>>2]=0;g[e+708>>2]=0.0;g[e+700>>2]=+g[b+200>>2];j=+g[b+196>>2];c[e+488>>2]=0;g[e+492>>2]=1.0;g[e+496>>2]=1.0;g[e+500>>2]=1.0;g[e+504>>2]=0.0;c[e+480>>2]=16680;c[e+484>>2]=8;g[e+508>>2]=j;g[e+524>>2]=j;c[e+384>>2]=0;g[e+388>>2]=1.0;g[e+392>>2]=1.0;g[e+396>>2]=1.0;g[e+400>>2]=0.0;g[e+420>>2]=.03999999910593033;c[e+428>>2]=0;c[e+376>>2]=16376;c[e+380>>2]=1;c[e+432>>2]=c[d+0>>2];c[e+436>>2]=c[d+4>>2];c[e+440>>2]=c[d+8>>2];c[e+444>>2]=c[d+12>>2];c[e+448>>2]=c[d+16>>2];c[e+452>>2]=c[d+20>>2];c[e+456>>2]=c[d+24>>2];c[e+460>>2]=c[d+28>>2];c[e+464>>2]=c[d+32>>2];c[e+468>>2]=c[d+36>>2];c[e+472>>2]=c[d+40>>2];c[e+476>>2]=c[d+44>>2];g[e+324>>2]=9999999747378752.0e-20;a[e+348>>0]=0;c[e>>2]=17152;c[e+4>>2]=e+16;c[e+8>>2]=e+480;c[e+12>>2]=e+376;if(HB(e,b+4|0,b+68|0,e+712|0,e+712|0,e+536|0)|0?(h=+g[e+700>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[e+376>>2]=15736;b=c[e+428>>2]|0;if((b|0)==0){i=e;return}Lb[c[c[b>>2]>>2]&511](b);b=c[e+428>>2]|0;if((b|0)==0){i=e;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=e;return}function aD(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function bD(a){a=a|0;return}function cD(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=18816;if((a[b+16>>0]|0)!=0?(e=c[b+20>>2]|0,(e|0)!=0):0){f=c[b+4>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,e)}YE(b);i=d;return}function dD(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=18816;if((a[b+16>>0]|0)==0){i=d;return}e=c[b+20>>2]|0;if((e|0)==0){i=d;return}b=c[b+4>>2]|0;Nb[c[(c[b>>2]|0)+16>>2]&127](b,e);i=d;return}function eD(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,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,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.0,L=0.0,M=0.0,N=0.0,O=0,R=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,na=0,oa=0,pa=0.0,qa=0.0,ra=0.0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;j=i;i=i+832|0;r=c[b+20>>2]|0;if((r|0)==0){r=c[b+4>>2]|0;r=Yb[c[(c[r>>2]|0)+12>>2]&31](r,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=r;a[b+16>>0]=1}c[h+4>>2]=r;l=c[d+4>>2]|0;k=c[e+4>>2]|0;u=c[l+4>>2]|0;if((u|0)==10?(c[k+4>>2]|0)==10:0){m=+g[(c[b+20>>2]|0)+752>>2];za=c[l+52>>2]|0;B=+g[l+(za<<2)+28>>2];o=+g[l+(((za+2|0)%3|0)<<2)+28>>2];Aa=c[k+52>>2]|0;C=+g[k+(Aa<<2)+28>>2];p=+g[k+(((Aa+2|0)%3|0)<<2)+28>>2];Ba=c[d+12>>2]|0;b=c[e+12>>2]|0;v=+g[Ba+(za<<2)>>2];q=+g[Ba+(za<<2)+16>>2];w=+g[Ba+(za<<2)+32>>2];D=+g[b+(Aa<<2)>>2];E=+g[b+(Aa<<2)+16>>2];A=+g[b+(Aa<<2)+32>>2];z=+g[b+48>>2]- +g[Ba+48>>2];y=+g[b+52>>2]- +g[Ba+52>>2];x=+g[b+56>>2]- +g[Ba+56>>2];F=1.0-(v*D+q*E+w*A)*(v*D+q*E+w*A);if(!(F==0.0)){G=(v*z+q*y+w*x-(v*D+q*E+w*A)*(D*z+E*y+A*x))/F;if(!(G<-B)){if(G>B)G=B}else G=-B}else G=0.0;F=(v*D+q*E+w*A)*G-(D*z+E*y+A*x);if(F<-C){F=(v*D+q*E+w*A)*-C+(v*z+q*y+w*x);if(!(F<-B))if(F>B)C=-C;else{B=F;C=-C}else{B=-B;C=-C}}else if(F>C){F=C*(v*D+q*E+w*A)+(v*z+q*y+w*x);if(!(F<-B)){if(!(F>B))B=F}else B=-B}else{B=G;C=F}D=D*C;E=E*C;A=A*C;z=D+(z-v*B);y=E+(y-q*B);B=A+(x-w*B);x=+Q(+(B*B+(z*z+y*y)));if(!(x-o-p>m)){do if(B*B+(z*z+y*y)<=1.4210854715202004e-14)if(+P(+w)>.7071067690849304){ra=1.0/+Q(+(q*q+w*w));g[j+320>>2]=0.0;g[j+324>>2]=-(w*ra);g[j+328>>2]=q*ra;z=0.0;v=-(w*ra);q=q*ra;break}else{ra=1.0/+Q(+(v*v+q*q));g[j+320>>2]=-(q*ra);g[j+324>>2]=v*ra;g[j+328>>2]=0.0;z=-(q*ra);v=v*ra;q=0.0;break}else{g[j+320>>2]=z*-(1.0/x);g[j+324>>2]=y*-(1.0/x);g[j+328>>2]=B*-(1.0/x);g[j+332>>2]=0.0;z=z*-(1.0/x);v=y*-(1.0/x);q=B*-(1.0/x)}while(0);qa=p*v+(E+ +g[b+52>>2]);ra=p*q+(A+ +g[b+56>>2]);g[j+304>>2]=p*z+(D+ +g[b+48>>2]);g[j+308>>2]=qa;g[j+312>>2]=ra;g[j+316>>2]=0.0}if(x-o-p>2]|0)+16>>2]&15](h,j+320|0,j+304|0,x-o-p);r=c[h+4>>2]|0}if((c[r+748>>2]|0)==0){i=j;return}d=c[r+740>>2]|0;b=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(b|0)){nA(r,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=j;return}else{nA(r,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,b+4|0);i=j;return}}else ta=k+4|0;g[j+296>>2]=999999984306749400.0;J=c[b+8>>2]|0;O=c[b+12>>2]|0;c[j+88>>2]=13392;g[j+92>>2]=0.0;g[j+96>>2]=1.0;g[j+100>>2]=0.0;g[j+104>>2]=0.0;c[j+108>>2]=O;c[j+112>>2]=J;c[j+116>>2]=l;c[j+120>>2]=k;c[j+124>>2]=u;c[j+128>>2]=c[ta>>2];g[j+132>>2]=+$b[c[(c[l>>2]|0)+48>>2]&15](l);g[j+136>>2]=+$b[c[(c[k>>2]|0)+48>>2]&15](k);a[j+140>>0]=0;c[j+148>>2]=-1;c[j+160>>2]=1;c[j+164>>2]=1;c[j+116>>2]=l;c[j+120>>2]=k;qa=+$b[c[(c[l>>2]|0)+48>>2]&15](l);ra=+$b[c[(c[k>>2]|0)+48>>2]&15](k);ra=qa+ra+ +g[(c[b+20>>2]|0)+752>>2];g[j+296>>2]=ra*ra;J=c[d+12>>2]|0;c[j+168>>2]=c[J+0>>2];c[j+172>>2]=c[J+4>>2];c[j+176>>2]=c[J+8>>2];c[j+180>>2]=c[J+12>>2];O=j+184|0;c[O+0>>2]=c[J+16>>2];c[O+4>>2]=c[J+20>>2];c[O+8>>2]=c[J+24>>2];c[O+12>>2]=c[J+28>>2];I=j+200|0;c[I+0>>2]=c[J+32>>2];c[I+4>>2]=c[J+36>>2];c[I+8>>2]=c[J+40>>2];c[I+12>>2]=c[J+44>>2];na=j+216|0;c[na+0>>2]=c[J+48>>2];c[na+4>>2]=c[J+52>>2];c[na+8>>2]=c[J+56>>2];c[na+12>>2]=c[J+60>>2];J=j+232|0;r=c[e+12>>2]|0;c[J+0>>2]=c[r+0>>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];ba=j+248|0;c[ba+0>>2]=c[r+16>>2];c[ba+4>>2]=c[r+20>>2];c[ba+8>>2]=c[r+24>>2];c[ba+12>>2]=c[r+28>>2];ma=j+264|0;c[ma+0>>2]=c[r+32>>2];c[ma+4>>2]=c[r+36>>2];c[ma+8>>2]=c[r+40>>2];c[ma+12>>2]=c[r+44>>2];u=j+280|0;c[u+0>>2]=c[r+48>>2];c[u+4>>2]=c[r+52>>2];c[u+8>>2]=c[r+56>>2];c[u+12>>2]=c[r+60>>2];r=c[l+4>>2]|0;do if((r|0)<7?(s=c[ta>>2]|0,(s|0)<7):0){c[j+80>>2]=19224;if((r|0)==0)q=0.0;else{q=+$b[c[(c[l>>2]|0)+48>>2]&15](l);s=c[ta>>2]|0}if((s|0)==0)x=0.0;else x=+$b[c[(c[k>>2]|0)+48>>2]&15](k);c[j+40>>2]=19032;c[j+44>>2]=h;g[j+64>>2]=q;g[j+68>>2]=x;a[j+76>>0]=0;s=c[l+52>>2]|0;if((s|0)!=0){r=c[k+52>>2]|0;if((r|0)==0){if((c[ta>>2]|0)!=1)break;u=j+32|0;a[u>>0]=1;r=j+28|0;c[r>>2]=0;s=j+20|0;c[s>>2]=0;n=j+24|0;c[n>>2]=0;I=c[e+12>>2]|0;qa=+g[k+56>>2];ra=+g[k+60>>2];p=+g[k+64>>2];m=qa*+g[I>>2]+ra*+g[I+4>>2]+p*+g[I+8>>2]+ +g[I+48>>2];o=qa*+g[I+16>>2]+ra*+g[I+20>>2]+p*+g[I+24>>2]+ +g[I+52>>2];p=qa*+g[I+32>>2]+ra*+g[I+36>>2]+p*+g[I+40>>2]+ +g[I+56>>2];c[5004]=(c[5004]|0)+1;I=XE(35)|0;if((I|0)==0)I=0;else{c[(I+19&-16)+ -4>>2]=I;I=I+19&-16}J=c[r>>2]|0;if((J|0)!=0){if((a[u>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[J+ -4>>2]|0)}c[r>>2]=0}a[u>>0]=1;c[r>>2]=I;c[n>>2]=1;J=c[s>>2]|0;g[I+(J<<4)>>2]=m;g[I+(J<<4)+4>>2]=o;g[I+(J<<4)+8>>2]=p;g[I+(J<<4)+12>>2]=0.0;J=c[s>>2]|0;c[s>>2]=J+1;I=c[e+12>>2]|0;qa=+g[k+72>>2];ra=+g[k+76>>2];o=+g[k+80>>2];m=qa*+g[I>>2]+ra*+g[I+4>>2]+o*+g[I+8>>2]+ +g[I+48>>2];p=qa*+g[I+16>>2]+ra*+g[I+20>>2]+o*+g[I+24>>2]+ +g[I+52>>2];o=qa*+g[I+32>>2]+ra*+g[I+36>>2]+o*+g[I+40>>2]+ +g[I+56>>2];I=c[n>>2]|0;if((J+1|0)==(I|0)){I=(J+1|0)==0?1:J+1<<1;if((J+1|0)<(I|0)){if((I|0)!=0?(c[5004]=(c[5004]|0)+1,sa=XE((I<<4|3)+16|0)|0,(sa|0)!=0):0){c[(sa+19&-16)+ -4>>2]=sa;O=sa+19&-16}else O=0;if((J|0)>-1){ba=0;do{Ba=O+(ba<<4)|0;Aa=(c[r>>2]|0)+(ba<<4)|0;c[Ba+0>>2]=c[Aa+0>>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];ba=ba+1|0}while((ba|0)!=(J+1|0))}J=c[r>>2]|0;if((J|0)!=0){if((a[u>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[J+ -4>>2]|0)}c[r>>2]=0}a[u>>0]=1;c[r>>2]=O;c[n>>2]=I;O=c[s>>2]|0}else{O=J+1|0;I=J+1|0}}else O=J+1|0;J=c[r>>2]|0;g[J+(O<<4)>>2]=m;g[J+(O<<4)+4>>2]=p;g[J+(O<<4)+8>>2]=o;g[J+(O<<4)+12>>2]=0.0;O=O+1|0;c[s>>2]=O;Ba=c[e+12>>2]|0;qa=+g[k+88>>2];ra=+g[k+92>>2];o=+g[k+96>>2];p=qa*+g[Ba>>2]+ra*+g[Ba+4>>2]+o*+g[Ba+8>>2]+ +g[Ba+48>>2];m=qa*+g[Ba+16>>2]+ra*+g[Ba+20>>2]+o*+g[Ba+24>>2]+ +g[Ba+52>>2];o=qa*+g[Ba+32>>2]+ra*+g[Ba+36>>2]+o*+g[Ba+40>>2]+ +g[Ba+56>>2];if((O|0)==(I|0)){e=(I|0)==0?1:I<<1;if((I|0)<(e|0)){if((e|0)!=0?(c[5004]=(c[5004]|0)+1,oa=XE((e<<4|3)+16|0)|0,(oa|0)!=0):0){c[(oa+19&-16)+ -4>>2]=oa;J=oa+19&-16}else J=0;if((I|0)>0){O=0;do{Ba=J+(O<<4)|0;Aa=(c[r>>2]|0)+(O<<4)|0;c[Ba+0>>2]=c[Aa+0>>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)!=(I|0))}I=c[r>>2]|0;if((I|0)!=0){if((a[u>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[I+ -4>>2]|0)}c[r>>2]=0}a[u>>0]=1;c[r>>2]=J;c[n>>2]=e;I=c[s>>2]|0}}else I=O;g[J+(I<<4)>>2]=p;g[J+(I<<4)+4>>2]=m;g[J+(I<<4)+8>>2]=o;g[J+(I<<4)+12>>2]=0.0;c[s>>2]=(c[s>>2]|0)+1;m=+g[(c[b+20>>2]|0)+752>>2];qz(j+88|0,j+168|0,j+80|0,c[f+20>>2]|0,0);o=+g[j+92>>2];q=+g[j+96>>2];p=+g[j+100>>2];if(o*o+q*q+p*p>1.1920928955078125e-7){qa=1.0/(o*o+q*q+p*p);g[j>>2]=o*qa;g[j+4>>2]=q*qa;g[j+8>>2]=p*qa;g[j+12>>2]=0.0;qa=+g[j+144>>2];ra=+$b[c[(c[l>>2]|0)+48>>2]&15](l);ra=qa-ra- +$b[c[(c[k>>2]|0)+48>>2]&15](k);UD(j,c[l+52>>2]|0,c[d+12>>2]|0,j+16|0,ra-m,m,h)}do if((a[b+16>>0]|0)!=0?(t=c[h+4>>2]|0,(c[t+748>>2]|0)!=0):0){d=c[t+740>>2]|0;b=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(b|0)){nA(t,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);break}else{nA(t,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,b+4|0);break}}while(0);h=c[r>>2]|0;if((h|0)!=0){if((a[u>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[r>>2]=0}a[u>>0]=1;c[r>>2]=0;c[s>>2]=0;c[n>>2]=0;i=j;return}m=+g[(c[b+20>>2]|0)+752>>2];if((a[f+24>>0]|0)==0){qz(j+88|0,j+168|0,j+40|0,c[f+20>>2]|0,0);o=+g[j+72>>2];if((a[j+76>>0]|0)!=0&o<0.0){L=+g[j+48>>2];M=+g[j+52>>2];H=+g[j+56>>2];K=+g[j+60>>2];n=105}}else{f=c[d+12>>2]|0;t=c[e+12>>2]|0;c[4920]=(c[4920]|0)+1;ka=+g[s+64>>2];la=+g[s+68>>2];y=+g[f+4>>2];pa=+g[s+72>>2];z=+g[f+8>>2];A=+g[f+16>>2];B=+g[f+20>>2];D=+g[f+24>>2];C=+g[f+32>>2];E=+g[f+36>>2];F=+g[f+40>>2];qa=+g[r+64>>2];ra=+g[r+68>>2];o=+g[r+72>>2];q=ka*+g[f>>2]+la*y+pa*z+ +g[f+48>>2]-(qa*+g[t>>2]+ra*+g[t+4>>2]+o*+g[t+8>>2]+ +g[t+48>>2]);p=ka*A+la*B+pa*D+ +g[f+52>>2]-(qa*+g[t+16>>2]+ra*+g[t+20>>2]+o*+g[t+24>>2]+ +g[t+52>>2]);o=ka*C+la*E+pa*F+ +g[f+56>>2]-(qa*+g[t+32>>2]+ra*+g[t+36>>2]+o*+g[t+40>>2]+ +g[t+56>>2]);u=c[s+28>>2]|0;a:do if((u|0)>0){x=0.0;R=3.4028234663852886e+38;I=0;L=0.0;M=0.0;H=0.0;K=0.0;while(1){Ba=c[s+36>>2]|0;pa=+g[Ba+(I*36|0)+20>>2];qa=+g[Ba+(I*36|0)+24>>2];ra=+g[Ba+(I*36|0)+28>>2];y=pa*+g[f>>2]+qa*y+ra*z;z=pa*A+qa*B+ra*D;A=pa*C+qa*E+ra*F;g[j+400>>2]=y;g[j+404>>2]=z;g[j+408>>2]=A;g[j+412>>2]=0.0;if(q*y+p*z+o*A<0.0){g[j+400>>2]=y*-1.0;g[j+404>>2]=z*-1.0;g[j+408>>2]=A*-1.0;y=y*-1.0;z=z*-1.0;A=A*-1.0}c[4916]=(c[4916]|0)+1;if(TD(f,t,q,p,o,y,z,A,s,r,R)|0){c[4918]=(c[4918]|0)+1;DD(s,f,j+400|0,j+808|0,j+784|0,j+464|0,j+448|0);DD(r,t,j+400|0,j+720|0,j+480|0,j+432|0,j+416|0);z=+g[j+784>>2];y=+g[j+720>>2];if(!(z>2],v=+g[j+808>>2],!(w>2];M=+g[j+404>>2];H=+g[j+408>>2];K=+g[j+412>>2]}else x=y}I=I+1|0;if((I|0)>=(u|0)){n=52;break a}y=+g[f+4>>2];z=+g[f+8>>2];A=+g[f+16>>2];B=+g[f+20>>2];D=+g[f+24>>2];C=+g[f+32>>2];E=+g[f+36>>2];F=+g[f+40>>2]}}else{R=3.4028234663852886e+38;L=0.0;M=0.0;H=0.0;K=0.0;n=52}while(0);b:do if((n|0)==52){u=c[r+28>>2]|0;if((u|0)>0){v=0.0;I=0;do{Ba=c[r+36>>2]|0;qa=+g[Ba+(I*36|0)+20>>2];ra=+g[Ba+(I*36|0)+24>>2];x=+g[Ba+(I*36|0)+28>>2];w=qa*+g[t>>2]+ra*+g[t+4>>2]+x*+g[t+8>>2];y=qa*+g[t+16>>2]+ra*+g[t+20>>2]+x*+g[t+24>>2];x=qa*+g[t+32>>2]+ra*+g[t+36>>2]+x*+g[t+40>>2];g[j+384>>2]=w;g[j+388>>2]=y;g[j+392>>2]=x;g[j+396>>2]=0.0;if(q*w+p*y+o*x<0.0){g[j+384>>2]=w*-1.0;g[j+388>>2]=y*-1.0;g[j+392>>2]=x*-1.0;w=w*-1.0;y=y*-1.0;x=x*-1.0}c[4916]=(c[4916]|0)+1;do if(TD(f,t,q,p,o,w,y,x,s,r,R)|0){c[4918]=(c[4918]|0)+1;DD(s,f,j+384|0,j+808|0,j+784|0,j+464|0,j+448|0);DD(r,t,j+384|0,j+720|0,j+480|0,j+432|0,j+416|0);y=+g[j+784>>2];x=+g[j+720>>2];do if(y>2];z=+g[j+808>>2];if(w>2];M=+g[j+388>>2];H=+g[j+392>>2];K=+g[j+396>>2]}while(0);I=I+1|0}while((I|0)<(u|0))}J=c[s+48>>2]|0;if((J|0)>0){y=0.0;z=0.0;A=0.0;B=0.0;C=0.0;D=0.0;F=0.0;E=0.0;G=0.0;N=0.0;W=0.0;Y=0.0;Z=0.0;X=0.0;V=0.0;U=0.0;_=0.0;$=0.0;aa=0.0;ba=c[r+48>>2]|0;u=0;O=-1;I=-1;while(1){Ba=c[s+56>>2]|0;qa=+g[Ba+(u<<4)>>2];ra=+g[Ba+(u<<4)+4>>2];w=+g[Ba+(u<<4)+8>>2];x=qa*+g[f>>2]+ra*+g[f+4>>2]+w*+g[f+8>>2];v=qa*+g[f+16>>2]+ra*+g[f+20>>2]+w*+g[f+24>>2];w=qa*+g[f+32>>2]+ra*+g[f+36>>2]+w*+g[f+40>>2];if((ba|0)>0){J=0;do{Ba=c[r+56>>2]|0;qa=+g[Ba+(J<<4)>>2];ra=+g[Ba+(J<<4)+4>>2];ha=+g[Ba+(J<<4)+8>>2];ea=qa*+g[t>>2]+ra*+g[t+4>>2]+ha*+g[t+8>>2];ga=qa*+g[t+16>>2]+ra*+g[t+20>>2]+ha*+g[t+24>>2];ha=qa*+g[t+32>>2]+ra*+g[t+36>>2]+ha*+g[t+40>>2];g[j+368>>2]=v*ha-w*ga;g[j+372>>2]=w*ea-x*ha;g[j+376>>2]=x*ga-v*ea;g[j+380>>2]=0.0;do if(!(+P(+(v*ha-w*ga))>1.0e-6)){if(+P(+(w*ea-x*ha))>1.0e-6){n=70;break}if(+P(+(x*ga-v*ea))>1.0e-6)n=70}else n=70;while(0);do if((n|0)==70){n=0;ca=1.0/+Q(+((v*ha-w*ga)*(v*ha-w*ga)+(w*ea-x*ha)*(w*ea-x*ha)+(x*ga-v*ea)*(x*ga-v*ea)));da=(v*ha-w*ga)*ca;g[j+368>>2]=da;fa=(w*ea-x*ha)*ca;g[j+372>>2]=fa;ca=(x*ga-v*ea)*ca;g[j+376>>2]=ca;if(q*da+p*fa+o*ca<0.0){g[j+368>>2]=da*-1.0;g[j+372>>2]=fa*-1.0;g[j+376>>2]=ca*-1.0;da=da*-1.0;fa=fa*-1.0;ca=ca*-1.0}c[4916]=(c[4916]|0)+1;if(!(TD(f,t,q,p,o,da,fa,ca,s,r,R)|0))break;c[4918]=(c[4918]|0)+1;DD(s,f,j+368|0,j+808|0,j+784|0,j+464|0,j+448|0);DD(r,t,j+368|0,j+720|0,j+480|0,j+432|0,j+416|0);ka=+g[j+784>>2];qa=+g[j+720>>2];do if(!(ka>2];ra=+g[j+808>>2];if(pa>2];ja=+g[j+452>>2];ia=+g[j+448>>2];fa=+g[j+440>>2];ca=+g[j+436>>2];da=+g[j+432>>2];ka=ka-qa;break}else{ba=1;la=+g[j+472>>2];ja=+g[j+468>>2];ia=+g[j+464>>2];fa=+g[j+424>>2];ca=+g[j+420>>2];da=+g[j+416>>2];ka=pa-ra;break}}else{ba=0;la=Z;ja=Y;ia=W;fa=F;ca=D;da=C;ka=y}while(0);if(!ba){r=0;break b}if(!(ka>2];M=+g[j+372>>2];H=+g[j+376>>2];K=+g[j+380>>2]}while(0);J=J+1|0;ba=c[r+48>>2]|0}while((J|0)<(ba|0));v=aa;w=$;x=_;J=c[s+48>>2]|0}else{v=aa;w=$;x=_}u=u+1|0;if((u|0)>=(J|0))break;else{_=x;$=w;aa=v}}}else{v=0.0;w=0.0;x=0.0;U=0.0;V=0.0;X=0.0;N=0.0;G=0.0;E=0.0;B=0.0;A=0.0;z=0.0;O=-1;I=-1}if((I|O|0)>-1){C=z-E;D=A-G;y=B-N;N=x*X+w*V+v*U;F=x*C+w*D+v*y;G=X*C+V*D+U*y;do if(!(1.0-N*N==0.0))if((F-N*G)/(1.0-N*N)<-1.0000000150474662e+30)E=-1.0000000150474662e+30;else{if(!((F-N*G)/(1.0-N*N)>1.0000000150474662e+30)){E=(F-N*G)/(1.0-N*N);break}E=1.0000000150474662e+30}else E=0.0;while(0);G=N*E-G;do if(G<-1.0000000150474662e+30){if(N*-1.0000000150474662e+30+F<-1.0000000150474662e+30){E=-1.0000000150474662e+30;N=-1.0000000150474662e+30;break}if(!(N*-1.0000000150474662e+30+F>1.0000000150474662e+30)){E=N*-1.0000000150474662e+30+F;N=-1.0000000150474662e+30;break}E=1.0000000150474662e+30;N=-1.0000000150474662e+30}else{if(!(G>1.0000000150474662e+30)){N=G;break}if(N*1.0000000150474662e+30+F<-1.0000000150474662e+30){E=-1.0000000150474662e+30;N=1.0000000150474662e+30;break}if(!(N*1.0000000150474662e+30+F>1.0000000150474662e+30)){E=N*1.0000000150474662e+30+F;N=1.0000000150474662e+30;break}E=1.0000000150474662e+30;N=1.0000000150474662e+30}while(0);F=X*N;G=N*V;N=N*U;x=C-x*E+F;w=D-E*w+G;y=y-E*v+N;g[j+352>>2]=x;g[j+356>>2]=w;g[j+360>>2]=y;g[j+364>>2]=0.0;if(x*x+w*w+y*y>1.1920928955078125e-7){v=+Q(+(x*x+w*w+y*y));g[j+352>>2]=x*(1.0/v);g[j+356>>2]=1.0/v*w;g[j+360>>2]=1.0/v*y;if(x*(1.0/v)*q+1.0/v*w*p+1.0/v*y*o<0.0){g[j+352>>2]=x*(1.0/v)*-1.0;g[j+356>>2]=1.0/v*w*-1.0;g[j+360>>2]=1.0/v*y*-1.0}g[j+336>>2]=z+F;g[j+340>>2]=A+G;g[j+344>>2]=B+N;g[j+348>>2]=0.0;qc[c[(c[h>>2]|0)+16>>2]&15](h,j+352|0,j+336|0,-v)}}if(q*L+p*M+o*H<0.0){r=1;L=-L;M=-M;H=-H;K=0.0}else r=1}while(0);if(r){o=-1.0000000150474662e+30;n=105}}if((n|0)==105){l=c[l+52>>2]|0;k=c[k+52>>2]|0;d=c[d+12>>2]|0;e=c[e+12>>2]|0;o=o-m;v=1.0/+Q(+(L*L+M*M+H*H));p=L*v;q=M*v;v=H*v;g[j+808>>2]=p;g[j+812>>2]=q;g[j+816>>2]=v;g[j+820>>2]=K;f=c[k+28>>2]|0;n=c[k+36>>2]|0;if((f|0)>0){w=+g[e>>2];x=+g[e+4>>2];A=+g[e+8>>2];D=+g[e+16>>2];E=+g[e+20>>2];H=+g[e+24>>2];G=+g[e+32>>2];C=+g[e+36>>2];B=+g[e+40>>2];t=-1;K=-3.4028234663852886e+38;r=0;while(1){y=+g[n+(r*36|0)+20>>2];z=+g[n+(r*36|0)+24>>2];F=+g[n+(r*36|0)+28>>2];s=(y*w+z*x+F*A)*p+(y*D+z*E+F*H)*q+(y*G+z*C+F*B)*v>K;t=s?r:t;r=r+1|0;if((r|0)>=(f|0)){s=t;break}else K=s?(y*w+z*x+F*A)*p+(y*D+z*E+F*H)*q+(y*G+z*C+F*B)*v:K}}else s=-1;a[j+800>>0]=1;r=j+796|0;c[r>>2]=0;c[j+788>>2]=0;c[j+792>>2]=0;f=c[n+(s*36|0)+4>>2]|0;c:do if((f|0)>0){n=n+(s*36|0)+12|0;O=0;J=0;u=0;t=0;while(1){Ba=c[(c[n>>2]|0)+(t<<2)>>2]|0;Aa=c[k+16>>2]|0;qa=+g[Aa+(Ba<<4)>>2];ra=+g[Aa+(Ba<<4)+4>>2];v=+g[Aa+(Ba<<4)+8>>2];p=qa*+g[e>>2]+ra*+g[e+4>>2]+v*+g[e+8>>2]+ +g[e+48>>2];q=qa*+g[e+16>>2]+ra*+g[e+20>>2]+v*+g[e+24>>2]+ +g[e+52>>2];v=qa*+g[e+32>>2]+ra*+g[e+36>>2]+v*+g[e+40>>2]+ +g[e+56>>2];if((O|0)==(u|0)){I=(u|0)==0?1:u<<1;if((u|0)<(I|0)){do if((I|0)==0)J=0;else{c[5004]=(c[5004]|0)+1;J=XE((I<<4|3)+16|0)|0;if((J|0)==0){J=0;break}c[(J+19&-16)+ -4>>2]=J;J=J+19&-16}while(0);if((u|0)>0){O=0;do{Ba=J+(O<<4)|0;Aa=(c[r>>2]|0)+(O<<4)|0;c[Ba+0>>2]=c[Aa+0>>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)!=(u|0))}u=c[r>>2]|0;if((u|0)!=0){if((a[j+800>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[u+ -4>>2]|0)}c[r>>2]=0}a[j+800>>0]=1;c[r>>2]=J;c[j+792>>2]=I;I=J;u=c[j+788>>2]|0}else I=J}else{I=J;u=O}g[I+(u<<4)>>2]=p;g[I+(u<<4)+4>>2]=q;g[I+(u<<4)+8>>2]=v;g[I+(u<<4)+12>>2]=0.0;O=(c[j+788>>2]|0)+1|0;c[j+788>>2]=O;t=t+1|0;if((t|0)>=(f|0))break c;J=I;u=c[j+792>>2]|0}}else I=0;while(0);if((s|0)>-1){UD(j+808|0,l,d,j+784|0,o,m,h);I=c[r>>2]|0}if((I|0)!=0){if((a[j+800>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[I+ -4>>2]|0)}c[r>>2]=0}}if((a[b+16>>0]|0)==0){i=j;return}e=c[h+4>>2]|0;if((c[e+748>>2]|0)==0){i=j;return}d=c[e+740>>2]|0;b=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(b|0)){nA(e,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=j;return}else{nA(e,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,b+4|0);i=j;return}}}while(0);qz(j+88|0,j+168|0,h,c[f+20>>2]|0,0);if(((c[b+28>>2]|0)!=0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(p=+g[j+92>>2],m=+g[j+96>>2],o=+g[j+100>>2],p*p+m*m+o*o>1.1920928955078125e-7):0){q=1.0/(p*p+m*m+o*o);if(+P(+(o*q))>.7071067690849304){z=1.0/+Q(+(o*q*o*q+m*q*m*q));x=0.0;y=-(o*q*z);z=m*q*z}else{y=1.0/+Q(+(p*q*p*q+m*q*m*q));x=-(m*q*y);y=p*q*y;z=0.0}v=+$b[c[(c[l>>2]|0)+16>>2]&15](l);w=+$b[c[(c[k>>2]|0)+16>>2]&15](k);A=.019999999552965164/(v>2]=c[j+168>>2];c[j+724>>2]=c[j+172>>2];c[j+728>>2]=c[j+176>>2];c[j+732>>2]=c[j+180>>2];c[j+736>>2]=c[O+0>>2];c[j+740>>2]=c[O+4>>2];c[j+744>>2]=c[O+8>>2];c[j+748>>2]=c[O+12>>2];c[j+752>>2]=c[I+0>>2];c[j+756>>2]=c[I+4>>2];c[j+760>>2]=c[I+8>>2];c[j+764>>2]=c[I+12>>2];c[j+768>>2]=c[na+0>>2];c[j+772>>2]=c[na+4>>2];c[j+776>>2]=c[na+8>>2];c[j+780>>2]=c[na+12>>2]}else{c[j+720>>2]=c[J+0>>2];c[j+724>>2]=c[J+4>>2];c[j+728>>2]=c[J+8>>2];c[j+732>>2]=c[J+12>>2];c[j+736>>2]=c[ba+0>>2];c[j+740>>2]=c[ba+4>>2];c[j+744>>2]=c[ba+8>>2];c[j+748>>2]=c[ba+12>>2];c[j+752>>2]=c[ma+0>>2];c[j+756>>2]=c[ma+4>>2];c[j+760>>2]=c[ma+8>>2];c[j+764>>2]=c[ma+12>>2];c[j+768>>2]=c[u+0>>2];c[j+772>>2]=c[u+4>>2];c[j+776>>2]=c[u+8>>2];c[j+780>>2]=c[u+12>>2]}Aa=c[b+28>>2]|0;if((Aa|0)>0){B=z*z+(y*y+x*x);A=A>.39269909262657166?.19634954631328583:A*.5;ya=j+516|0;va=j+532|0;xa=j+548|0;oa=j+564|0;wa=j+580|0;k=j+596|0;n=j+612|0;r=j+628|0;t=j+644|0;ta=j+660|0;l=j+736|0;s=j+676|0;ua=j+752|0;sa=j+692|0;za=j+768|0;if(B>1.1920928955078125e-7){B=+T(+A)/+Q(+B);x=x*B;y=y*B;z=z*B;B=+S(+A);A=+Q(+(o*q*o*q+(p*q*p*q+m*q*m*q)));if(v>2]|0;$=+g[Ca>>2];aa=+g[Ca+16>>2];ca=+g[Ca+32>>2];da=+g[Ca+4>>2];ea=+g[Ca+20>>2];fa=+g[Ca+36>>2];ga=+g[Ca+8>>2];ja=+g[Ca+24>>2];ra=+g[Ca+40>>2];g[j+168>>2]=(ka*ha+ia*qa)*ca+(aa*(ka*qa-ia*ha)+$*(1.0-(pa*qa+_*ha)));g[j+172>>2]=(1.0-(pa*qa+_*ha))*da+(ka*qa-ia*ha)*ea+(ka*ha+ia*qa)*fa;g[j+176>>2]=(1.0-(pa*qa+_*ha))*ga+(ka*qa-ia*ha)*ja+(ka*ha+ia*qa)*ra;g[j+180>>2]=0.0;g[j+184>>2]=(pa*ha-ia*la)*ca+($*(ka*qa+ia*ha)+aa*(1.0-(ka*la+_*ha)));g[j+188>>2]=(ka*qa+ia*ha)*da+(1.0-(ka*la+_*ha))*ea+(pa*ha-ia*la)*fa;g[j+192>>2]=(ka*qa+ia*ha)*ga+(1.0-(ka*la+_*ha))*ja+(pa*ha-ia*la)*ra;g[j+196>>2]=0.0;g[j+200>>2]=$*(ka*ha-ia*qa)+aa*(pa*ha+ia*la)+ca*(1.0-(ka*la+pa*qa));g[j+204>>2]=(ka*ha-ia*qa)*da+(pa*ha+ia*la)*ea+(1.0-(ka*la+pa*qa))*fa;g[j+208>>2]=(ka*ha-ia*qa)*ga+(pa*ha+ia*la)*ja+(1.0-(ka*la+pa*qa))*ra;g[j+212>>2]=0.0;Ca=c[e+12>>2]|0;c[J+0>>2]=c[Ca+0>>2];c[J+4>>2]=c[Ca+4>>2];c[J+8>>2]=c[Ca+8>>2];c[J+12>>2]=c[Ca+12>>2];c[ba+0>>2]=c[Ca+16>>2];c[ba+4>>2]=c[Ca+20>>2];c[ba+8>>2]=c[Ca+24>>2];c[ba+12>>2]=c[Ca+28>>2];c[ma+0>>2]=c[Ca+32>>2];c[ma+4>>2]=c[Ca+36>>2];c[ma+8>>2]=c[Ca+40>>2];c[ma+12>>2]=c[Ca+44>>2];c[u+0>>2]=c[Ca+48>>2];c[u+4>>2]=c[Ca+52>>2];c[u+8>>2]=c[Ca+56>>2];c[u+12>>2]=c[Ca+60>>2];Ca=c[f+20>>2]|0;c[j+480>>2]=18952;c[j+512>>2]=h;c[ya+0>>2]=c[j+168>>2];c[ya+4>>2]=c[j+172>>2];c[ya+8>>2]=c[j+176>>2];c[ya+12>>2]=c[j+180>>2];c[va+0>>2]=c[O+0>>2];c[va+4>>2]=c[O+4>>2];c[va+8>>2]=c[O+8>>2];c[va+12>>2]=c[O+12>>2];c[xa+0>>2]=c[I+0>>2];c[xa+4>>2]=c[I+4>>2];c[xa+8>>2]=c[I+8>>2];c[xa+12>>2]=c[I+12>>2];c[oa+0>>2]=c[na+0>>2];c[oa+4>>2]=c[na+4>>2];c[oa+8>>2]=c[na+8>>2];c[oa+12>>2]=c[na+12>>2];c[wa+0>>2]=c[J+0>>2];c[wa+4>>2]=c[J+4>>2];c[wa+8>>2]=c[J+8>>2];c[wa+12>>2]=c[J+12>>2];c[k+0>>2]=c[ba+0>>2];c[k+4>>2]=c[ba+4>>2];c[k+8>>2]=c[ba+8>>2];c[k+12>>2]=c[ba+12>>2];c[n+0>>2]=c[ma+0>>2];c[n+4>>2]=c[ma+4>>2];c[n+8>>2]=c[ma+8>>2];c[n+12>>2]=c[ma+12>>2];c[r+0>>2]=c[u+0>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[t+0>>2]=c[j+720>>2];c[t+4>>2]=c[j+724>>2];c[t+8>>2]=c[j+728>>2];c[t+12>>2]=c[j+732>>2];c[ta+0>>2]=c[l+0>>2];c[ta+4>>2]=c[l+4>>2];c[ta+8>>2]=c[l+8>>2];c[ta+12>>2]=c[l+12>>2];c[s+0>>2]=c[ua+0>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];c[s+12>>2]=c[ua+12>>2];c[sa+0>>2]=c[za+0>>2];c[sa+4>>2]=c[za+4>>2];c[sa+8>>2]=c[za+8>>2];c[sa+12>>2]=c[za+12>>2];a[j+708>>0]=v>2]=Ca;qz(j+88|0,j+168|0,j+480|0,Ca,0);Aa=c[b+28>>2]|0;Ba=Ba+1|0}while((Ba|0)<(Aa|0))}else{Ba=0;do{aa=+(Ba|0)*(6.2831854820251465/+(Aa|0))*.5;la=+T(+aa)/A;aa=+S(+aa);Ca=c[d+12>>2]|0;c[j+168>>2]=c[Ca+0>>2];c[j+172>>2]=c[Ca+4>>2];c[j+176>>2]=c[Ca+8>>2];c[j+180>>2]=c[Ca+12>>2];c[O+0>>2]=c[Ca+16>>2];c[O+4>>2]=c[Ca+20>>2];c[O+8>>2]=c[Ca+24>>2];c[O+12>>2]=c[Ca+28>>2];c[I+0>>2]=c[Ca+32>>2];c[I+4>>2]=c[Ca+36>>2];c[I+8>>2]=c[Ca+40>>2];c[I+12>>2]=c[Ca+44>>2];c[na+0>>2]=c[Ca+48>>2];c[na+4>>2]=c[Ca+52>>2];c[na+8>>2]=c[Ca+56>>2];c[na+12>>2]=c[Ca+60>>2];ha=z*-(m*q*la)+(x*aa+B*-(p*q*la))-y*-(o*q*la);qa=x*-(o*q*la)+(y*aa+B*-(m*q*la))-z*-(p*q*la);ia=y*-(p*q*la)+(z*aa+B*-(o*q*la))-x*-(m*q*la);$=B*aa-x*-(p*q*la)-y*-(m*q*la)-z*-(o*q*la);ka=o*q*la*qa+(p*q*la*$+aa*ha)-m*q*la*ia;pa=p*q*la*ia+(aa*qa+m*q*la*$)-o*q*la*ha;_=m*q*la*ha+(o*q*la*$+aa*ia)-p*q*la*qa;ia=aa*$-p*q*la*ha-m*q*la*qa-o*q*la*ia;la=ka*(2.0/(ia*ia+(_*_+(ka*ka+pa*pa))));qa=pa*(2.0/(ia*ia+(_*_+(ka*ka+pa*pa))));ha=_*(2.0/(ia*ia+(_*_+(ka*ka+pa*pa))));Ca=c[e+12>>2]|0;$=+g[Ca>>2];aa=+g[Ca+16>>2];ca=+g[Ca+32>>2];da=+g[Ca+4>>2];ea=+g[Ca+20>>2];fa=+g[Ca+36>>2];ga=+g[Ca+8>>2];ja=+g[Ca+24>>2];ra=+g[Ca+40>>2];g[j+232>>2]=(ka*ha+ia*qa)*ca+(aa*(ka*qa-ia*ha)+$*(1.0-(pa*qa+_*ha)));g[j+236>>2]=(1.0-(pa*qa+_*ha))*da+(ka*qa-ia*ha)*ea+(ka*ha+ia*qa)*fa;g[j+240>>2]=(1.0-(pa*qa+_*ha))*ga+(ka*qa-ia*ha)*ja+(ka*ha+ia*qa)*ra;g[j+244>>2]=0.0;g[j+248>>2]=(pa*ha-ia*la)*ca+($*(ka*qa+ia*ha)+aa*(1.0-(ka*la+_*ha)));g[j+252>>2]=(ka*qa+ia*ha)*da+(1.0-(ka*la+_*ha))*ea+(pa*ha-ia*la)*fa;g[j+256>>2]=(ka*qa+ia*ha)*ga+(1.0-(ka*la+_*ha))*ja+(pa*ha-ia*la)*ra;g[j+260>>2]=0.0;g[j+264>>2]=$*(ka*ha-ia*qa)+aa*(pa*ha+ia*la)+ca*(1.0-(ka*la+pa*qa));g[j+268>>2]=(ka*ha-ia*qa)*da+(pa*ha+ia*la)*ea+(1.0-(ka*la+pa*qa))*fa;g[j+272>>2]=(ka*ha-ia*qa)*ga+(pa*ha+ia*la)*ja+(1.0-(ka*la+pa*qa))*ra;g[j+276>>2]=0.0;Ca=c[f+20>>2]|0;c[j+480>>2]=18952;c[j+512>>2]=h;c[ya+0>>2]=c[j+168>>2];c[ya+4>>2]=c[j+172>>2];c[ya+8>>2]=c[j+176>>2];c[ya+12>>2]=c[j+180>>2];c[va+0>>2]=c[O+0>>2];c[va+4>>2]=c[O+4>>2];c[va+8>>2]=c[O+8>>2];c[va+12>>2]=c[O+12>>2];c[xa+0>>2]=c[I+0>>2];c[xa+4>>2]=c[I+4>>2];c[xa+8>>2]=c[I+8>>2];c[xa+12>>2]=c[I+12>>2];c[oa+0>>2]=c[na+0>>2];c[oa+4>>2]=c[na+4>>2];c[oa+8>>2]=c[na+8>>2];c[oa+12>>2]=c[na+12>>2];c[wa+0>>2]=c[J+0>>2];c[wa+4>>2]=c[J+4>>2];c[wa+8>>2]=c[J+8>>2];c[wa+12>>2]=c[J+12>>2];c[k+0>>2]=c[ba+0>>2];c[k+4>>2]=c[ba+4>>2];c[k+8>>2]=c[ba+8>>2];c[k+12>>2]=c[ba+12>>2];c[n+0>>2]=c[ma+0>>2];c[n+4>>2]=c[ma+4>>2];c[n+8>>2]=c[ma+8>>2];c[n+12>>2]=c[ma+12>>2];c[r+0>>2]=c[u+0>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[t+0>>2]=c[j+720>>2];c[t+4>>2]=c[j+724>>2];c[t+8>>2]=c[j+728>>2];c[t+12>>2]=c[j+732>>2];c[ta+0>>2]=c[l+0>>2];c[ta+4>>2]=c[l+4>>2];c[ta+8>>2]=c[l+8>>2];c[ta+12>>2]=c[l+12>>2];c[s+0>>2]=c[ua+0>>2];c[s+4>>2]=c[ua+4>>2];c[s+8>>2]=c[ua+8>>2];c[s+12>>2]=c[ua+12>>2];c[sa+0>>2]=c[za+0>>2];c[sa+4>>2]=c[za+4>>2];c[sa+8>>2]=c[za+8>>2];c[sa+12>>2]=c[za+12>>2];a[j+708>>0]=v>2]=Ca;qz(j+88|0,j+168|0,j+480|0,Ca,0);Aa=c[b+28>>2]|0;Ba=Ba+1|0}while((Ba|0)<(Aa|0))}}else if(v>0]|0)==0){i=j;return}b=c[h+4>>2]|0;if((c[b+748>>2]|0)==0){i=j;return}d=c[b+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(e|0)){nA(b,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=j;return}else{nA(b,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);i=j;return}}function fD(a){a=a|0;return}function gD(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+624|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];l=+g[e+116>>2]- +g[e+52>>2];k=+g[e+120>>2]- +g[e+56>>2];j=+g[e+124>>2]- +g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n>2],l*l+k*k+j*j>2]|0;p=+g[e+248>>2];c[f+576>>2]=0;g[f+580>>2]=1.0;g[f+584>>2]=1.0;g[f+588>>2]=1.0;g[f+592>>2]=0.0;c[f+568>>2]=16680;c[f+572>>2]=8;g[f+596>>2]=p;g[f+612>>2]=p;c[f+392>>2]=9440;g[f+556>>2]=999999984306749400.0;c[f+560>>2]=0;g[f+564>>2]=0.0;g[f+340>>2]=9999999747378752.0e-20;a[f+364>>0]=0;c[f+16>>2]=13184;c[f+20>>2]=f+32;c[f+24>>2]=b;c[f+28>>2]=f+568;if(mz(f+16|0,d+4|0,d+68|0,e+4|0,e+68|0,f+392|0)|0){k=+g[f+556>>2];if(+g[d+244>>2]>k)g[d+244>>2]=k;if(+g[e+244>>2]>k)g[e+244>>2]=k;if(!(k<1.0))k=1.0}else k=1.0;b=c[e+192>>2]|0;p=+g[d+248>>2];c[f+576>>2]=0;g[f+580>>2]=1.0;g[f+584>>2]=1.0;g[f+588>>2]=1.0;g[f+592>>2]=0.0;c[f+568>>2]=16680;c[f+572>>2]=8;g[f+596>>2]=p;g[f+612>>2]=p;c[f+392>>2]=9440;g[f+556>>2]=999999984306749400.0;c[f+560>>2]=0;g[f+564>>2]=0.0;g[f+340>>2]=9999999747378752.0e-20;a[f+364>>0]=a[f+364>>0]&-16;c[f>>2]=13184;c[f+4>>2]=f+32;c[f+8>>2]=f+568;c[f+12>>2]=b;if(!(mz(f,d+4|0,d+68|0,e+4|0,e+68|0,f+392|0)|0)){p=k;i=f;return+p}j=+g[f+556>>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)){p=k;i=f;return+p}p=j;i=f;return+p}function hD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+20>>2]|0)==0){i=e;return}if((a[b+16>>0]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+20>>2];c[d+4>>2]=h+1;i=e;return}function iD(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;e=i;f=c[d>>2]|0;f=gc[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;if((f|0)==0){f=0;i=e;return f|0}h=c[d+4>>2]|0;k=c[b+12>>2]|0;j=c[b+8>>2]|0;g=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=18816;c[f+8>>2]=k;c[f+12>>2]=j;a[f+16>>0]=0;c[f+20>>2]=h;a[f+24>>0]=0;c[f+28>>2]=g;c[f+32>>2]=b;i=e;return f|0}function jD(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function kD(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,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;l=i;i=i+16|0;n=+g[d>>2];h=+g[d+4>>2];j=+g[d+8>>2];m=+g[e>>2];k=+g[e+4>>2];o=+g[e+8>>2];if((a[b+228>>0]|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];I=+g[b+164>>2];r=+g[b+168>>2];J=+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=o*(C*I+B*r+A*J)+(m*(z*I+y*r+x*J)+k*(w*I+u*r+s*J))+((x*F+s*E+A*D)*J+(I*(z*F+w*E+C*D)+r*(y*F+u*E+B*D))+ +g[b+212>>2]);q=o*(C*H+B*G+A*q)+(m*(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]+(o*(C*v+B*t+A*p)+(m*(z*v+y*t+x*p)+k*(w*v+u*t+s*p)));g[l>>2]=r;g[l+4>>2]=q;g[l+8>>2]=p;g[l+12>>2]=0.0;o=(n*f+m-r)*+g[d>>2]+(h*f+k-q)*+g[d+4>>2]+(j*f+o-p)*+g[d+8>>2];e=b+32|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;qc[b&15](e,d,l,o);i=l;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];q=+g[b+164>>2];H=+g[b+168>>2];p=+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=(j*f+o)*(w*q+x*H+y*p)+((n*f+m)*(z*q+A*H+B*p)+(h*f+k)*(C*q+E*H+G*p))+((B*t+G*u+y*v)*p+(q*(z*t+C*u+w*v)+H*(A*t+E*u+x*v))+ +g[b+212>>2]);I=(j*f+o)*(w*r+x*s+y*I)+((n*f+m)*(z*r+A*s+B*I)+(h*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]+((j*f+o)*(w*D+x*F+y*J)+((n*f+m)*(z*D+A*F+B*J)+(h*f+k)*(C*D+E*F+G*J)));g[l>>2]=H+n*(n*(H-m)+h*(I-k)+j*(J-o));g[l+4>>2]=I+h*(n*(H-m)+h*(I-k)+j*(J-o));g[l+8>>2]=J+j*(n*(H-m)+h*(I-k)+j*(J-o));g[l+12>>2]=0.0;J=n*(H-m)+h*(I-k)+j*(J-o);e=b+32|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;qc[b&15](e,d,l,J);i=l;return}}function lD(a){a=a|0;return}function mD(a){a=a|0;return}function nD(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function oD(a,b,c){a=a|0;b=b|0;c=c|0;return}function pD(a,b,c){a=a|0;b=b|0;c=c|0;return}function qD(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+0>>2];c[b+12>>2]=c[d+4>>2];c[b+16>>2]=c[d+8>>2];c[b+20>>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)){e=b+4|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;qc[b&15](e,d,h,f);i=h;return}a[b+36>>0]=1;e=b+4|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;qc[b&15](e,d,h,f);i=h;return}function rD(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function sD(a,b,c){a=a|0;b=b|0;c=c|0;return}function tD(a,b,c){a=a|0;b=b|0;c=c|0;return}function uD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function vD(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=19408;if((a[b+8>>0]|0)!=0?(e=c[b+12>>2]|0,(e|0)!=0):0){f=c[b+4>>2]|0;Nb[c[(c[f>>2]|0)+16>>2]&127](f,e)}YE(b);i=d;return}function wD(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=19408;if((a[b+8>>0]|0)==0){i=d;return}e=c[b+12>>2]|0;if((e|0)==0){i=d;return}b=c[b+4>>2]|0;Nb[c[(c[b>>2]|0)+16>>2]&127](b,e);i=d;return}function xD(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,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.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,R=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.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;f=i;i=i+128|0;if((c[b+12>>2]|0)==0){i=f;return}C=(a[b+16>>0]|0)!=0;K=C?e:d;C=C?d:e;o=c[K+4>>2]|0;j=c[C+4>>2]|0;K=c[K+12>>2]|0;q=+g[K>>2];D=+g[K+16>>2];z=+g[K+32>>2];t=+g[K+4>>2];s=+g[K+20>>2];r=+g[K+36>>2];p=+g[K+8>>2];n=+g[K+24>>2];y=+g[K+40>>2];F=+g[K+48>>2];G=+g[K+52>>2];H=+g[K+56>>2];K=c[C+12>>2]|0;O=+g[K>>2];N=+g[K+16>>2];k=+g[K+32>>2];M=+g[K+4>>2];L=+g[K+20>>2];x=+g[K+36>>2];m=+g[K+8>>2];B=+g[K+24>>2];v=+g[K+40>>2];I=-+g[K+48>>2];E=-+g[K+52>>2];u=-+g[K+56>>2];K=c[(c[o>>2]|0)+64>>2]|0;A=-+g[j+48>>2];l=-+g[j+52>>2];w=-+g[j+56>>2];g[f+32>>2]=(q*O+D*N+z*k)*A+(q*M+D*L+z*x)*l+(q*m+D*B+z*v)*w;g[f+36>>2]=(t*O+s*N+r*k)*A+(t*M+s*L+r*x)*l+(t*m+s*B+r*v)*w;g[f+40>>2]=(p*O+n*N+y*k)*A+(p*M+n*L+y*x)*l+(p*m+n*B+y*v)*w;g[f+44>>2]=0.0;rc[K&127](f+48|0,o,f+32|0);w=+g[f+48>>2];l=+g[f+52>>2];A=+g[f+56>>2];k=F*O+G*N+H*k+(O*I+N*E+k*u)+((q*O+D*N+z*k)*w+(t*O+s*N+r*k)*l+(p*O+n*N+y*k)*A);x=F*M+G*L+H*x+(M*I+L*E+x*u)+((q*M+D*L+z*x)*w+(t*M+s*L+r*x)*l+(p*M+n*L+y*x)*A);A=F*m+G*B+H*v+(m*I+B*E+v*u)+((q*m+D*B+z*v)*w+(t*m+s*B+r*v)*l+(p*m+n*B+y*v)*A);v=+g[j+48>>2];y=+g[j+52>>2];B=+g[j+56>>2];n=B*A+(v*k+y*x)- +g[j+64>>2];K=c[C+12>>2]|0;m=+g[K>>2];p=+g[K+4>>2];l=+g[K+8>>2];r=+g[K+16>>2];s=+g[K+20>>2];t=+g[K+24>>2];w=+g[K+32>>2];z=+g[K+36>>2];D=+g[K+40>>2];q=+g[K+48>>2];u=+g[K+52>>2];E=+g[K+56>>2];K=c[b+12>>2]|0;J=n<+g[K+752>>2];c[h+4>>2]=K;if(J){K=c[C+12>>2]|0;N=v*+g[K+16>>2]+y*+g[K+20>>2]+B*+g[K+24>>2];O=v*+g[K+32>>2]+y*+g[K+36>>2]+B*+g[K+40>>2];g[f+16>>2]=+g[K>>2]*v+ +g[K+4>>2]*y+ +g[K+8>>2]*B;g[f+20>>2]=N;g[f+24>>2]=O;g[f+28>>2]=0.0;g[f>>2]=l*(A-B*n)+(m*(k-v*n)+p*(x-y*n))+q;g[f+4>>2]=(k-v*n)*r+(x-y*n)*s+(A-B*n)*t+u;g[f+8>>2]=(k-v*n)*w+(x-y*n)*z+(A-B*n)*D+E;g[f+12>>2]=0.0;qc[c[(c[h>>2]|0)+16>>2]&15](h,f+16|0,f,n)}if((c[o+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){l=+g[j+56>>2];if(+P(+l)>.7071067690849304){O=+g[j+52>>2];m=1.0/+Q(+(l*l+O*O));k=0.0;l=-(l*m);m=O*m}else{m=+g[j+48>>2];k=+g[j+52>>2];l=1.0/+Q(+(m*m+k*k));k=-(k*l);l=m*l;m=0.0}O=.019999999552965164/+$b[c[(c[o>>2]|0)+16>>2]&15](o);n=+Q(+(m*m+(l*l+k*k)));O=O>.39269909262657166?.19634954631328583:O*.5;n=+T(+O)/n;k=k*n;l=l*n;n=m*n;m=+S(+O);C=c[b+20>>2]|0;if((C|0)>0){o=0;do{q=+g[j+48>>2];O=+g[j+52>>2];p=+g[j+56>>2];x=+(o|0)*(6.2831854820251465/+(C|0))*.5;N=+T(+x)/+Q(+(q*q+O*O+p*p));x=+S(+x);z=n*-(O*N)+(k*x+m*-(q*N))-l*-(p*N);s=k*-(p*N)+(l*x+m*-(O*N))-n*-(q*N);fa=l*-(q*N)+(n*x+m*-(p*N))-k*-(O*N);A=m*x-k*-(q*N)-l*-(O*N)-n*-(p*N);E=p*N*s+(q*N*A+x*z)-O*N*fa;D=q*N*fa+(x*s+O*N*A)-p*N*z;ba=O*N*z+(p*N*A+x*fa)-q*N*s;fa=x*A-q*N*z-O*N*s-p*N*fa;C=(a[b+16>>0]|0)!=0;$=C?e:d;C=C?d:e;K=c[$+4>>2]|0;J=c[C+4>>2]|0;$=c[$+12>>2]|0;N=+g[$>>2];p=+g[$+4>>2];s=+g[$+8>>2];O=+g[$+16>>2];z=+g[$+20>>2];q=+g[$+24>>2];A=+g[$+32>>2];x=+g[$+36>>2];H=+g[$+40>>2];W=+g[$+48>>2];V=+g[$+52>>2];U=+g[$+56>>2];$=c[C+12>>2]|0;_=+g[$>>2];Z=+g[$+16>>2];u=+g[$+32>>2];Y=+g[$+4>>2];X=+g[$+20>>2];w=+g[$+36>>2];r=+g[$+8>>2];F=+g[$+24>>2];G=+g[$+40>>2];R=-+g[$+48>>2];L=-+g[$+52>>2];M=-+g[$+56>>2];t=E*(2.0/(E*E+D*D+ba*ba+fa*fa));I=D*(2.0/(E*E+D*D+ba*ba+fa*fa));ga=ba*(2.0/(E*E+D*D+ba*ba+fa*fa));da=s*(E*ga-fa*I)+(p*(E*I+fa*ga)+N*(1.0-(D*I+ba*ga)));aa=s*(D*ga+fa*t)+(N*(E*I-fa*ga)+p*(1.0-(E*t+ba*ga)));y=N*(E*ga+fa*I)+p*(D*ga-fa*t)+s*(1.0-(E*t+D*I));ca=q*(E*ga-fa*I)+(z*(E*I+fa*ga)+O*(1.0-(D*I+ba*ga)));B=q*(D*ga+fa*t)+(O*(E*I-fa*ga)+z*(1.0-(E*t+ba*ga)));v=O*(E*ga+fa*I)+z*(D*ga-fa*t)+q*(1.0-(E*t+D*I));ea=H*(E*ga-fa*I)+(x*(E*I+fa*ga)+A*(1.0-(D*I+ba*ga)));ba=H*(D*ga+fa*t)+(A*(E*I-fa*ga)+x*(1.0-(E*t+ba*ga)));I=A*(E*ga+fa*I)+x*(D*ga-fa*t)+H*(1.0-(E*t+D*I));$=c[(c[K>>2]|0)+64>>2]|0;D=-+g[J+48>>2];t=-+g[J+52>>2];E=-+g[J+56>>2];g[f+96>>2]=(G*ea+(r*da+F*ca))*E+((u*ea+(_*da+Z*ca))*D+(w*ea+(Y*da+X*ca))*t);g[f+100>>2]=(G*ba+(r*aa+F*B))*E+((u*ba+(_*aa+Z*B))*D+(w*ba+(Y*aa+X*B))*t);g[f+104>>2]=(G*I+(r*y+F*v))*E+((u*I+(_*y+Z*v))*D+(w*I+(Y*y+X*v))*t);g[f+108>>2]=0.0;rc[$&127](f+112|0,K,f+96|0);t=+g[f+112>>2];v=+g[f+116>>2];y=+g[f+120>>2];I=+g[J+48>>2];D=+g[J+52>>2];E=+g[J+56>>2];B=E*(W*r+V*F+U*G+(r*R+F*L+G*M)+((N*r+O*F+A*G)*t+(p*r+z*F+x*G)*v+(s*r+q*F+H*G)*y))+(I*(W*_+V*Z+U*u+(_*R+Z*L+u*M)+((N*_+O*Z+A*u)*t+(p*_+z*Z+x*u)*v+(s*_+q*Z+H*u)*y))+D*(W*Y+V*X+U*w+(Y*R+X*L+w*M)+((N*Y+O*X+A*w)*t+(p*Y+z*X+x*w)*v+(s*Y+q*X+H*w)*y)))- +g[J+64>>2];u=W*_+V*Z+U*u+(_*R+Z*L+u*M)+((N*_+O*Z+A*u)*t+(p*_+z*Z+x*u)*v+(s*_+q*Z+H*u)*y)-I*B;w=W*Y+V*X+U*w+(Y*R+X*L+w*M)+((N*Y+O*X+A*w)*t+(p*Y+z*X+x*w)*v+(s*Y+q*X+H*w)*y)-D*B;y=W*r+V*F+U*G+(r*R+F*L+G*M)+((N*r+O*F+A*G)*t+(p*r+z*F+x*G)*v+(s*r+q*F+H*G)*y)-E*B;J=c[C+12>>2]|0;G=+g[J>>2];H=+g[J+4>>2];F=+g[J+8>>2];q=+g[J+16>>2];r=+g[J+20>>2];s=+g[J+24>>2];v=+g[J+32>>2];x=+g[J+36>>2];z=+g[J+40>>2];p=+g[J+48>>2];t=+g[J+52>>2];A=+g[J+56>>2];J=c[b+12>>2]|0;K=B<+g[J+752>>2];c[h+4>>2]=J;if(K){$=c[C+12>>2]|0;fa=I*+g[$+16>>2]+D*+g[$+20>>2]+E*+g[$+24>>2];ga=I*+g[$+32>>2]+D*+g[$+36>>2]+E*+g[$+40>>2];g[f+80>>2]=+g[$>>2]*I+ +g[$+4>>2]*D+ +g[$+8>>2]*E;g[f+84>>2]=fa;g[f+88>>2]=ga;g[f+92>>2]=0.0;g[f+64>>2]=F*y+(G*u+H*w)+p;g[f+68>>2]=u*q+w*r+y*s+t;g[f+72>>2]=u*v+w*x+y*z+A;g[f+76>>2]=0.0;qc[c[(c[h>>2]|0)+16>>2]&15](h,f+80|0,f+64|0,B)}o=o+1|0;C=c[b+20>>2]|0}while((o|0)<(C|0))}}if((a[b+8>>0]|0)==0){i=f;return}if((c[(c[b+12>>2]|0)+748>>2]|0)==0){i=f;return}b=c[h+4>>2]|0;if((c[b+748>>2]|0)==0){i=f;return}d=c[b+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((d|0)==(e|0)){nA(b,d+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);i=f;return}else{nA(b,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);i=f;return}}function yD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function zD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((c[b+12>>2]|0)==0){i=e;return}if((a[b+8>>0]|0)==0){i=e;return}h=c[d+4>>2]|0;if((h|0)==(c[d+8>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[d+4>>2]|0}if((h|0)>0){j=0;do{k=g+(j<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[d+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+12>>2]|0;if((j|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=g;c[d+8>>2]=f}f=(c[d+12>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=c[b+12>>2];c[d+4>>2]=h+1;i=e;return}function AD(a){a=a|0;var b=0;b=i;BD(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function BD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;c[b>>2]=19496;e=c[b+56>>2]|0;if((e|0)!=0){if((a[b+60>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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){g=0;do{h=c[b+36>>2]|0;l=h+(g*36|0)+4|0;k=h+(g*36|0)+12|0;e=c[k>>2]|0;j=h+(g*36|0)+16|0;if((e|0)!=0){if((a[j>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[k>>2]=0}a[j>>0]=1;c[k>>2]=0;c[l>>2]=0;c[h+(g*36|0)+8>>2]=0;g=g+1|0}while((g|0)!=(f|0))}e=c[b+36>>2]|0;if((e|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;l=b+12|0;c[l>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;l=b+12|0;c[l>>2]=0;i=d;return}function CD(a){a=a|0;var b=0,d=0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0;b=i;d=c[a+28>>2]|0;if((d|0)<=0){a=0;do a=a+1|0;while((a|0)<8);d=1;i=b;return d|0}e=c[a+36>>2]|0;k=0.0;j=0.0;h=0.0;f=0;a:while(1){switch(f|0){case 2:{h=+g[a+88>>2]+ +g[a+72>>2];j=+g[a+68>>2]- +g[a+84>>2];k=+g[a+80>>2]+ +g[a+64>>2];break};case 6:{h=+g[a+88>>2]+ +g[a+72>>2];j=+g[a+68>>2]- +g[a+84>>2];k=+g[a+64>>2]- +g[a+80>>2];break};case 1:{h=+g[a+72>>2]- +g[a+88>>2];j=+g[a+84>>2]+ +g[a+68>>2];k=+g[a+80>>2]+ +g[a+64>>2];break};case 5:{h=+g[a+72>>2]- +g[a+88>>2];j=+g[a+84>>2]+ +g[a+68>>2];k=+g[a+64>>2]- +g[a+80>>2];break};case 4:{h=+g[a+88>>2]+ +g[a+72>>2];j=+g[a+84>>2]+ +g[a+68>>2];k=+g[a+64>>2]- +g[a+80>>2];break};case 0:{h=+g[a+88>>2]+ +g[a+72>>2];j=+g[a+84>>2]+ +g[a+68>>2];k=+g[a+80>>2]+ +g[a+64>>2];break};case 3:{h=+g[a+72>>2]- +g[a+88>>2];j=+g[a+68>>2]- +g[a+84>>2];k=+g[a+80>>2]+ +g[a+64>>2];break};case 7:{h=+g[a+72>>2]- +g[a+88>>2];j=+g[a+68>>2]- +g[a+84>>2];k=+g[a+64>>2]- +g[a+80>>2];break};default:{}}l=0;do{if(+g[e+(l*36|0)+32>>2]+(k*+g[e+(l*36|0)+20>>2]+j*+g[e+(l*36|0)+24>>2]+h*+g[e+(l*36|0)+28>>2])>0.0){d=0;a=17;break a}l=l+1|0}while((l|0)<(d|0));f=f+1|0;if((f|0)>=8){d=1;a=17;break}}if((a|0)==17){i=b;return d|0}return 0}function DD(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 k=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;k=i;i=i+16|0;g[e>>2]=3.4028234663852886e+38;g[f>>2]=-3.4028234663852886e+38;m=c[a+8>>2]|0;if((m|0)>0){n=0;do{s=c[a+16>>2]|0;r=+g[s+(n<<4)>>2];q=+g[s+(n<<4)+4>>2];l=+g[s+(n<<4)+8>>2];p=r*+g[b>>2]+q*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];o=r*+g[b+16>>2]+q*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=r*+g[b+32>>2]+q*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];q=p*+g[d>>2]+o*+g[d+4>>2]+l*+g[d+8>>2];if(q<+g[e>>2]){g[e>>2]=q;g[h>>2]=p;g[h+4>>2]=o;g[h+8>>2]=l;g[h+12>>2]=0.0}if(q>+g[f>>2]){g[f>>2]=q;g[j>>2]=p;g[j+4>>2]=o;g[j+8>>2]=l;g[j+12>>2]=0.0}n=n+1|0}while((n|0)!=(m|0));o=+g[f>>2]}else o=-3.4028234663852886e+38;l=+g[e>>2];if(!(l>o)){i=k;return}g[e>>2]=o;g[f>>2]=l;c[k+0>>2]=c[h+0>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];c[h+0>>2]=c[j+0>>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+0>>2]=c[k+0>>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];i=k;return}function ED(b,e,f){b=b|0;e=e|0;f=f|0;var h=0,j=0.0,k=0,l=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,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;h=i;i=i+176|0;c[b+348>>2]=b+220;c[b+352>>2]=b+252;c[b+356>>2]=b+284;c[b+360>>2]=b+316;c[b+364>>2]=4;c[b+368>>2]=0;c[b+376>>2]=0;y=c[e+4>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=y;c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];c[b+20>>2]=c[e+20>>2];c[b+24>>2]=c[e+24>>2];c[b+28>>2]=c[e+28>>2];c[b+32>>2]=c[e+32>>2];c[b+36>>2]=c[e+36>>2];c[b+40>>2]=c[e+40>>2];c[b+44>>2]=c[e+44>>2];c[b+48>>2]=c[e+48>>2];c[b+52>>2]=c[e+52>>2];c[b+56>>2]=c[e+56>>2];c[b+60>>2]=c[e+60>>2];c[b+64>>2]=c[e+64>>2];c[b+68>>2]=c[e+68>>2];c[b+72>>2]=c[e+72>>2];c[b+76>>2]=c[e+76>>2];c[b+80>>2]=c[e+80>>2];c[b+84>>2]=c[e+84>>2];c[b+88>>2]=c[e+88>>2];c[b+92>>2]=c[e+92>>2];c[b+96>>2]=c[e+96>>2];c[b+100>>2]=c[e+100>>2];c[b+104>>2]=c[e+104>>2];c[b+108>>2]=c[e+108>>2];c[b+112>>2]=c[e+112>>2];c[b+116>>2]=c[e+116>>2];y=d[e+120>>0]|d[e+121>>0]<<8|d[e+122>>0]<<16|d[e+123>>0]<<24;z=d[e+124>>0]|d[e+125>>0]<<8|d[e+126>>0]<<16|d[e+127>>0]<<24;a[b+120>>0]=y;a[b+121>>0]=y>>8;a[b+122>>0]=y>>16;a[b+123>>0]=y>>24;a[b+124>>0]=z;a[b+125>>0]=z>>8;a[b+126>>0]=z>>16;a[b+127>>0]=z>>24;g[b+144>>2]=0.0;c[b+180>>2]=0;c[b+128>>2]=c[f+0>>2];c[b+132>>2]=c[f+4>>2];c[b+136>>2]=c[f+8>>2];c[b+140>>2]=c[f+12>>2];s=+g[b+128>>2];t=+g[b+132>>2];n=+g[b+136>>2];if(s*s+t*t+n*n>0.0){v=-s;m=-t;u=-n}else{v=1.0;m=0.0;u=0.0}g[b+164>>2]=0.0;c[b+364>>2]=3;c[b+148>>2]=b+316;c[b+180>>2]=1;HD(b,v,m,u,b+316|0);g[b+164>>2]=1.0;e=(c[b+148>>2]|0)+16|0;c[b+128>>2]=c[e+0>>2];c[b+132>>2]=c[e+4>>2];c[b+136>>2]=c[e+8>>2];c[b+140>>2]=c[e+12>>2];c[h+72>>2]=c[e+0>>2];c[h+76>>2]=c[e+4>>2];c[h+80>>2]=c[e+8>>2];c[h+84>>2]=c[e+12>>2];c[h+56>>2]=c[e+0>>2];c[h+60>>2]=c[e+4>>2];c[h+64>>2]=c[e+8>>2];c[h+68>>2]=c[e+12>>2];c[h+40>>2]=c[e+0>>2];c[h+44>>2]=c[e+4>>2];c[h+48>>2]=c[e+8>>2];c[h+52>>2]=c[e+12>>2];c[h+24>>2]=c[e+0>>2];c[h+28>>2]=c[e+4>>2];c[h+32>>2]=c[e+8>>2];c[h+36>>2]=c[e+12>>2];m=0.0;e=1;f=1;A=s*s+t*t+n*n;a:while(1){l=c[b+368>>2]|0;u=+g[b+128>>2];t=+g[b+132>>2];s=+g[b+136>>2];n=+Q(+(u*u+t*t+s*s));if(n<9999999747378752.0e-20){k=5;break}g[b+(l*36|0)+(c[b+(l*36|0)+180>>2]<<2)+164>>2]=0.0;o=(c[b+364>>2]|0)+ -1|0;c[b+364>>2]=o;c[b+(l*36|0)+(c[b+(l*36|0)+180>>2]<<2)+148>>2]=c[b+(o<<2)+348>>2];o=c[b+(l*36|0)+180>>2]|0;c[b+(l*36|0)+180>>2]=o+1;HD(b,-u,-t,-s,c[b+(l*36|0)+(o<<2)+148>>2]|0);o=c[b+(l*36|0)+180>>2]|0;q=c[b+(l*36|0)+(o+ -1<<2)+148>>2]|0;s=+g[q+16>>2];u=+g[q+20>>2];t=+g[q+24>>2];p=0;do{v=s- +g[h+24+(p<<4)>>2];w=u- +g[h+24+(p<<4)+4>>2];x=t- +g[h+24+(p<<4)+8>>2];p=p+1|0;if(v*v+w*w+x*x<9999999747378752.0e-20){k=9;break a}}while(p>>>0<4);z=h+24+(e<<4)|0;c[z+0>>2]=c[q+16>>2];c[z+4>>2]=c[q+20>>2];c[z+8>>2]=c[q+24>>2];c[z+12>>2]=c[q+28>>2];x=(+g[b+128>>2]*s+ +g[b+132>>2]*u+ +g[b+136>>2]*t)/n;m=x>m?x:m;if(n-m-n*9999999747378752.0e-20<=0.0){k=11;break}c[h>>2]=0;if((o|0)==4){q=c[b+(l*36|0)+148>>2]|0;r=c[b+(l*36|0)+152>>2]|0;p=c[b+(l*36|0)+156>>2]|0;o=c[b+(l*36|0)+160>>2]|0;c[h+152>>2]=q+16;c[h+156>>2]=r+16;c[h+160>>2]=p+16;c[h+164>>2]=o+16;u=+g[q+16>>2];v=+g[o+16>>2];s=+g[q+20>>2];w=+g[o+20>>2];t=+g[q+24>>2];x=+g[o+24>>2];g[h+104>>2]=u-v;g[h+108>>2]=s-w;g[h+112>>2]=t-x;g[h+116>>2]=0.0;C=+g[r+16>>2];E=+g[r+20>>2];A=+g[r+24>>2];g[h+120>>2]=C-v;g[h+124>>2]=E-w;g[h+128>>2]=A-x;g[h+132>>2]=0.0;B=+g[p+16>>2];F=+g[p+20>>2];D=+g[p+24>>2];g[h+136>>2]=B-v;g[h+140>>2]=F-w;g[h+144>>2]=D-x;g[h+148>>2]=0.0;n=(s-w)*(A-x)*(B-v)+(t-x)*(C-v)*(F-w)-(F-w)*(A-x)*(u-v)-(s-w)*(C-v)*(D-x)+(D-x)*(u-v)*(E-w)-(B-v)*(t-x)*(E-w);if(!(!(n*(t*((C-B)*(s-E)-(E-F)*(u-C))+(u*((E-F)*(t-A)-(A-D)*(s-E))+s*((A-D)*(u-C)-(C-B)*(t-A))))<=0.0)|(n!=n|0.0!=0.0|n==0.0))){c[h+92>>2]=0;c[h+96>>2]=0;c[h+100>>2]=0;c[h+88>>2]=0;s=s-w;t=t-x;u=u-v;y=0;A=-1.0;while(1){z=c[19552+(y<<2)>>2]|0;D=+g[h+104+(z<<4)+8>>2];E=+g[h+104+(z<<4)+4>>2];F=+g[h+104+(z<<4)>>2];if(n*((s*D-t*E)*v+w*(t*F-D*u)+(E*u-s*F)*x)>0.0?(j=+LD(c[h+152+(y<<2)>>2]|0,c[h+152+(z<<2)>>2]|0,o+16|0,h+92|0,h+88|0),A<0.0|j>2]|0;c[h>>2]=((G&2|0)==0?0:1<>2]=+g[h+92>>2];g[h+8+(z<<2)>>2]=+g[h+96>>2];g[h+8+(c[19552+(z<<2)>>2]<<2)>>2]=0.0;g[h+20>>2]=+g[h+100>>2];A=j}y=y+1|0;if((y|0)==3)break;s=+g[h+104+(y<<4)+4>>2];t=+g[h+104+(y<<4)+8>>2];u=+g[h+104+(y<<4)>>2];v=+g[o+16>>2];w=+g[o+20>>2];x=+g[o+24>>2]}if(A<0.0){c[h>>2]=15;A=+g[p+20>>2];s=+g[r+24>>2];E=+g[o+16>>2];w=+g[p+24>>2];t=+g[r+16>>2];v=+g[o+20>>2];B=+g[p+16>>2];C=+g[o+24>>2];u=+g[r+20>>2];g[h+8>>2]=(A*s*E+w*t*v-v*s*B-A*t*C+C*B*u-E*w*u)/n;x=+g[q+20>>2];F=+g[q+24>>2];D=+g[q+16>>2];g[h+12>>2]=(x*w*E+F*B*v-v*w*D-x*B*C+C*D*A-E*F*A)/n;g[h+16>>2]=(u*F*E+s*D*v-v*F*t-u*D*C+C*t*x-E*s*x)/n;g[h+20>>2]=1.0-((u*F*E+s*D*v-v*F*t-u*D*C+C*t*x-E*s*x)/n+((A*s*E+w*t*v-v*s*B-A*t*C+C*B*u-E*w*u)/n+(x*w*E+F*B*v-v*w*D-x*B*C+C*D*A-E*F*A)/n));A=0.0}}else A=-1.0}else if((o|0)==3)A=+LD((c[b+(l*36|0)+148>>2]|0)+16|0,(c[b+(l*36|0)+152>>2]|0)+16|0,(c[b+(l*36|0)+156>>2]|0)+16|0,h+8|0,h);else if((o|0)==2)A=+KD((c[b+(l*36|0)+148>>2]|0)+16|0,(c[b+(l*36|0)+152>>2]|0)+16|0,h+8|0,h);if(!(A>=0.0)){k=32;break}c[b+((1-l|0)*36|0)+180>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+368>>2]=1-l;y=c[b+(l*36|0)+180>>2]|0;o=c[h>>2]|0;if((y|0)!=0){r=0;do{q=b+(l*36|0)+(r<<2)+148|0;p=c[q>>2]|0;if((o&1<>2]|0;c[b+364>>2]=G+1;c[b+(G<<2)+348>>2]=p}else{c[b+((1-l|0)*36|0)+(c[b+((1-l|0)*36|0)+180>>2]<<2)+148>>2]=p;D=+g[h+8+(r<<2)>>2];G=c[b+((1-l|0)*36|0)+180>>2]|0;c[b+((1-l|0)*36|0)+180>>2]=G+1;g[b+((1-l|0)*36|0)+(G<<2)+164>>2]=D;G=c[q>>2]|0;E=D*+g[G+20>>2];F=D*+g[G+24>>2];g[b+128>>2]=+g[G+16>>2]*D+ +g[b+128>>2];g[b+132>>2]=E+ +g[b+132>>2];g[b+136>>2]=F+ +g[b+136>>2]}r=r+1|0}while((r|0)!=(y|0))}if((o|0)==15)c[b+376>>2]=1;if(!(f>>>0<128)){k=34;break}if((c[b+376>>2]|0)!=0)break;e=e+1&3;f=f+1|0}if((k|0)==5)c[b+376>>2]=1;else if((k|0)==9){G=c[b+368>>2]|0;z=(c[b+(G*36|0)+180>>2]|0)+ -1|0;c[b+(G*36|0)+180>>2]=z;z=c[b+(G*36|0)+(z<<2)+148>>2]|0;G=c[b+364>>2]|0;c[b+364>>2]=G+1;c[b+(G<<2)+348>>2]=z}else if((k|0)==11){G=c[b+368>>2]|0;z=(c[b+(G*36|0)+180>>2]|0)+ -1|0;c[b+(G*36|0)+180>>2]=z;z=c[b+(G*36|0)+(z<<2)+148>>2]|0;G=c[b+364>>2]|0;c[b+364>>2]=G+1;c[b+(G<<2)+348>>2]=z}else if((k|0)==32){G=c[b+368>>2]|0;z=(c[b+(G*36|0)+180>>2]|0)+ -1|0;c[b+(G*36|0)+180>>2]=z;z=c[b+(G*36|0)+(z<<2)+148>>2]|0;G=c[b+364>>2]|0;c[b+364>>2]=G+1;c[b+(G<<2)+348>>2]=z}else if((k|0)==34)c[b+376>>2]=2;c[b+372>>2]=b+((c[b+368>>2]|0)*36|0)+148;k=c[b+376>>2]|0;if((k|0)==1){g[b+144>>2]=0.0;i=h;return k|0}else if((k|0)==0){D=+g[b+128>>2];E=+g[b+132>>2];F=+g[b+136>>2];g[b+144>>2]=+Q(+(D*D+E*E+F*F));i=h;return k|0}else{i=h;return k|0}return 0}function FD(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.0,p=0.0,q=0.0,r=0;b=i;i=i+32|0;d=c[a+372>>2]|0;m=c[d+32>>2]|0;a:do if((m|0)==2){n=c[d+4>>2]|0;d=c[d>>2]|0;h=+g[n+16>>2]- +g[d+16>>2];e=+g[n+20>>2]- +g[d+20>>2];f=+g[n+24>>2]- +g[d+24>>2];d=0;while(1){n=b+(d<<2)|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g[n>>2]=1.0;j=+g[b+8>>2];k=+g[b+4>>2];l=+g[b>>2];if((e*j-f*k)*(e*j-f*k)+(f*l-h*j)*(f*l-h*j)+(h*k-e*l)*(h*k-e*l)>0.0){m=c[a+372>>2]|0;g[m+(c[m+32>>2]<<2)+16>>2]=0.0;n=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=n;c[m+(c[m+32>>2]<<2)>>2]=c[a+(n<<2)+348>>2];n=c[m+32>>2]|0;c[m+32>>2]=n+1;HD(a,e*j-f*k,f*l-h*j,h*k-e*l,c[m+(n<<2)>>2]|0);if(FD(a)|0){d=1;a=19;break}m=c[a+372>>2]|0;n=(c[m+32>>2]|0)+ -1|0;c[m+32>>2]=n;n=c[m+(n<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+(m<<2)+348>>2]=n;m=c[a+372>>2]|0;g[m+(c[m+32>>2]<<2)+16>>2]=0.0;n=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=n;c[m+(c[m+32>>2]<<2)>>2]=c[a+(n<<2)+348>>2];n=c[m+32>>2]|0;c[m+32>>2]=n+1;HD(a,-(e*j-f*k),-(f*l-h*j),-(h*k-e*l),c[m+(n<<2)>>2]|0);if(FD(a)|0){d=1;a=19;break}n=c[a+372>>2]|0;m=(c[n+32>>2]|0)+ -1|0;c[n+32>>2]=m;m=c[n+(m<<2)>>2]|0;n=c[a+364>>2]|0;c[a+364>>2]=n+1;c[a+(n<<2)+348>>2]=m}d=d+1|0;if(!(d>>>0<3))break a}if((a|0)==19){i=b;return d|0}}else if((m|0)==4){n=c[d>>2]|0;m=c[d+12>>2]|0;l=+g[m+16>>2];q=+g[n+16>>2]-l;o=+g[m+20>>2];e=+g[n+20>>2]-o;h=+g[m+24>>2];j=+g[n+24>>2]-h;n=c[d+4>>2]|0;f=+g[n+16>>2]-l;k=+g[n+20>>2]-o;p=+g[n+24>>2]-h;n=c[d+8>>2]|0;l=+g[n+16>>2]-l;o=+g[n+20>>2]-o;h=+g[n+24>>2]-h;if(!((0.0!=0.0?1:q*k*h+(e*p*l+j*f*o-q*p*o-e*f*h)-j*k*l!=q*k*h+(e*p*l+j*f*o-q*p*o-e*f*h)-j*k*l)|q*k*h+(e*p*l+j*f*o-q*p*o-e*f*h)-j*k*l==0.0)){n=1;i=b;return n|0}}else if((m|0)==3){n=c[d+4>>2]|0;m=c[d>>2]|0;f=+g[m+16>>2];e=+g[n+16>>2]-f;l=+g[m+20>>2];h=+g[n+20>>2]-l;j=+g[m+24>>2];k=+g[n+24>>2]-j;n=c[d+8>>2]|0;f=+g[n+16>>2]-f;l=+g[n+20>>2]-l;j=+g[n+24>>2]-j;if((h*j-k*l)*(h*j-k*l)+(k*f-e*j)*(k*f-e*j)+(e*l-h*f)*(e*l-h*f)>0.0){g[d+28>>2]=0.0;n=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=n;c[d+(c[d+32>>2]<<2)>>2]=c[a+(n<<2)+348>>2];n=c[d+32>>2]|0;c[d+32>>2]=n+1;HD(a,h*j-k*l,k*f-e*j,e*l-h*f,c[d+(n<<2)>>2]|0);if(FD(a)|0){n=1;i=b;return n|0}m=c[a+372>>2]|0;n=(c[m+32>>2]|0)+ -1|0;c[m+32>>2]=n;n=c[m+(n<<2)>>2]|0;m=c[a+364>>2]|0;c[a+364>>2]=m+1;c[a+(m<<2)+348>>2]=n;m=c[a+372>>2]|0;g[m+(c[m+32>>2]<<2)+16>>2]=0.0;n=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=n;c[m+(c[m+32>>2]<<2)>>2]=c[a+(n<<2)+348>>2];n=c[m+32>>2]|0;c[m+32>>2]=n+1;HD(a,-(h*j-k*l),-(k*f-e*j),-(e*l-h*f),c[m+(n<<2)>>2]|0);if(FD(a)|0){n=1;i=b;return n|0}else{n=c[a+372>>2]|0;m=(c[n+32>>2]|0)+ -1|0;c[n+32>>2]=m;m=c[n+(m<<2)>>2]|0;n=c[a+364>>2]|0;c[a+364>>2]=n+1;c[a+(n<<2)+348>>2]=m;break}}}else if((m|0)==1){n=1;m=0;while(1){r=b+16+(m<<2)|0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[r>>2]=1.0;r=d+32|0;g[d+(n<<2)+16>>2]=0.0;n=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=n;c[d+(c[r>>2]<<2)>>2]=c[a+(n<<2)+348>>2];n=c[r>>2]|0;c[r>>2]=n+1;e=+g[b+16>>2];f=+g[b+20>>2];h=+g[b+24>>2];HD(a,e,f,h,c[d+(n<<2)>>2]|0);if(FD(a)|0){d=1;a=19;break}n=c[a+372>>2]|0;r=(c[n+32>>2]|0)+ -1|0;c[n+32>>2]=r;r=c[n+(r<<2)>>2]|0;n=c[a+364>>2]|0;c[a+364>>2]=n+1;c[a+(n<<2)+348>>2]=r;n=c[a+372>>2]|0;g[n+(c[n+32>>2]<<2)+16>>2]=0.0;r=(c[a+364>>2]|0)+ -1|0;c[a+364>>2]=r;c[n+(c[n+32>>2]<<2)>>2]=c[a+(r<<2)+348>>2];r=c[n+32>>2]|0;c[n+32>>2]=r+1;HD(a,-e,-f,-h,c[n+(r<<2)>>2]|0);if(FD(a)|0){d=1;a=19;break}r=c[a+372>>2]|0;n=(c[r+32>>2]|0)+ -1|0;c[r+32>>2]=n;n=c[r+(n<<2)>>2]|0;r=c[a+364>>2]|0;c[a+364>>2]=r+1;c[a+(r<<2)+348>>2]=n;m=m+1|0;if(!(m>>>0<3))break a;d=c[a+372>>2]|0;n=c[d+32>>2]|0}if((a|0)==19){i=b;return d|0}}while(0);r=0;i=b;return r|0}function GD(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;k=i;j=c[b+9288>>2]|0;if((j|0)==0){c[b>>2]=5;s=0;i=k;return s|0}s=c[j+48>>2]|0;if((s|0)!=0)c[s+44>>2]=c[j+44>>2];s=c[j+44>>2]|0;if((s|0)!=0)c[s+48>>2]=c[j+48>>2];if((c[b+9288>>2]|0)==(j|0))c[b+9288>>2]=c[j+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+ -1;c[j+44>>2]=0;c[j+48>>2]=c[b+9280>>2];s=c[b+9280>>2]|0;if((s|0)!=0)c[s+44>>2]=j;c[b+9280>>2]=j;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[j+55>>0]=0;c[j+20>>2]=d;c[j+24>>2]=e;c[j+28>>2]=f;p=+g[d+16>>2];n=+g[e+16>>2]-p;r=+g[d+20>>2];q=+g[e+20>>2]-r;m=+g[d+24>>2];l=+g[e+24>>2]-m;p=+g[f+16>>2]-p;r=+g[f+20>>2]-r;m=+g[f+24>>2]-m;g[j>>2]=q*m-l*r;g[j+4>>2]=l*p-n*m;g[j+8>>2]=n*r-q*p;g[j+12>>2]=0.0;o=+Q(+((q*m-l*r)*(q*m-l*r)+(l*p-n*m)*(l*p-n*m)+(n*r-q*p)*(n*r-q*p)));do if(o>9999999747378752.0e-20){if((!(JD(q*m-l*r,l*p-n*m,n*r-q*p,+g[d+16>>2],+g[d+20>>2],+g[d+24>>2],+g[e+16>>2],+g[e+20>>2],+g[e+24>>2],j+16|0)|0)?!(JD(+g[j>>2],+g[j+4>>2],+g[j+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],j+16|0)|0):0)?!(JD(+g[j>>2],+g[j+4>>2],+g[j+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],j+16|0)|0):0)g[j+16>>2]=(+g[d+16>>2]*+g[j>>2]+ +g[d+20>>2]*+g[j+4>>2]+ +g[d+24>>2]*+g[j+8>>2])/o;g[j>>2]=1.0/o*+g[j>>2];g[j+4>>2]=1.0/o*+g[j+4>>2];g[j+8>>2]=1.0/o*+g[j+8>>2];if(h){s=j;i=k;return s|0}if(!(+g[j+16>>2]>=-9999999747378752.0e-21)){c[b>>2]=3;break}else{s=j;i=k;return s|0}}else c[b>>2]=2;while(0);h=c[j+48>>2]|0;if((h|0)!=0)c[h+44>>2]=c[j+44>>2];h=c[j+44>>2]|0;if((h|0)!=0)c[h+48>>2]=c[j+48>>2];if((c[b+9280>>2]|0)==(j|0))c[b+9280>>2]=c[j+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+ -1;c[j+44>>2]=0;c[j+48>>2]=c[b+9288>>2];h=c[b+9288>>2]|0;if((h|0)!=0)c[h+44>>2]=j;c[b+9288>>2]=j;c[b+9292>>2]=(c[b+9292>>2]|0)+1;s=0;i=k;return s|0}function HD(a,b,e,f,h){a=a|0;b=+b;e=+e;f=+f;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0;j=i;i=i+48|0;n=1.0/+Q(+(b*b+e*e+f*f));g[h>>2]=n*b;g[h+4>>2]=n*e;g[h+8>>2]=n*f;g[h+12>>2]=0.0;l=d[a+120>>0]|d[a+121>>0]<<8|d[a+122>>0]<<16|d[a+123>>0]<<24;m=d[a+124>>0]|d[a+125>>0]<<8|d[a+126>>0]<<16|d[a+127>>0]<<24;k=(c[a>>2]|0)+(m>>1)|0;if((m&1|0)!=0)l=c[(c[k>>2]|0)+l>>2]|0;rc[l&127](j,k,h);e=-+g[h>>2];f=-+g[h+4>>2];b=-+g[h+8>>2];l=d[a+120>>0]|d[a+121>>0]<<8|d[a+122>>0]<<16|d[a+123>>0]<<24;m=d[a+124>>0]|d[a+125>>0]<<8|d[a+126>>0]<<16|d[a+127>>0]<<24;k=(c[a+4>>2]|0)+(m>>1)|0;if((m&1|0)!=0)l=c[(c[k>>2]|0)+l>>2]|0;n=+g[a+24>>2]*e+ +g[a+28>>2]*f+ +g[a+32>>2]*b;o=+g[a+40>>2]*e+ +g[a+44>>2]*f+ +g[a+48>>2]*b;g[j+16>>2]=+g[a+8>>2]*e+ +g[a+12>>2]*f+ +g[a+16>>2]*b;g[j+20>>2]=n;g[j+24>>2]=o;g[j+28>>2]=0.0;rc[l&127](j+32|0,k,j+16|0);o=+g[j+32>>2];e=+g[j+36>>2];f=+g[j+40>>2];b=+g[j+4>>2]-(o*+g[a+72>>2]+e*+g[a+76>>2]+f*+g[a+80>>2]+ +g[a+108>>2]);n=+g[j+8>>2]-(o*+g[a+88>>2]+e*+g[a+92>>2]+f*+g[a+96>>2]+ +g[a+112>>2]);g[h+16>>2]=+g[j>>2]-(o*+g[a+56>>2]+e*+g[a+60>>2]+f*+g[a+64>>2]+ +g[a+104>>2]);g[h+20>>2]=b;g[h+24>>2]=n;g[h+28>>2]=0.0;i=j;return}function ID(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0;l=i;if((d[h+55>>0]|0|0)==(e|0)){j=0;i=l;return j|0}m=c[19552+(j<<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]<-9999999747378752.0e-21){b=GD(b,c[h+(m<<2)+20>>2]|0,c[h+(j<<2)+20>>2]|0,f,0)|0;if((b|0)==0){j=0;i=l;return j|0}a[b+52>>0]=j;c[b+32>>2]=h;a[h+j+52>>0]=0;c[h+(j<<2)+32>>2]=b;h=c[k>>2]|0;if((h|0)==0)c[k+4>>2]=b;else{a[h+53>>0]=2;c[h+36>>2]=b;a[b+54>>0]=1;c[b+40>>2]=h}c[k>>2]=b;c[k+8>>2]=(c[k+8>>2]|0)+1;j=1;i=l;return j|0}j=c[19536+(j<<2)>>2]|0;a[h+55>>0]=e;if(!(ID(b,e,f,c[h+(m<<2)+32>>2]|0,d[h+m+52>>0]|0,k)|0)){j=0;i=l;return j|0}if(!(ID(b,e,f,c[h+(j<<2)+32>>2]|0,d[h+j+52>>0]|0,k)|0)){j=0;i=l;return j|0}k=c[h+48>>2]|0;if((k|0)!=0)c[k+44>>2]=c[h+44>>2];k=c[h+44>>2]|0;if((k|0)!=0)c[k+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];k=c[b+9288>>2]|0;if((k|0)!=0)c[k+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;j=1;i=l;return j|0}function JD(a,b,c,d,e,f,h,j,k,l){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;j=+j;k=+k;l=l|0;var m=0;m=i;if(!(((h-d)*b-(j-e)*a)*f+(((j-e)*c-(k-f)*b)*d+((k-f)*a-(h-d)*c)*e)<0.0)){l=0;i=m;return l|0}if((h-d)*d+(j-e)*e+(k-f)*f>0.0){g[l>>2]=+Q(+(d*d+e*e+f*f));l=1;i=m;return l|0}if((h-d)*h+(j-e)*j+(k-f)*k<0.0){g[l>>2]=+Q(+(h*h+j*j+k*k));l=1;i=m;return l|0}else{b=((h*h+j*j+k*k)*(d*d+e*e+f*f)-(h*d+j*e+k*f)*(h*d+j*e+k*f))/((h-d)*(h-d)+(j-e)*(j-e)+(k-f)*(k-f));g[l>>2]=+Q(+(b>0.0?b:0.0));l=1;i=m;return l|0}return 0}function KD(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,l=0.0,m=0.0,n=0.0;k=i;l=+g[a>>2];f=+g[b>>2]-l;m=+g[a+4>>2];h=+g[b+4>>2]-m;n=+g[a+8>>2];j=+g[b+8>>2]-n;if(!(f*f+h*h+j*j>0.0)){n=-1.0;i=k;return+n}l=-(l*f+m*h+n*j)/(f*f+h*h+j*j);if(l>=1.0){g[d>>2]=0.0;g[d+4>>2]=1.0;c[e>>2]=2;l=+g[b>>2];m=+g[b+4>>2];n=+g[b+8>>2];n=l*l+m*m+n*n;i=k;return+n}if(!(l<=0.0)){g[d+4>>2]=l;g[d>>2]=1.0-l;c[e>>2]=3;f=f*l+ +g[a>>2];m=h*l+ +g[a+4>>2];n=j*l+ +g[a+8>>2];n=f*f+m*m+n*n;i=k;return+n}else{g[d>>2]=1.0;g[d+4>>2]=0.0;c[e>>2]=1;l=+g[a>>2];m=+g[a+4>>2];n=+g[a+8>>2];n=l*l+m*m+n*n;i=k;return+n}return 0.0}function LD(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,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,F=0.0;u=i;i=i+80|0;c[u+64>>2]=a;c[u+68>>2]=b;c[u+72>>2]=d;r=+g[a>>2];l=+g[b>>2];s=+g[a+4>>2];n=+g[b+4>>2];t=+g[a+8>>2];p=+g[b+8>>2];g[u+16>>2]=r-l;g[u+20>>2]=s-n;g[u+24>>2]=t-p;g[u+28>>2]=0.0;m=+g[d>>2];o=+g[d+4>>2];q=+g[d+8>>2];g[u+32>>2]=l-m;g[u+36>>2]=n-o;g[u+40>>2]=p-q;g[u+44>>2]=0.0;g[u+48>>2]=m-r;g[u+52>>2]=o-s;g[u+56>>2]=q-t;g[u+60>>2]=0.0;j=(s-n)*(p-q)-(t-p)*(n-o);k=(t-p)*(l-m)-(p-q)*(r-l);h=(n-o)*(r-l)-(s-n)*(l-m);if(!(h*h+(j*j+k*k)>0.0)){F=-1.0;i=u;return+F}c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;B=s-n;D=t-p;C=r-l;x=r;y=s;A=t;z=a;E=0;F=-1.0;while(1){if(x*(h*B-k*D)+y*(j*D-h*C)+(k*C-j*B)*A>0.0?(v=c[19552+(E<<2)>>2]|0,w=+KD(z,c[u+64+(v<<2)>>2]|0,u,u+8|0),F<0.0|w>2]|0;c[f>>2]=((z&1|0)==0?0:1<>2]=+g[u>>2];g[e+(v<<2)>>2]=+g[u+4>>2];g[e+(c[19552+(v<<2)>>2]<<2)>>2]=0.0;F=w}E=E+1|0;if((E|0)==3)break;z=c[u+64+(E<<2)>>2]|0;B=+g[u+16+(E<<4)+4>>2];D=+g[u+16+(E<<4)+8>>2];C=+g[u+16+(E<<4)>>2];x=+g[z>>2];y=+g[z+4>>2];A=+g[z+8>>2]}if(!(F<0.0)){i=u;return+F}C=+Q(+(h*h+(j*j+k*k)));F=(j*+g[a>>2]+k*+g[a+4>>2]+h*+g[a+8>>2])/(h*h+(j*j+k*k));c[f>>2]=7;A=+g[b>>2]-j*F;y=+g[b+4>>2]-k*F;D=+g[b+8>>2]-h*F;D=+Q(+((y*(l-m)-A*(n-o))*(y*(l-m)-A*(n-o))+(((n-o)*D-y*(p-q))*((n-o)*D-y*(p-q))+(A*(p-q)-D*(l-m))*(A*(p-q)-D*(l-m)))))/C;g[e>>2]=D;A=+g[d>>2]-j*F;y=+g[d+4>>2]-k*F;B=+g[d+8>>2]-h*F;C=+Q(+((y*(m-r)-A*(o-s))*(y*(m-r)-A*(o-s))+(((o-s)*B-y*(q-t))*((o-s)*B-y*(q-t))+(A*(q-t)-B*(m-r))*(A*(q-t)-B*(m-r)))))/C;g[e+4>>2]=C;g[e+8>>2]=1.0-(C+D);F=h*F*h*F+(j*F*j*F+k*F*k*F);i=u;return+F}function MD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=c[b+12>>2]|0;d=c[b+32>>2]|0;if((d|0)>=(f|0)){i=e;return}if((d|0)<=(f|0)){if((c[b+36>>2]|0)<(f|0)){if((f|0)==0){g=0;j=d}else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}j=c[b+32>>2]|0}if((j|0)>0){h=0;do{k=g+(h<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[b+40>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[b+40>>2]|0;if((h|0)!=0){if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=g;c[b+36>>2]=f}else g=c[b+40>>2]|0;h=d;do{j=g+(h<<2)|0;if((j|0)!=0)c[j>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+32>>2]=f;g=c[b+52>>2]|0;if((g|0)<(f|0)){if((c[b+56>>2]|0)<(f|0)){if((f|0)==0){h=0;j=g}else{c[5004]=(c[5004]|0)+1;h=XE((f<<2|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+52>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<2)|0;if((l|0)!=0)c[l>>2]=c[(c[b+60>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+60>>2]|0;if((j|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=h;c[b+56>>2]=f}else h=c[b+60>>2]|0;do{j=h+(g<<2)|0;if((j|0)!=0)c[j>>2]=0;g=g+1|0}while((g|0)!=(f|0))}c[b+52>>2]=f;if((f|0)>0){$E(c[b+40>>2]|0,-1,f<<2|0)|0;$E(c[b+60>>2]|0,-1,f<<2|0)|0}if((d|0)<=0){i=e;return}h=c[b+16>>2]|0;g=c[b+40>>2]|0;f=c[b+60>>2]|0;j=0;do{l=c[h+(j*12|0)+4>>2]<<16|c[h+(j*12|0)>>2];l=(l+~(l<<15)>>10^l+~(l<<15))*9|0;l=g+((((l>>6^l)+~((l>>6^l)<<11)>>16^(l>>6^l)+~((l>>6^l)<<11))&(c[b+12>>2]|0)+ -1)<<2)|0;c[f+(j<<2)>>2]=c[l>>2];c[l>>2]=j;j=j+1|0}while((j|0)!=(d|0));i=e;return}function ND(a){a=a|0;var b=0;b=i;OD(a);YE(a);i=b;return}function OD(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=19600;e=c[b+60>>2]|0;if((e|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+40>>2]|0;if((e|0)!=0){if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}function PD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=c[b+16>>2]|0;if((e|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+40>>2]|0;if((e|0)!=0){if((a[b+44>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+60>>2]|0;if((e|0)!=0){if((a[b+64>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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){MD(b);i=d;return}c[5004]=(c[5004]|0)+1;e=XE(43)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}f=c[b+8>>2]|0;if((f|0)>0){h=0;do{g=e+(h*12|0)|0;if((g|0)!=0){j=(c[b+16>>2]|0)+(h*12|0)|0;c[g+0>>2]=c[j+0>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2]}h=h+1|0}while((h|0)!=(f|0))}f=c[b+16>>2]|0;if((f|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=2;MD(b);i=d;return}function QD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;c[4892]=(c[4892]|0)+1;k=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;g=c[a+40>>2]|0;k=g+(((c[a+12>>2]|0)+ -1&((k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11)))<<2)|0;l=c[k>>2]|0;if((l|0)==-1){o=0;i=e;return o|0}h=c[a+16>>2]|0;j=l;while(1){if((c[h+(j*12|0)>>2]|0)==(b|0)?(c[h+(j*12|0)+4>>2]|0)==(d|0):0)break;j=c[(c[a+60>>2]|0)+(j<<2)>>2]|0;if((j|0)==-1){a=0;f=22;break}}if((f|0)==22){i=e;return a|0}if((h+(j*12|0)|0)==0){o=0;i=e;return o|0}b=c[h+(j*12|0)+8>>2]|0;j=(j*12|0)/12|0;d=c[a+60>>2]|0;if((l|0)!=(j|0)){while(1){m=d+(l<<2)|0;n=c[m>>2]|0;if((n|0)==(j|0))break;else l=n}n=c[d+(j<<2)>>2]|0;if((l|0)==-1)f=12;else c[m>>2]=n}else{n=c[d+(l<<2)>>2]|0;f=12}if((f|0)==12)c[k>>2]=n;l=(c[a+8>>2]|0)+ -1|0;if((l|0)==(j|0)){c[a+8>>2]=j;o=b;i=e;return o|0}k=c[h+(l*12|0)+4>>2]<<16|c[h+(l*12|0)>>2];k=(k+~(k<<15)>>10^k+~(k<<15))*9|0;k=((k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11))&(c[a+12>>2]|0)+ -1;n=c[g+(k<<2)>>2]|0;if((n|0)!=(l|0)){while(1){m=d+(n<<2)|0;o=c[m>>2]|0;if((o|0)==(l|0))break;else n=o}d=c[d+(l<<2)>>2]|0;if((n|0)==-1)f=20;else c[m>>2]=d}else{d=c[d+(l<<2)>>2]|0;f=20}if((f|0)==20)c[g+(k<<2)>>2]=d;c[h+(j*12|0)+0>>2]=c[h+(l*12|0)+0>>2];c[h+(j*12|0)+4>>2]=c[h+(l*12|0)+4>>2];c[h+(j*12|0)+8>>2]=c[h+(l*12|0)+8>>2];o=(c[a+40>>2]|0)+(k<<2)|0;c[(c[a+60>>2]|0)+(j<<2)>>2]=c[o>>2];c[o>>2]=j;c[a+8>>2]=(c[a+8>>2]|0)+ -1;o=b;i=e;return o|0}function RD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;c[4894]=(c[4894]|0)+1;h=((e<<16|d)+~((e<<16|d)<<15)>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;h=(h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11);g=c[b+12>>2]|0;k=c[(c[b+40>>2]|0)+((g+ -1&h)<<2)>>2]|0;a:do if(!((k|0)==-1)){j=c[b+16>>2]|0;while(1){if((c[j+(k*12|0)>>2]|0)==(d|0)?(c[j+(k*12|0)+4>>2]|0)==(e|0):0)break;k=c[(c[b+60>>2]|0)+(k<<2)>>2]|0;if((k|0)==-1)break a}j=j+(k*12|0)|0;if((j|0)!=0){o=j;i=f;return o|0}}while(0);j=c[b+8>>2]|0;if((j|0)==(g|0)){k=(g|0)==0?1:g<<1;if((g|0)<(k|0)){if((k|0)==0){l=0;o=g}else{c[5004]=(c[5004]|0)+1;l=XE((k*12|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}o=c[b+8>>2]|0}if((o|0)>0){n=0;do{m=l+(n*12|0)|0;if((m|0)!=0){p=(c[b+16>>2]|0)+(n*12|0)|0;c[m+0>>2]=c[p+0>>2];c[m+4>>2]=c[p+4>>2];c[m+8>>2]=c[p+8>>2]}n=n+1|0}while((n|0)!=(o|0))}m=c[b+16>>2]|0;if((m|0)!=0){if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=l;c[b+12>>2]=k;l=c[b+8>>2]|0}else{l=g;k=g}}else{l=j;k=g}c[b+8>>2]=l+1;l=c[b+16>>2]|0;if((g|0)<(k|0)){MD(b);g=(c[b+12>>2]|0)+ -1&h}else g=g+ -1&h;if((l+(j*12|0)|0)==0)d=0;else{c[l+(j*12|0)>>2]=d;c[l+(j*12|0)+4>>2]=e;c[l+(j*12|0)+8>>2]=0;d=l+(j*12|0)|0}c[d+8>>2]=0;p=(c[b+40>>2]|0)+(g<<2)|0;c[(c[b+60>>2]|0)+(j<<2)>>2]=c[p>>2];c[p>>2]=j;p=d;i=f;return p|0}function SD(a){a=a|0;return c[a+16>>2]|0}function TD(a,b,c,d,e,f,h,j,k,l,m){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;j=+j;k=k|0;l=l|0;m=+m;var 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.0,y=0.0,z=0.0,A=0.0,B=0.0;p=i;o=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*j;n=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*j;r=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*j;q=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*j;s=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*j;t=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*j;u=+g[k+80>>2];if(o<0.0)u=-u;v=+g[k+84>>2];if(n<0.0)v=-v;w=+g[k+88>>2];if(r<0.0)w=-w;x=+g[l+80>>2];if(q<0.0)x=-x;y=+g[l+84>>2];if(s<0.0)y=-y;z=+g[l+88>>2];if(!(t<0.0)){A=z;z=o*u;v=n*v;v=z+v;z=r*w;z=v+z;x=q*x;y=s*y;y=x+y;x=t*A;x=y+x;a=k+96|0;y=+g[a>>2];a=z>y;y=a?z:y;a=l+96|0;z=+g[a>>2];a=x>z;z=a?x:z;z=y+z;y=c*f+d*h+e*j+z;z=z-(c*f+d*h+e*j);a=ym);i=p;return a|0}B=-z;A=o*u;z=n*v;z=A+z;A=r*w;A=z+A;x=q*x;z=s*y;z=x+z;y=t*B;y=z+y;a=k+96|0;z=+g[a>>2];a=A>z;z=a?A:z;a=l+96|0;A=+g[a>>2];a=y>A;A=a?y:A;A=z+A;z=c*f+d*h+e*j+A;A=A-(c*f+d*h+e*j);a=zm);i=p;return a|0}function UD(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,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=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,G=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,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0,da=0;l=i;i=i+64|0;a[l+48>>0]=1;c[l+44>>2]=0;c[l+36>>2]=0;c[l+40>>2]=0;m=c[f+4>>2]|0;if((m|0)>0){c[5004]=(c[5004]|0)+1;n=XE((m<<4|3)+16|0)|0;if((n|0)==0)u=0;else{c[(n+19&-16)+ -4>>2]=n;u=n+19&-16}a[l+48>>0]=1;c[l+44>>2]=u;c[l+40>>2]=m}else u=0;t=c[d+28>>2]|0;if((t|0)>0){n=c[d+36>>2]|0;G=+g[e>>2];N=+g[e+4>>2];O=+g[e+8>>2];E=+g[e+16>>2];D=+g[e+20>>2];C=+g[e+24>>2];B=+g[e+32>>2];A=+g[e+36>>2];z=+g[e+40>>2];V=+g[b>>2];U=+g[b+4>>2];Z=+g[b+8>>2];m=-1;T=3.4028234663852886e+38;v=0;while(1){S=+g[n+(v*36|0)+20>>2];Q=+g[n+(v*36|0)+24>>2];P=+g[n+(v*36|0)+28>>2];s=(S*G+Q*N+P*O)*V+(S*E+Q*D+P*C)*U+(S*B+Q*A+P*z)*Z=(t|0))break;else T=s?(S*G+Q*N+P*O)*V+(S*E+Q*D+P*C)*U+(S*B+Q*A+P*z)*Z:T}if((m|0)>=0){v=c[n+(m*36|0)+4>>2]|0;if((v|0)>0){w=n+(m*36|0)+12|0;s=n+(m*36|0)+20|0;u=n+(m*36|0)+24|0;t=n+(m*36|0)+28|0;P=E;Q=D;S=C;T=B;U=A;V=z;y=l+32|0;x=0;while(1){F=c[w>>2]|0;Y=c[F+(x<<2)>>2]|0;M=c[d+16>>2]|0;x=x+1|0;F=c[F+(((x|0)==(v|0)?0:x)<<2)>>2]|0;$=+g[M+(Y<<4)>>2];aa=$- +g[M+(F<<4)>>2];_=+g[M+(Y<<4)+4>>2];ba=_- +g[M+(F<<4)+4>>2];Z=+g[M+(Y<<4)+8>>2];C=Z- +g[M+(F<<4)+8>>2];B=aa*G+ba*N+C*O;A=aa*P+ba*Q+C*S;C=aa*T+ba*U+C*V;ba=+g[s>>2];aa=+g[u>>2];z=+g[t>>2];E=G*ba+N*aa+O*z;D=P*ba+Q*aa+S*z;z=T*ba+U*aa+V*z;G=($*G+_*N+Z*O+ +g[e+48>>2])*-(A*z-C*D)+($*P+_*Q+Z*S+ +g[e+52>>2])*-(C*E-B*z)+($*T+_*U+Z*V+ +g[e+56>>2])*-(B*D-A*E);F=f+4|0;M=c[F>>2]|0;if((M|0)>=2){L=f+12|0;W=c[L>>2]|0;aa=+g[W+(M+ -1<<4)>>2];ba=+g[W+(M+ -1<<4)+4>>2];Z=+g[W+(M+ -1<<4)+8>>2];J=y+4|0;H=y+8|0;K=y+12|0;I=y+16|0;T=aa;U=ba;V=Z;Z=aa*-(A*z-C*D)+ba*-(C*E-B*z)+Z*-(B*D-A*E)-G;R=0;while(1){O=+g[W+(R<<4)>>2];P=+g[W+(R<<4)+4>>2];Q=+g[W+(R<<4)+8>>2];S=+g[W+(R<<4)+12>>2];N=O*-(A*z-C*D)+P*-(C*E-B*z)+Q*-(B*D-A*E)-G;do if(Z<0.0)if(N<0.0){X=c[J>>2]|0;if((X|0)==(c[H>>2]|0)?(r=(X|0)==0?1:X<<1,(X|0)<(r|0)):0){if((r|0)==0)W=0;else{c[5004]=(c[5004]|0)+1;W=XE((r<<4|3)+16|0)|0;if((W|0)==0)W=0;else{c[(W+19&-16)+ -4>>2]=W;W=W+19&-16}X=c[J>>2]|0}if((X|0)>0){Y=0;do{ca=W+(Y<<4)|0;da=(c[K>>2]|0)+(Y<<4)|0;c[ca+0>>2]=c[da+0>>2];c[ca+4>>2]=c[da+4>>2];c[ca+8>>2]=c[da+8>>2];c[ca+12>>2]=c[da+12>>2];Y=Y+1|0}while((Y|0)!=(X|0))}X=c[K>>2]|0;if((X|0)!=0){if((a[I>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[X+ -4>>2]|0)}c[K>>2]=0}a[I>>0]=1;c[K>>2]=W;c[H>>2]=r;X=c[J>>2]|0}da=c[K>>2]|0;g[da+(X<<4)>>2]=O;g[da+(X<<4)+4>>2]=P;g[da+(X<<4)+8>>2]=Q;g[da+(X<<4)+12>>2]=S;c[J>>2]=(c[J>>2]|0)+1;break}else{ba=Z/(Z-N);S=T+(O-T)*ba;T=U+(P-U)*ba;U=V+(Q-V)*ba;Y=c[J>>2]|0;if((Y|0)==(c[H>>2]|0)?(p=(Y|0)==0?1:Y<<1,(Y|0)<(p|0)):0){if((p|0)==0)W=0;else{c[5004]=(c[5004]|0)+1;W=XE((p<<4|3)+16|0)|0;if((W|0)==0)W=0;else{c[(W+19&-16)+ -4>>2]=W;W=W+19&-16}Y=c[J>>2]|0}if((Y|0)>0){X=0;do{da=W+(X<<4)|0;ca=(c[K>>2]|0)+(X<<4)|0;c[da+0>>2]=c[ca+0>>2];c[da+4>>2]=c[ca+4>>2];c[da+8>>2]=c[ca+8>>2];c[da+12>>2]=c[ca+12>>2];X=X+1|0}while((X|0)!=(Y|0))}X=c[K>>2]|0;if((X|0)!=0){if((a[I>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[X+ -4>>2]|0)}c[K>>2]=0}a[I>>0]=1;c[K>>2]=W;c[H>>2]=p;Y=c[J>>2]|0}da=c[K>>2]|0;g[da+(Y<<4)>>2]=S;g[da+(Y<<4)+4>>2]=T;g[da+(Y<<4)+8>>2]=U;g[da+(Y<<4)+12>>2]=0.0;c[J>>2]=(c[J>>2]|0)+1;break}else if(N<0.0){ba=Z/(Z-N);T=T+(O-T)*ba;U=U+(P-U)*ba;V=V+(Q-V)*ba;X=c[J>>2]|0;if((X|0)==(c[H>>2]|0)?(o=(X|0)==0?1:X<<1,(X|0)<(o|0)):0){if((o|0)==0)W=0;else{c[5004]=(c[5004]|0)+1;W=XE((o<<4|3)+16|0)|0;if((W|0)==0)W=0;else{c[(W+19&-16)+ -4>>2]=W;W=W+19&-16}X=c[J>>2]|0}if((X|0)>0){Y=0;do{da=W+(Y<<4)|0;ca=(c[K>>2]|0)+(Y<<4)|0;c[da+0>>2]=c[ca+0>>2];c[da+4>>2]=c[ca+4>>2];c[da+8>>2]=c[ca+8>>2];c[da+12>>2]=c[ca+12>>2];Y=Y+1|0}while((Y|0)!=(X|0))}X=c[K>>2]|0;if((X|0)!=0){if((a[I>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[X+ -4>>2]|0)}c[K>>2]=0}a[I>>0]=1;c[K>>2]=W;c[H>>2]=o;X=c[J>>2]|0}da=c[K>>2]|0;g[da+(X<<4)>>2]=T;g[da+(X<<4)+4>>2]=U;g[da+(X<<4)+8>>2]=V;g[da+(X<<4)+12>>2]=0.0;X=(c[J>>2]|0)+1|0;c[J>>2]=X;if((X|0)==(c[H>>2]|0)?(q=(X|0)==0?1:X<<1,(X|0)<(q|0)):0){if((q|0)==0)W=0;else{c[5004]=(c[5004]|0)+1;W=XE((q<<4|3)+16|0)|0;if((W|0)==0)W=0;else{c[(W+19&-16)+ -4>>2]=W;W=W+19&-16}X=c[J>>2]|0}if((X|0)>0){Y=0;do{da=W+(Y<<4)|0;ca=(c[K>>2]|0)+(Y<<4)|0;c[da+0>>2]=c[ca+0>>2];c[da+4>>2]=c[ca+4>>2];c[da+8>>2]=c[ca+8>>2];c[da+12>>2]=c[ca+12>>2];Y=Y+1|0}while((Y|0)!=(X|0))}X=c[K>>2]|0;if((X|0)!=0){if((a[I>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[X+ -4>>2]|0)}c[K>>2]=0}a[I>>0]=1;c[K>>2]=W;c[H>>2]=q;X=c[J>>2]|0}da=c[K>>2]|0;g[da+(X<<4)>>2]=O;g[da+(X<<4)+4>>2]=P;g[da+(X<<4)+8>>2]=Q;g[da+(X<<4)+12>>2]=S;c[J>>2]=(c[J>>2]|0)+1}while(0);R=R+1|0;if((R|0)==(M|0))break;W=c[L>>2]|0;T=O;U=P;V=Q;Z=N}M=c[F>>2]|0}if((M|0)<0){K=f+8|0;H=f+12|0;if((c[K>>2]|0)<0){I=c[H>>2]|0;J=f+16|0;if((I|0)!=0){if((a[J>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[I+ -4>>2]|0)}c[H>>2]=0}a[J>>0]=1;c[H>>2]=0;c[K>>2]=0}do{da=(c[H>>2]|0)+(M<<4)|0;c[da+0>>2]=c[l+16>>2];c[da+4>>2]=c[l+20>>2];c[da+8>>2]=c[l+24>>2];c[da+12>>2]=c[l+28>>2];M=M+1|0}while((M|0)!=0)}c[F>>2]=0;G=+g[e>>2];N=+g[e+4>>2];O=+g[e+8>>2];E=+g[e+16>>2];D=+g[e+20>>2];C=+g[e+24>>2];B=+g[e+32>>2];A=+g[e+36>>2];z=+g[e+40>>2];if((x|0)>=(v|0)){f=y;o=e+48|0;d=e+52|0;e=e+56|0;break}else{da=y;P=E;Q=D;S=C;T=B;U=A;V=z;y=f;f=da}}}else{u=n+(m*36|0)+24|0;t=n+(m*36|0)+28|0;o=e+48|0;d=e+52|0;e=e+56|0;s=n+(m*36|0)+20|0}$=+g[s>>2];aa=+g[u>>2];ba=+g[t>>2];G=$*G+aa*N+ba*O;C=$*E+aa*D+ba*C;z=$*B+aa*A+ba*z;A=+g[n+(m*36|0)+32>>2]-(G*+g[o>>2]+C*+g[d>>2]+z*+g[e>>2]);m=f+4|0;d=c[m>>2]|0;if((d|0)>0){n=f+12|0;e=0;do{da=c[n>>2]|0;o=da+(e<<4)|0;B=A+(G*+g[o>>2]+C*+g[da+(e<<4)+4>>2]+z*+g[da+(e<<4)+8>>2]);B=!(B<=h)?B:h;if(B<=j){c[l+0>>2]=c[o+0>>2];c[l+4>>2]=c[o+4>>2];c[l+8>>2]=c[o+8>>2];c[l+12>>2]=c[o+12>>2];qc[c[(c[k>>2]|0)+16>>2]&15](k,b,l,B);d=c[m>>2]|0}e=e+1|0}while((e|0)<(d|0))}u=c[l+44>>2]|0}}if((u|0)==0){i=l;return}if((a[l+48>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[u+ -4>>2]|0)}c[l+44>>2]=0;i=l;return}function VD(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,v=0;n=i;i=i+80|0;f=Pb[c[(c[a>>2]|0)+28>>2]&127](a)|0;m=+g[a+4>>2];k=+g[a+8>>2];l=+g[a+12>>2];if((f|0)<=0){i=n;return}j=0;do{fc[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,j);o=c[n+64>>2]|0;do if((o|0)==1){o=c[n+60>>2]|0;if((o|0)==3){if((c[n+48>>2]|0)>0)o=0;else break;do{u=c[n+72>>2]|0;t=aa(c[n+68>>2]|0,o)|0;s=c[n+76>>2]|0;r=c[n+56>>2]|0;v=aa(e[u+t>>1]|0,r)|0;q=k*+h[s+(v+8)>>3];p=l*+h[s+(v+16)>>3];g[n>>2]=m*+h[s+v>>3];g[n+4>>2]=q;g[n+8>>2]=p;g[n+12>>2]=0.0;v=aa(e[u+(t+2)>>1]|0,r)|0;p=k*+h[s+(v+8)>>3];q=l*+h[s+(v+16)>>3];g[n+16>>2]=m*+h[s+v>>3];g[n+20>>2]=p;g[n+24>>2]=q;g[n+28>>2]=0.0;r=aa(e[u+(t+4)>>1]|0,r)|0;q=k*+h[s+(r+8)>>3];p=l*+h[s+(r+16)>>3];g[n+32>>2]=m*+h[s+r>>3];g[n+36>>2]=q;g[n+40>>2]=p;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else if((o|0)==5){if((c[n+48>>2]|0)>0)o=0;else break;do{s=c[n+72>>2]|0;t=aa(c[n+68>>2]|0,o)|0;u=c[n+76>>2]|0;v=c[n+56>>2]|0;r=aa(d[s+t>>0]|0,v)|0;p=k*+h[u+(r+8)>>3];q=l*+h[u+(r+16)>>3];g[n>>2]=m*+h[u+r>>3];g[n+4>>2]=p;g[n+8>>2]=q;g[n+12>>2]=0.0;r=aa(d[s+(t+1)>>0]|0,v)|0;q=k*+h[u+(r+8)>>3];p=l*+h[u+(r+16)>>3];g[n+16>>2]=m*+h[u+r>>3];g[n+20>>2]=q;g[n+24>>2]=p;g[n+28>>2]=0.0;v=aa(d[s+(t+2)>>0]|0,v)|0;p=k*+h[u+(v+8)>>3];q=l*+h[u+(v+16)>>3];g[n+32>>2]=m*+h[u+v>>3];g[n+36>>2]=p;g[n+40>>2]=q;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else if((o|0)==2){if((c[n+48>>2]|0)>0)o=0;else break;do{t=c[n+72>>2]|0;v=aa(c[n+68>>2]|0,o)|0;u=c[n+76>>2]|0;s=c[n+56>>2]|0;r=aa(s,c[t+v>>2]|0)|0;p=k*+h[u+(r+8)>>3];q=l*+h[u+(r+16)>>3];g[n>>2]=m*+h[u+r>>3];g[n+4>>2]=p;g[n+8>>2]=q;g[n+12>>2]=0.0;r=aa(s,c[t+(v+4)>>2]|0)|0;q=k*+h[u+(r+8)>>3];p=l*+h[u+(r+16)>>3];g[n+16>>2]=m*+h[u+r>>3];g[n+20>>2]=q;g[n+24>>2]=p;g[n+28>>2]=0.0;v=aa(s,c[t+(v+8)>>2]|0)|0;p=k*+h[u+(v+8)>>3];q=l*+h[u+(v+16)>>3];g[n+32>>2]=m*+h[u+v>>3];g[n+36>>2]=p;g[n+40>>2]=q;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else break}else if((o|0)==0){o=c[n+60>>2]|0;if((o|0)==5){if((c[n+48>>2]|0)>0)o=0;else break;do{s=c[n+72>>2]|0;t=aa(c[n+68>>2]|0,o)|0;u=c[n+76>>2]|0;v=c[n+56>>2]|0;r=aa(d[s+t>>0]|0,v)|0;p=k*+g[u+(r+4)>>2];q=l*+g[u+(r+8)>>2];g[n>>2]=m*+g[u+r>>2];g[n+4>>2]=p;g[n+8>>2]=q;g[n+12>>2]=0.0;r=aa(d[s+(t+1)>>0]|0,v)|0;q=k*+g[u+(r+4)>>2];p=l*+g[u+(r+8)>>2];g[n+16>>2]=m*+g[u+r>>2];g[n+20>>2]=q;g[n+24>>2]=p;g[n+28>>2]=0.0;v=aa(d[s+(t+2)>>0]|0,v)|0;p=k*+g[u+(v+4)>>2];q=l*+g[u+(v+8)>>2];g[n+32>>2]=m*+g[u+v>>2];g[n+36>>2]=p;g[n+40>>2]=q;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else if((o|0)==3){if((c[n+48>>2]|0)>0)o=0;else break;do{s=c[n+72>>2]|0;t=aa(c[n+68>>2]|0,o)|0;u=c[n+76>>2]|0;v=c[n+56>>2]|0;r=aa(e[s+t>>1]|0,v)|0;p=k*+g[u+(r+4)>>2];q=l*+g[u+(r+8)>>2];g[n>>2]=m*+g[u+r>>2];g[n+4>>2]=p;g[n+8>>2]=q;g[n+12>>2]=0.0;r=aa(e[s+(t+2)>>1]|0,v)|0;q=k*+g[u+(r+4)>>2];p=l*+g[u+(r+8)>>2];g[n+16>>2]=m*+g[u+r>>2];g[n+20>>2]=q;g[n+24>>2]=p;g[n+28>>2]=0.0;v=aa(e[s+(t+4)>>1]|0,v)|0;p=k*+g[u+(v+4)>>2];q=l*+g[u+(v+8)>>2];g[n+32>>2]=m*+g[u+v>>2];g[n+36>>2]=p;g[n+40>>2]=q;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else if((o|0)==2){if((c[n+48>>2]|0)>0)o=0;else break;do{t=c[n+72>>2]|0;v=aa(c[n+68>>2]|0,o)|0;u=c[n+76>>2]|0;s=c[n+56>>2]|0;r=aa(s,c[t+v>>2]|0)|0;p=k*+g[u+(r+4)>>2];q=l*+g[u+(r+8)>>2];g[n>>2]=m*+g[u+r>>2];g[n+4>>2]=p;g[n+8>>2]=q;g[n+12>>2]=0.0;r=aa(s,c[t+(v+4)>>2]|0)|0;q=k*+g[u+(r+4)>>2];p=l*+g[u+(r+8)>>2];g[n+16>>2]=m*+g[u+r>>2];g[n+20>>2]=q;g[n+24>>2]=p;g[n+28>>2]=0.0;v=aa(s,c[t+(v+8)>>2]|0)|0;p=k*+g[u+(v+4)>>2];q=l*+g[u+(v+8)>>2];g[n+32>>2]=m*+g[u+v>>2];g[n+36>>2]=p;g[n+40>>2]=q;g[n+44>>2]=0.0;vc[c[(c[b>>2]|0)+8>>2]&127](b,n,j,o);o=o+1|0}while((o|0)<(c[n+48>>2]|0))}else break}while(0);Nb[c[(c[a>>2]|0)+24>>2]&127](a,j);j=j+1|0}while((j|0)!=(f|0));i=n;return}function WD(d,e,f){d=d|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;j=i;i=i+32|0;m=Pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=m;c[e>>2]=0;if((m|0)==0){w=e+4|0;v=d+4|0;x=+g[v>>2];g[w>>2]=x;w=d+8|0;x=+g[w>>2];w=e+8|0;g[w>>2]=x;w=d+12|0;x=+g[w>>2];w=e+12|0;g[w>>2]=x;w=d+16|0;x=+g[w>>2];w=e+16|0;g[w>>2]=x;i=j;return 19824}m=Yb[c[(c[f>>2]|0)+16>>2]&31](f,32,m)|0;p=c[m+8>>2]|0;c[e>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,p)|0;n=Pb[c[(c[d>>2]|0)+28>>2]&127](d)|0;if((n|0)>0){o=0;while(1){fc[c[(c[d>>2]|0)+16>>2]&3](d,j+28|0,j+4|0,j+16|0,j+8|0,j+24|0,j+20|0,j,j+12|0,o);c[p+24>>2]=c[j>>2];c[p+28>>2]=c[j+4>>2];r=p+8|0;t=p+12|0;s=p+16|0;q=p+4|0;c[p+0>>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;u=c[j+12>>2]|0;if((u|0)==5){r=c[j>>2]|0;if((r|0)!=0){t=Yb[c[(c[f>>2]|0)+16>>2]&31](f,4,r)|0;r=c[t+8>>2]|0;c[s>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,r)|0;if((c[j>>2]|0)>0){s=0;do{v=c[j+24>>2]|0;w=aa(c[j+20>>2]|0,s)|0;a[r+(s<<2)>>0]=a[v+w>>0]|0;a[r+(s<<2)+1>>0]=a[v+(w+1)>>0]|0;a[r+(s<<2)+2>>0]=a[v+(w+2)>>0]|0;s=s+1|0}while((s|0)<(c[j>>2]|0))}Jb[c[(c[f>>2]|0)+20>>2]&31](f,t,19736,1497453121,c[t+8>>2]|0)}}else if((u|0)==2){s=c[j>>2]|0;if((s|0)!=0){s=Yb[c[(c[f>>2]|0)+16>>2]&31](f,4,s*3|0)|0;t=c[s+8>>2]|0;c[r>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,t)|0;if((c[j>>2]|0)>0){r=c[j+24>>2]|0;u=0;do{v=aa(c[j+20>>2]|0,u)|0;w=u*3|0;c[t+(w<<2)>>2]=c[r+v>>2];c[t+(w+1<<2)>>2]=c[r+(v+4)>>2];c[t+(w+2<<2)>>2]=c[r+(v+8)>>2];u=u+1|0}while((u|0)<(c[j>>2]|0))}Jb[c[(c[f>>2]|0)+20>>2]&31](f,s,19688,1497453121,c[s+8>>2]|0)}}else if((u|0)==3?(k=c[j>>2]|0,(k|0)!=0):0){s=Yb[c[(c[f>>2]|0)+16>>2]&31](f,8,k)|0;r=c[s+8>>2]|0;c[t>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,r)|0;t=c[j>>2]|0;if((t|0)>0){v=c[j+24>>2]|0;u=c[j+20>>2]|0;w=0;do{y=aa(u,w)|0;b[r+(w<<3)>>1]=b[v+y>>1]|0;b[r+(w<<3)+2>>1]=b[v+(y+2)>>1]|0;b[r+(w<<3)+4>>1]=b[v+(y+4)>>1]|0;w=w+1|0}while((w|0)<(t|0))}Jb[c[(c[f>>2]|0)+20>>2]&31](f,s,19704,1497453121,c[s+8>>2]|0)}r=c[j+16>>2]|0;if((r|0)==1){r=c[j+4>>2]|0;if((r|0)!=0){r=Yb[c[(c[f>>2]|0)+16>>2]&31](f,32,r)|0;s=c[r+8>>2]|0;c[q>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,s)|0;q=c[j+4>>2]|0;if((q|0)>0){u=c[j+28>>2]|0;v=c[j+8>>2]|0;t=0;do{y=aa(v,t)|0;h[s+(t<<5)>>3]=+h[u+y>>3];h[s+(t<<5)+8>>3]=+h[u+(y+8)>>3];h[s+(t<<5)+16>>3]=+h[u+(y+16)>>3];t=t+1|0}while((t|0)<(q|0))}Jb[c[(c[f>>2]|0)+20>>2]&31](f,r,19784,1497453121,c[r+8>>2]|0)}}else if((r|0)==0?(l=c[j+4>>2]|0,(l|0)!=0):0){v=Yb[c[(c[f>>2]|0)+16>>2]&31](f,16,l)|0;u=c[v+8>>2]|0;c[p>>2]=gc[c[(c[f>>2]|0)+28>>2]&31](f,u)|0;t=c[j+4>>2]|0;if((t|0)>0){s=c[j+28>>2]|0;q=c[j+8>>2]|0;r=0;do{y=aa(q,r)|0;g[u+(r<<4)>>2]=+g[s+y>>2];g[u+(r<<4)+4>>2]=+g[s+(y+4)>>2];g[u+(r<<4)+8>>2]=+g[s+(y+8)>>2];r=r+1|0}while((r|0)<(t|0))}Jb[c[(c[f>>2]|0)+20>>2]&31](f,v,19760,1497453121,c[v+8>>2]|0)}Nb[c[(c[d>>2]|0)+24>>2]&127](d,o);o=o+1|0;if((o|0)==(n|0)){k=f;break}else p=p+32|0}}else k=f;Jb[c[(c[k>>2]|0)+20>>2]&31](f,m,19808,1497453121,c[m+8>>2]|0);y=e+4|0;w=d+4|0;x=+g[w>>2];g[y>>2]=x;y=d+8|0;x=+g[y>>2];y=e+8|0;g[y>>2]=x;y=d+12|0;x=+g[y>>2];y=e+12|0;g[y>>2]=x;y=d+16|0;x=+g[y>>2];y=e+16|0;g[y>>2]=x;i=j;return 19824}function XD(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=19904;e=c[b+32>>2]|0;if((e|0)==0){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0}else{if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function YD(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=19904;e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function ZD(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 _D(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 $D(a){a=a|0;return(c[a+48>>2]|0)==1|0}function aE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+52>>2]=c[b+0>>2];c[a+56>>2]=c[b+4>>2];c[a+60>>2]=c[b+8>>2];c[a+64>>2]=c[b+12>>2];c[a+68>>2]=c[d+0>>2];c[a+72>>2]=c[d+4>>2];c[a+76>>2]=c[d+8>>2];c[a+80>>2]=c[d+12>>2];c[a+48>>2]=1;i=e;return}function bE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[b+0>>2]=c[a+52>>2];c[b+4>>2]=c[a+56>>2];c[b+8>>2]=c[a+60>>2];c[b+12>>2]=c[a+64>>2];c[d+0>>2]=c[a+68>>2];c[d+4>>2]=c[a+72>>2];c[d+8>>2]=c[a+76>>2];c[d+12>>2]=c[a+80>>2];i=e;return}function cE(a,b){a=a|0;b=b|0;return}function dE(a,b){a=a|0;b=b|0;return}function eE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;j=c[g+16>>2]|0;if((j|0)!=(f|0)){l=f-j|0;i=h;return l|0}if((f|0)==0){l=0;i=h;return l|0}l=c[g+8>>2]|0;n=c[g+12>>2]|0;k=nF(l|0,0,a|0,0)|0;j=E;p=nF(n|0,0,a|0,0)|0;m=E;l=nF(l|0,0,b|0,0)|0;a=E;n=nF(n|0,0,b|0,0)|0;o=E;b=bF(p|0,0,l|0,0)|0;l=E;o=bF(m|0,0,n|0,o|0)|0;a=bF(o|0,E|0,a|0,0)|0;l=bF(a|0,E|0,l|0,0)|0;a=E;j=bF(0,b|0,k|0,j|0)|0;k=E;b=bF(l|0,a|0,(k>>>0>>0|(k|0)==(b|0)&j>>>0<0)&1|0,0)|0;a=E;l=c[g>>2]|0;o=c[g+4>>2]|0;n=nF(l|0,0,d|0,0)|0;g=E;m=nF(o|0,0,d|0,0)|0;p=E;l=nF(l|0,0,e|0,0)|0;d=E;o=nF(o|0,0,e|0,0)|0;e=E;l=bF(m|0,0,l|0,0)|0;m=E;e=bF(p|0,0,o|0,e|0)|0;e=bF(e|0,E|0,d|0,0)|0;m=bF(e|0,E|0,m|0,0)|0;e=E;g=bF(0,l|0,n|0,g|0)|0;d=E;l=bF(m|0,e|0,(d>>>0>>0|(d|0)==(l|0)&g>>>0<0)&1|0,0)|0;e=E;if(!(a>>>0>>0|(a|0)==(e|0)&b>>>0>>0))if(!(a>>>0>e>>>0|(a|0)==(e|0)&b>>>0>l>>>0))if(k>>>0>>0|(k|0)==(d|0)&j>>>0>>0)a=-1;else a=(k>>>0>d>>>0|(k|0)==(d|0)&j>>>0>g>>>0)&1;else a=1;else a=-1;p=aa(a,f)|0;i=h;return p|0}function fE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;e=c[a+8>>2]|0;if((e|0)==0){g=c[a+4>>2]|0;if((g|0)==0){c[5004]=(c[5004]|0)+1;e=XE(31)|0;if((e|0)!=0?(d=e+19&-16,c[d+ -4>>2]=e,(e+19&-16|0)!=0):0){g=c[a+12>>2]|0;c[d+4>>2]=g;c[d+8>>2]=0;c[5004]=(c[5004]|0)+1;d=XE((g*24|3)+16|0)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}c[(e+19&-16)>>2]=d;g=e+19&-16}else g=0;c[g+8>>2]=c[a>>2];c[a>>2]=g}else c[a+4>>2]=c[g+8>>2];f=c[g+4>>2]|0;if((f|0)>0){d=0;e=c[g>>2]|0;do{d=d+1|0;h=e;e=e+24|0;c[h>>2]=(d|0)<(f|0)?e:0}while((d|0)!=(f|0))}e=c[g>>2]|0;c[a+8>>2]=c[e>>2];if((e|0)==0){h=0;i=b;return h|0}}else c[a+8>>2]=c[e>>2];c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h=e;i=b;return h|0}function gE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+144|0;do if((d-b|0)==2){g=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;h=c[g+88>>2]|0;d=c[g+200>>2]|0;b=c[g+92>>2]|0;k=c[g+204>>2]|0;if((h|0)==(d|0)){if((b|0)==(k|0))if((c[g+96>>2]|0)==(c[g+208>>2]|0))break;else j=b;else j=k;if((b|0)==(j|0)){J=(c[g+96>>2]|0)>(c[g+208>>2]|0);h=J?g+112|0:g;c[h>>2]=h;c[h+4>>2]=h;c[e>>2]=h;c[e+4>>2]=h;c[e+8>>2]=h;c[e+12>>2]=h;g=J?g:g+112|0}else{k=0;s=9}}else{j=k;k=(b|0)==(k|0);s=9}do if((s|0)==9){b=b-j|0;c[g>>2]=g+112;c[g+4>>2]=g+112;c[g+112>>2]=g;c[g+116>>2]=g;if((h-d|0)>=0?!((h|0)==(d|0)&(b|0)<0):0){c[e>>2]=g+112;c[e+4>>2]=g}else{c[e>>2]=g;c[e+4>>2]=g+112}if((b|0)<0|k&(h-d|0)<0){c[e+8>>2]=g;c[e+12>>2]=g+112;h=g;g=g+112|0;break}else{c[e+8>>2]=g+112;c[e+12>>2]=g;h=g;g=g+112|0;break}}while(0);b=fE(a+48|0)|0;d=fE(a+48|0)|0;c[b+8>>2]=d;c[d+8>>2]=b;c[b+20>>2]=c[a+100>>2];c[d+20>>2]=c[a+100>>2];c[b+12>>2]=g;c[d+12>>2]=h;c[b+16>>2]=0;c[d+16>>2]=0;d=c[a+116>>2]|0;c[a+116>>2]=d+1;if((d|0)>=(c[a+120>>2]|0))c[a+120>>2]=d+1;c[b>>2]=b;c[b+4>>2]=b;c[h+8>>2]=b;J=c[b+8>>2]|0;c[J>>2]=J;c[J+4>>2]=J;c[g+8>>2]=J;i=f;return}else if((d-b|0)==0){c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;i=f;return}else if((d-b|0)==1)g=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;else{r=((d-b|0)/2|0)+b|0;u=c[a+92>>2]|0;v=c[u+(r+ -1<<2)>>2]|0;y=c[v+88>>2]|0;x=c[v+92>>2]|0;v=c[v+96>>2]|0;a:do if((r|0)<(d|0)){w=r;while(1){z=c[u+(w<<2)>>2]|0;if((c[z+88>>2]|0)!=(y|0)){t=w;break a}if((c[z+92>>2]|0)!=(x|0)){t=w;break a}t=w+1|0;if((c[z+96>>2]|0)!=(v|0)){t=w;break a}if((t|0)<(d|0))w=t;else break}}else t=r;while(0);gE(a,b,r,e);c[f+96>>2]=0;c[f+100>>2]=0;c[f+104>>2]=0;c[f+108>>2]=0;gE(a,t,d,f+96|0);r=f+100|0;v=c[r>>2]|0;if((v|0)==0){i=f;return}if((c[e+4>>2]|0)==0){c[e+0>>2]=c[f+96>>2];c[e+4>>2]=c[f+100>>2];c[e+8>>2]=c[f+104>>2];c[e+12>>2]=c[f+108>>2];i=f;return}c[a+100>>2]=(c[a+100>>2]|0)+ -1;b=c[e+12>>2]|0;d=c[f+104>>2]|0;u=c[b+88>>2]|0;b:do if((u|0)==(c[d+88>>2]|0)?(c[b+92>>2]|0)==(c[d+92>>2]|0):0){t=c[d+4>>2]|0;if((t|0)==(d|0)){e=c[d+8>>2]|0;if((e|0)!=0){d=c[e+12>>2]|0;u=c[d+88>>2]|0}w=c[d+96>>2]|0;t=u+1|0;break}b=c[d>>2]|0;c[t>>2]=b;c[b+4>>2]=t;c:do if((d|0)==(c[f+96>>2]|0)){s=c[b+88>>2]|0;u=c[t+88>>2]|0;do if((s|0)>=(u|0)){if((s|0)==(u|0)?(c[b+92>>2]|0)<(c[t+92>>2]|0):0)break;c[f+96>>2]=t;break c}while(0);c[f+96>>2]=b}while(0);v=c[r>>2]|0;if((d|0)==(v|0)){d=c[b+88>>2]|0;s=c[t+88>>2]|0;do if((d|0)<=(s|0)){if((d|0)==(s|0)?(c[b+92>>2]|0)>(c[t+92>>2]|0):0)break;c[r>>2]=t;v=t;s=45;break b}while(0);c[r>>2]=b;v=b;s=45}else s=45}else s=45;while(0);if((s|0)==45){s=c[f+96>>2]|0;u=0;t=1;w=e+4|0;b=0;d=0;d:while(1){z=c[w>>2]|0;while(1){w=c[z+88>>2]|0;y=aa((c[v+88>>2]|0)-w|0,t)|0;e:do if((y|0)<=0){if((y|0)>=0){A=c[z+92>>2]|0;x=(u|0)!=0;f:do if(x){y=z;while(1){B=c[y>>2]|0;if((B|0)==(z|0)){z=y;break f}if((c[B+88>>2]|0)!=(w|0)){z=y;break f}J=A;A=c[B+92>>2]|0;if((A|0)>(J|0)){z=y;break}else y=B}}else{y=z;while(1){B=c[y+4>>2]|0;if((B|0)==(z|0)){z=y;break f}if((c[B+88>>2]|0)!=(w|0)){z=y;break f}J=A;A=c[B+92>>2]|0;if((A|0)>(J|0)){z=y;break}else y=B}}while(0);y=c[v+92>>2]|0;if(x){x=v;while(1){A=c[x+4>>2]|0;if((A|0)==(v|0))break e;if((c[A+88>>2]|0)!=(w|0))break e;J=y;y=c[A+92>>2]|0;if((y|0)<(J|0))break e;else x=A}}else{x=v;while(1){A=c[x>>2]|0;if((A|0)==(v|0))break e;if((c[A+88>>2]|0)!=(w|0))break e;J=y;y=c[A+92>>2]|0;if((y|0)<(J|0))break e;else x=A}}}w=c[v+92>>2]|0;C=c[z+92>>2]|0;if((u|0)==0)while(1){B=c[v>>2]|0;x=(B|0)==(v|0);A=v+88|0;while(1){G=z+88|0;D=w-C|0;if(!x?(p=c[B+88>>2]|0,n=aa(p-(c[A>>2]|0)|0,t)|0,o=c[B+92>>2]|0,j=o-w|0,(j|0)>-1):0){if((n|0)==0)break;if((n|0)<0?(aa(j,y)|0)<=(aa(n,D)|0):0)break}F=c[z>>2]|0;if((F|0)==(z|0)){x=v;break e}J=c[F+88>>2]|0;H=aa(J-(c[G>>2]|0)|0,t)|0;G=c[F+92>>2]|0;I=G-C|0;C=y;y=aa((c[A>>2]|0)-J|0,t)|0;if(!((y|0)<0&(I|0)>0)){x=v;break e}if((H|0)==0){C=G;z=F;continue}if((H|0)>=0){x=v;break e}if((aa(I,C)|0)>=(aa(H,D)|0)){x=v;break e}else{C=G;z=F}}w=o;y=aa(p-(c[G>>2]|0)|0,t)|0;v=B}else while(1){x=c[v+4>>2]|0;B=(x|0)==(v|0);A=v+88|0;while(1){G=z+88|0;D=w-C|0;if(!B?(m=c[x+88>>2]|0,q=aa(m-(c[A>>2]|0)|0,t)|0,l=c[x+92>>2]|0,k=l-w|0,(k|0)>-1):0){if((q|0)==0)break;if((q|0)<0?(aa(k,y)|0)<=(aa(q,D)|0):0)break}F=c[z+4>>2]|0;if((F|0)==(z|0)){x=v;break e}J=c[F+88>>2]|0;G=aa(J-(c[G>>2]|0)|0,t)|0;H=c[F+92>>2]|0;C=H-C|0;I=y;y=aa((c[A>>2]|0)-J|0,t)|0;if(!((y|0)<0&(C|0)>0)){x=v;break e}if((G|0)==0){C=H;z=F;continue}if((G|0)>=0){x=v;break e}if((aa(C,I)|0)>=(aa(G,D)|0)){x=v;break e}else{C=H;z=F}}w=l;y=aa(m-(c[G>>2]|0)|0,t)|0;v=x}}else{w=(u|0)!=0;x=c[v+92>>2]|0;C=z;while(1){z=v+88|0;D=C+88|0;B=c[C+92>>2]|0;G=x-B|0;A=c[(w?C:C+4|0)>>2]|0;g:do if((A|0)==(C|0)){B=D;D=G;F=y;A=C}else{F=y;while(1){J=c[A+88>>2]|0;I=aa(J-(c[D>>2]|0)|0,t)|0;H=B;B=c[A+92>>2]|0;H=B-H|0;if((H|0)>=1){B=D;D=G;A=C;break g}if((I|0)!=0){if((I|0)>=0){B=D;D=G;A=C;break g}if((aa(H,F)|0)>(aa(I,G)|0)){B=D;D=G;A=C;break g}}F=aa((c[z>>2]|0)-J|0,t)|0;D=A+88|0;G=x-B|0;C=c[(w?A:A+4|0)>>2]|0;if((C|0)==(A|0)){B=D;D=G;break}else{J=A;A=C;C=J}}}while(0);G=c[(w?v:v+4|0)>>2]|0;if((G|0)==(v|0)){z=A;x=v;break e}y=c[G+88>>2]|0;C=aa(y-(c[z>>2]|0)|0,t)|0;z=x;x=c[G+92>>2]|0;z=x-z|0;y=aa(y-(c[B>>2]|0)|0,t)|0;if(!((y|0)>0&(z|0)<0)){z=A;x=v;break e}if((C|0)==0){C=A;v=G;continue}if((C|0)>=0){z=A;x=v;break e}if((aa(z,F)|0)>=(aa(C,D)|0)){z=A;x=v;break}else{C=A;v=G}}}while(0);if((u|0)==0){u=1;t=-1;w=e;b=z;v=s;d=x;continue d}u=u+1|0;if((u|0)==2)break d;else v=x}}c[z+4>>2]=x;c[x>>2]=z;c[b>>2]=d;c[d+4>>2]=b;j=c[f+96>>2]|0;if((c[j+88>>2]|0)<(c[(c[e>>2]|0)+88>>2]|0))c[e>>2]=j;j=c[r>>2]|0;if((c[j+88>>2]|0)>=(c[(c[e+4>>2]|0)+88>>2]|0))c[e+4>>2]=j;c[e+12>>2]=c[f+108>>2];k=c[d+88>>2]|0;y=c[b+88>>2]|0;l=c[d+92>>2]|0;e=c[b+92>>2]|0;o=c[d+96>>2]|0;z=c[b+96>>2]|0;t=((l-e|0)<0)<<31>>31;j=0-(k-y)|0;s=_E(0,0,j|0,((j|0)<0)<<31>>31|0)|0;s=nF(o-z|0,((o-z|0)<0)<<31>>31|0,s|0,E|0)|0;r=E;q=nF(o-z|0,((o-z|0)<0)<<31>>31|0,l-e|0,t|0)|0;p=E;x=nF(k-y|0,((k-y|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;m=E;n=nF(l-e|0,t|0,l-e|0,t|0)|0;n=_E(x|0,m|0,n|0,E|0)|0;m=E;x=c[b+8>>2]|0;c[f+140>>2]=0;if((x|0)==0)A=0;else{u=_E(0,0,l-e|0,t|0)|0;w=E;A=0;v=x;do{C=c[v+12>>2]|0;F=c[C+88>>2]|0;B=c[C+92>>2]|0;C=c[C+96>>2]|0;H=nF(B-e|0,((B-e|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;J=E;I=nF(F-y|0,((F-y|0)<0)<<31>>31|0,u|0,w|0)|0;do if((H|0)==(I|0)&(J|0)==(E|0)?(I=nF(F-y|0,((F-y|0)<0)<<31>>31|0,s|0,r|0)|0,H=E,J=nF(B-e|0,((B-e|0)<0)<<31>>31|0,q|0,p|0)|0,H=bF(J|0,E|0,I|0,H|0)|0,I=E,J=nF(C-z|0,((C-z|0)<0)<<31>>31|0,n|0,m|0)|0,J=bF(H|0,I|0,J|0,E|0)|0,I=E,(I|0)>0|(I|0)==0&J>>>0>0):0){if((A|0)!=0){D=(c[A+4>>2]|0)==(v|0);if((c[A>>2]|0)==(v|0)){if(!D)break;H=c[A+12>>2]|0;G=c[(c[v+8>>2]|0)+12>>2]|0;J=c[G+88>>2]|0;I=c[G+92>>2]|0;G=c[G+96>>2]|0;D=(c[H+96>>2]|0)-G|0;I=(aa(C-G|0,(c[H+92>>2]|0)-I|0)|0)-(aa(D,B-I|0)|0)|0;B=(aa(D,F-J|0)|0)-(aa(C-G|0,(c[H+88>>2]|0)-J|0)|0)|0;I=nF(I|0,((I|0)<0)<<31>>31|0,l-e|0,t|0)|0;J=E;B=nF(B|0,((B|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;B=bF(I|0,J|0,B|0,E|0)|0;J=E;B=(J|0)>0|(J|0)==0&B>>>0>0?2:1}else B=D&1;if((B|0)!=1)break}c[f+140>>2]=v;A=v}while(0);v=c[v>>2]|0}while((v|0)!=(x|0))}w=c[d+8>>2]|0;c[f+136>>2]=0;if((w|0)==0)z=0;else{u=_E(0,0,l-e|0,t|0)|0;v=E;z=0;x=w;do{y=c[x+12>>2]|0;B=c[y+88>>2]|0;C=c[y+92>>2]|0;y=c[y+96>>2]|0;H=nF(C-l|0,((C-l|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;J=E;I=nF(B-k|0,((B-k|0)<0)<<31>>31|0,u|0,v|0)|0;do if((H|0)==(I|0)&(J|0)==(E|0)?(I=nF(B-k|0,((B-k|0)<0)<<31>>31|0,s|0,r|0)|0,H=E,J=nF(C-l|0,((C-l|0)<0)<<31>>31|0,q|0,p|0)|0,H=bF(J|0,E|0,I|0,H|0)|0,I=E,J=nF(y-o|0,((y-o|0)<0)<<31>>31|0,n|0,m|0)|0,J=bF(H|0,I|0,J|0,E|0)|0,I=E,(I|0)>0|(I|0)==0&J>>>0>0):0){if((z|0)!=0){if((c[z>>2]|0)!=(x|0))break;if((c[z+4>>2]|0)==(x|0)?(I=c[z+12>>2]|0,G=c[(c[x+8>>2]|0)+12>>2]|0,J=c[G+88>>2]|0,H=c[G+92>>2]|0,G=c[G+96>>2]|0,F=(c[I+96>>2]|0)-G|0,H=(aa(y-G|0,(c[I+92>>2]|0)-H|0)|0)-(aa(F,C-H|0)|0)|0,J=(aa(F,B-J|0)|0)-(aa(y-G|0,(c[I+88>>2]|0)-J|0)|0)|0,H=nF(H|0,((H|0)<0)<<31>>31|0,l-e|0,t|0)|0,I=E,J=nF(J|0,((J|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0,J=bF(H|0,I|0,J|0,E|0)|0,I=E,!((I|0)>0|(I|0)==0&J>>>0>0)):0)break}c[f+136>>2]=x;z=x}while(0);x=c[x>>2]|0}while((x|0)!=(w|0))}if(!((A|0)==0&(z|0)==0)){iE(a,b,d,f+140|0,f+136|0);e=c[f+140>>2]|0;if((e|0)!=0)b=c[e+12>>2]|0;e=c[f+136>>2]|0;if((e|0)!=0)d=c[e+12>>2]|0}w=(c[d+96>>2]|0)+1|0;t=c[d+88>>2]|0}u=c[d+92>>2]|0;s=u;e=b;m=d;j=0;q=0;z=1;n=0;v=0;o=0;x=0;k=0;p=0;while(1){y=e+88|0;G=(c[m+88>>2]|0)-(c[y>>2]|0)|0;J=e+92|0;l=s-(c[J>>2]|0)|0;F=e+96|0;C=(c[m+96>>2]|0)-(c[F>>2]|0)|0;c[f+120>>2]=G;c[f+124>>2]=l;c[f+128>>2]=C;c[f+132>>2]=-1;y=t-(c[y>>2]|0)|0;J=u-(c[J>>2]|0)|0;F=w-(c[F>>2]|0)|0;D=(aa(C,J)|0)-(aa(l,F)|0)|0;F=(aa(G,F)|0)-(aa(C,y)|0)|0;J=(aa(l,y)|0)-(aa(G,J)|0)|0;c[f+72>>2]=D;c[f+76>>2]=((D|0)<0)<<31>>31;c[f+80>>2]=F;c[f+84>>2]=((F|0)<0)<<31>>31;c[f+88>>2]=J;c[f+92>>2]=((J|0)<0)<<31>>31;y=nF(J|0,((J|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;I=E;H=nF(C|0,((C|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;H=_E(y|0,I|0,H|0,E|0)|0;I=E;C=nF(D|0,((D|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;y=E;J=nF(G|0,((G|0)<0)<<31>>31|0,J|0,((J|0)<0)<<31>>31|0)|0;J=_E(C|0,y|0,J|0,E|0)|0;y=E;F=nF(G|0,((G|0)<0)<<31>>31|0,F|0,((F|0)<0)<<31>>31|0)|0;G=E;l=nF(D|0,((D|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;l=_E(F|0,G|0,l|0,E|0)|0;c[f+48>>2]=H;c[f+52>>2]=I;c[f+56>>2]=J;c[f+60>>2]=y;c[f+64>>2]=l;c[f+68>>2]=E;c[f+24>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;c[f+36>>2]=0;c[f+40>>2]=0;l=hE(a,0,e,f+120|0,f+72|0,f+48|0,f+24|0)|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;y=hE(a,1,m,f+120|0,f+72|0,f+48|0,f)|0;if((y|0)==0&((l|0)!=0^1)){s=138;break}if((y|0)==0|(l|0)!=0^1)r=(l|0)!=0?-1:1;else r=eE(c[f+24>>2]|0,c[f+28>>2]|0,c[f+32>>2]|0,c[f+36>>2]|0,c[f+40>>2]|0,f)|0;do if(!z){if((r|0)>-1){if((c[f+16>>2]|0)>=0){s=150;break}if((c[f+8>>2]|0)==0&(c[f+12>>2]|0)==0){s=157;break}else{s=150;break}}if((c[f+40>>2]|0)<0?(c[f+32>>2]|0)==0&(c[f+36>>2]|0)==0:0){c[f+116>>2]=l;c[f+112>>2]=y;y=l;r=v;v=x;s=179}else s=150}else s=150;while(0);if((s|0)==150){s=fE(a+48|0)|0;z=fE(a+48|0)|0;c[s+8>>2]=z;c[z+8>>2]=s;c[s+20>>2]=c[a+100>>2];c[z+20>>2]=c[a+100>>2];c[s+12>>2]=m;c[z+12>>2]=e;c[s+16>>2]=0;c[z+16>>2]=0;z=c[a+116>>2]|0;c[a+116>>2]=z+1;if((z|0)>=(c[a+120>>2]|0))c[a+120>>2]=z+1;if((o|0)==0)n=s;else c[o+4>>2]=s;c[s>>2]=o;z=c[s+8>>2]|0;if((x|0)==0)v=z;else c[x>>2]=z;c[z+4>>2]=x;o=s;x=z;s=157}do if((s|0)==157){s=0;c[f+116>>2]=l;c[f+112>>2]=y;if((r|0)!=0)if((r|0)>-1)z=y;else{y=l;r=v;v=x;s=179;break}else{iE(a,e,m,f+116|0,f+112|0);z=c[f+112>>2]|0}if((z|0)!=0){t=(p|0)!=0;if(t?(g=c[p>>2]|0,(g|0)!=(y|0)):0){B=g;do{A=B;B=c[B>>2]|0;w=c[A+8>>2]|0;if((B|0)==(A|0))c[(c[w+12>>2]|0)+8>>2]=0;else{c[B+4>>2]=c[A+4>>2];c[c[A+4>>2]>>2]=B;c[(c[w+12>>2]|0)+8>>2]=B}u=c[w>>2]|0;if((u|0)==(w|0))c[(c[A+12>>2]|0)+8>>2]=0;else{c[u+4>>2]=c[w+4>>2];c[c[w+4>>2]>>2]=u;c[(c[A+12>>2]|0)+8>>2]=u}c[A+0>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A>>2]=c[a+56>>2];c[a+56>>2]=A;c[w+0>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w>>2]=c[a+56>>2];c[a+56>>2]=w;c[a+116>>2]=(c[a+116>>2]|0)+ -1}while((B|0)!=(y|0))}if((x|0)==0){p=z;q=t?q:y}else{if(t){c[p>>2]=v;c[v+4>>2]=p;p=y+4|0}else{p=c[y+4>>2]|0;c[p>>2]=v;c[v+4>>2]=p;p=y+4|0;q=v}c[x>>2]=y;c[p>>2]=x;p=c[f+112>>2]|0;v=0}w=c[m+96>>2]|0;u=c[m+92>>2]|0;t=c[m+88>>2]|0;m=c[p+12>>2]|0;x=0;p=c[p+8>>2]|0}if((r|0)<1){y=c[f+116>>2]|0;r=v;v=x;s=179}else{l=v;r=x}}while(0);if((s|0)==179){s=0;if((y|0)==0){l=r;r=v}else{t=(k|0)!=0;if(t?(h=c[k+4>>2]|0,(h|0)!=(l|0)):0){x=h;do{A=x+4|0;u=x;x=c[A>>2]|0;z=c[u>>2]|0;w=c[u+8>>2]|0;if((z|0)==(u|0))c[(c[w+12>>2]|0)+8>>2]=0;else{c[z+4>>2]=x;c[c[A>>2]>>2]=z;c[(c[w+12>>2]|0)+8>>2]=z}z=c[w>>2]|0;if((z|0)==(w|0))c[(c[u+12>>2]|0)+8>>2]=0;else{c[z+4>>2]=c[w+4>>2];c[c[w+4>>2]>>2]=z;c[(c[u+12>>2]|0)+8>>2]=z}c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u>>2]=c[a+56>>2];c[a+56>>2]=u;c[w+0>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w>>2]=c[a+56>>2];c[a+56>>2]=w;c[a+116>>2]=(c[a+116>>2]|0)+ -1}while((x|0)!=(l|0))}if((o|0)==0)j=t?j:l;else{if(t){c[n>>2]=k;c[k+4>>2]=n;k=l}else{k=c[l>>2]|0;c[n>>2]=k;c[k+4>>2]=n;k=l;j=n}c[k>>2]=o;c[o+4>>2]=l;y=c[f+116>>2]|0;n=0}w=c[e+96>>2]|0;u=c[e+92>>2]|0;t=c[e+88>>2]|0;e=c[y+12>>2]|0;l=r;o=0;r=v;k=c[y+8>>2]|0}}if((e|0)==(b|0)&(m|0)==(d|0))break;s=c[m+92>>2]|0;z=0;v=l;x=r}if((s|0)==138){h=fE(a+48|0)|0;g=fE(a+48|0)|0;c[h+8>>2]=g;c[g+8>>2]=h;c[h+20>>2]=c[a+100>>2];c[g+20>>2]=c[a+100>>2];c[h+12>>2]=m;c[g+12>>2]=e;c[h+16>>2]=0;c[g+16>>2]=0;g=c[a+116>>2]|0;c[a+116>>2]=g+1;if((g|0)>=(c[a+120>>2]|0))c[a+120>>2]=g+1;c[h>>2]=h;c[h+4>>2]=h;c[e+8>>2]=h;J=c[h+8>>2]|0;c[J>>2]=J;c[J+4>>2]=J;c[m+8>>2]=J;i=f;return}if((k|0)!=0){g=k+4|0;e=c[g>>2]|0;if((e|0)!=(j|0))do{s=e+4|0;h=e;e=c[s>>2]|0;m=c[h>>2]|0;b=c[h+8>>2]|0;if((m|0)==(h|0))c[(c[b+12>>2]|0)+8>>2]=0;else{c[m+4>>2]=e;c[c[s>>2]>>2]=m;c[(c[b+12>>2]|0)+8>>2]=m}m=c[b>>2]|0;if((m|0)==(b|0))c[(c[h+12>>2]|0)+8>>2]=0;else{c[m+4>>2]=c[b+4>>2];c[c[b+4>>2]>>2]=m;c[(c[h+12>>2]|0)+8>>2]=m}c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h>>2]=c[a+56>>2];c[a+56>>2]=h;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b>>2]=c[a+56>>2];c[a+56>>2]=b;c[a+116>>2]=(c[a+116>>2]|0)+ -1}while((e|0)!=(j|0));if((o|0)!=0){c[n>>2]=k;c[g>>2]=n;c[j>>2]=o;c[o+4>>2]=j}}else{c[n>>2]=o;c[o+4>>2]=n;c[b+8>>2]=o}if((p|0)==0){c[r>>2]=l;c[l+4>>2]=r;c[d+8>>2]=r;i=f;return}g=c[p>>2]|0;if((g|0)!=(q|0))do{d=g;g=c[g>>2]|0;h=c[d+8>>2]|0;if((g|0)==(d|0))c[(c[h+12>>2]|0)+8>>2]=0;else{c[g+4>>2]=c[d+4>>2];c[c[d+4>>2]>>2]=g;c[(c[h+12>>2]|0)+8>>2]=g}b=c[h>>2]|0;if((b|0)==(h|0))c[(c[d+12>>2]|0)+8>>2]=0;else{c[b+4>>2]=c[h+4>>2];c[c[h+4>>2]>>2]=b;c[(c[d+12>>2]|0)+8>>2]=b}c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d>>2]=c[a+56>>2];c[a+56>>2]=d;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h>>2]=c[a+56>>2];c[a+56>>2]=h;c[a+116>>2]=(c[a+116>>2]|0)+ -1}while((g|0)!=(q|0));if((r|0)==0){i=f;return}c[p>>2]=l;c[l+4>>2]=p;c[r>>2]=q;c[q+4>>2]=r;i=f;return}while(0);c[g+8>>2]=0;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;i=f;return}function hE(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=i;k=c[d+8>>2]|0;if((k|0)==0){y=0;i=j;return y|0}l=0;do{do if((c[k+20>>2]|0)>(c[a+100>>2]|0)){p=c[k+12>>2]|0;r=c[p+88>>2]|0;o=r-(c[d+88>>2]|0)|0;q=c[p+92>>2]|0;m=q-(c[d+92>>2]|0)|0;p=c[p+96>>2]|0;n=p-(c[d+96>>2]|0)|0;u=nF(o|0,((o|0)<0)<<31>>31|0,c[g>>2]|0,c[g+4>>2]|0)|0;w=E;s=nF(m|0,((m|0)<0)<<31>>31|0,c[g+8>>2]|0,c[g+12>>2]|0)|0;w=bF(s|0,E|0,u|0,w|0)|0;u=E;s=nF(n|0,((n|0)<0)<<31>>31|0,c[g+16>>2]|0,c[g+20>>2]|0)|0;s=bF(w|0,u|0,s|0,E|0)|0;u=E;w=nF(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;y=E;x=nF(c[f+8>>2]|0,c[f+12>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;y=bF(x|0,E|0,w|0,y|0)|0;w=E;x=nF(c[f+16>>2]|0,c[f+20>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;x=bF(y|0,w|0,x|0,E|0)|0;w=E;if((u|0)>0|(u|0)==0&s>>>0>0){v=1;t=u;u=1}else{s=_E(0,0,s|0,u|0)|0;v=(u|0)<0?-1:0;s=(u|0)<0?s:0;t=(u|0)<0?E:0;u=(u|0)<0?-1:0}if(!((w|0)>0|(w|0)==0&x>>>0>0)){if((w|0)<0){u=0-v|0;z=_E(0,0,x|0,w|0)|0;v=u;y=(x|0)==0&(w|0)==0;x=z;w=E}else{y=1;x=0;w=0}if((v|0)==0&y)break;else v=x}else v=x;if((l|0)==0){c[h>>2]=s;c[h+4>>2]=t;c[h+8>>2]=v;c[h+12>>2]=w;c[h+16>>2]=u;l=k;break}x=eE(s,t,v,w,u,h)|0;if((x|0)<0){c[h>>2]=s;c[h+4>>2]=t;c[h+8>>2]=v;c[h+12>>2]=w;c[h+16>>2]=u;l=k;break}if((x|0)==0){s=(c[l+4>>2]|0)==(k|0);if((c[l>>2]|0)==(k|0))if(s){z=c[e+8>>2]|0;w=aa(z,m)|0;u=c[e+4>>2]|0;w=w-(aa(u,n)|0)|0;y=c[e>>2]|0;z=(aa(y,n)|0)-(aa(o,z)|0)|0;y=(aa(o,u)|0)-(aa(y,m)|0)|0;o=c[l+12>>2]|0;m=c[(c[k+8>>2]|0)+12>>2]|0;u=c[m+88>>2]|0;t=(c[o+88>>2]|0)-u|0;s=c[m+92>>2]|0;v=(c[o+92>>2]|0)-s|0;m=c[m+96>>2]|0;o=(c[o+96>>2]|0)-m|0;x=(aa(p-m|0,v)|0)-(aa(q-s|0,o)|0)|0;m=(aa(r-u|0,o)|0)-(aa(p-m|0,t)|0)|0;v=(aa(q-s|0,t)|0)-(aa(r-u|0,v)|0)|0;w=nF(x|0,((x|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;x=E;z=nF(m|0,((m|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;m=E;y=nF(v|0,((v|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;y=bF(w|0,x|0,y|0,E|0)|0;m=bF(y|0,E|0,z|0,m|0)|0;z=E;m=(z|0)>0|(z|0)==0&m>>>0>0?2:1}else m=2;else m=s&1;l=(m|0)==2^b?l:k}}while(0);k=c[k>>2]|0}while((k|0)!=(c[d+8>>2]|0));i=j;return l|0}function iE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;g=i;i=i+96|0;s=c[e>>2]|0;h=c[f>>2]|0;if((s|0)!=0)j=c[s+12>>2]|0;else j=b;x=c[j+88>>2]|0;w=c[j+92>>2]|0;v=c[j+96>>2]|0;if((h|0)==0)j=d;else j=c[h+12>>2]|0;B=c[j+88>>2]|0;A=c[j+92>>2]|0;z=c[j+96>>2]|0;r=c[b+88>>2]|0;j=(c[d+88>>2]|0)-r|0;C=c[b+92>>2]|0;k=(c[d+92>>2]|0)-C|0;G=c[b+96>>2]|0;p=(c[d+96>>2]|0)-G|0;d=c[((s|0)!=0?s:h)+12>>2]|0;o=(c[d+88>>2]|0)-r|0;u=(c[d+92>>2]|0)-C|0;d=(c[d+96>>2]|0)-G|0;q=(aa(u,p)|0)-(aa(d,k)|0)|0;d=(aa(d,j)|0)-(aa(o,p)|0)|0;u=(aa(o,k)|0)-(aa(u,j)|0)|0;r=nF(q|0,((q|0)<0)<<31>>31|0,r|0,((r|0)<0)<<31>>31|0)|0;o=E;C=nF(d|0,((d|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;D=E;G=nF(u|0,((u|0)<0)<<31>>31|0,G|0,((G|0)<0)<<31>>31|0)|0;G=bF(r|0,o|0,G|0,E|0)|0;D=bF(G|0,E|0,C|0,D|0)|0;C=E;G=nF(u|0,((u|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;o=E;r=nF(d|0,((d|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;r=_E(G|0,o|0,r|0,E|0)|0;o=E;G=nF(q|0,((q|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;l=E;b=nF(u|0,((u|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;b=_E(G|0,l|0,b|0,E|0)|0;l=E;G=nF(d|0,((d|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;n=E;m=nF(q|0,((q|0)<0)<<31>>31|0,k|0,((k|0)<0)<<31>>31|0)|0;m=_E(G|0,n|0,m|0,E|0)|0;n=E;G=nF(r|0,o|0,x|0,((x|0)<0)<<31>>31|0)|0;Z=E;F=nF(b|0,l|0,w|0,((w|0)<0)<<31>>31|0)|0;Z=bF(F|0,E|0,G|0,Z|0)|0;G=E;F=nF(m|0,n|0,v|0,((v|0)<0)<<31>>31|0)|0;F=bF(Z|0,G|0,F|0,E|0)|0;G=E;if((s|0)!=0?(c[s+12>>2]|0)!=0:0){y=s;while(1){y=c[(c[y+8>>2]|0)+4>>2]|0;J=y+12|0;I=c[J>>2]|0;K=c[I+88>>2]|0;Y=nF(K|0,((K|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;X=E;H=c[I+92>>2]|0;Z=nF(H|0,((H|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;X=bF(Z|0,E|0,Y|0,X|0)|0;Y=E;I=c[I+96>>2]|0;Z=nF(I|0,((I|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;Z=bF(X|0,Y|0,Z|0,E|0)|0;Y=E;if((Y|0)<(C|0)|(Y|0)==(C|0)&Z>>>0>>0)break;if((c[y+20>>2]|0)==(c[a+100>>2]|0))break;Y=nF(K|0,((K|0)<0)<<31>>31|0,r|0,o|0)|0;Z=E;H=nF(H|0,((H|0)<0)<<31>>31|0,b|0,l|0)|0;Z=bF(H|0,E|0,Y|0,Z|0)|0;H=E;I=nF(I|0,((I|0)<0)<<31>>31|0,m|0,n|0)|0;I=bF(Z|0,H|0,I|0,E|0)|0;H=E;if(!((H|0)>(G|0)|(H|0)==(G|0)&I>>>0>F>>>0))break;c[e>>2]=y;Z=c[J>>2]|0;x=c[Z+88>>2]|0;w=c[Z+92>>2]|0;v=c[Z+96>>2]|0;if((Z|0)==0){F=I;G=H;break}else{G=H;F=I}}y=c[f>>2]|0}else y=h;H=nF(r|0,o|0,B|0,((B|0)<0)<<31>>31|0)|0;Z=E;I=nF(b|0,l|0,A|0,((A|0)<0)<<31>>31|0)|0;Z=bF(I|0,E|0,H|0,Z|0)|0;H=E;I=nF(m|0,n|0,z|0,((z|0)<0)<<31>>31|0)|0;I=bF(Z|0,H|0,I|0,E|0)|0;H=E;a:do if((y|0)!=0)if((c[y+12>>2]|0)==0)C=I;else while(1){J=c[c[y+8>>2]>>2]|0;M=c[J+12>>2]|0;K=c[M+88>>2]|0;Y=nF(K|0,((K|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;X=E;L=c[M+92>>2]|0;Z=nF(L|0,((L|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;X=bF(Z|0,E|0,Y|0,X|0)|0;Y=E;M=c[M+96>>2]|0;Z=nF(M|0,((M|0)<0)<<31>>31|0,u|0,((u|0)<0)<<31>>31|0)|0;Z=bF(X|0,Y|0,Z|0,E|0)|0;Y=E;if((Y|0)<(C|0)|(Y|0)==(C|0)&Z>>>0>>0){C=I;break a}if((c[J+20>>2]|0)==(c[a+100>>2]|0)){C=I;break a}K=nF(K|0,((K|0)<0)<<31>>31|0,r|0,o|0)|0;Z=E;L=nF(L|0,((L|0)<0)<<31>>31|0,b|0,l|0)|0;Z=bF(L|0,E|0,K|0,Z|0)|0;K=E;L=nF(M|0,((M|0)<0)<<31>>31|0,m|0,n|0)|0;L=bF(Z|0,K|0,L|0,E|0)|0;K=E;if(!((K|0)>(H|0)|(K|0)==(H|0)&L>>>0>I>>>0)){C=I;break a}c[f>>2]=J;Z=c[J+12>>2]|0;B=c[Z+88>>2]|0;A=c[Z+92>>2]|0;z=c[Z+96>>2]|0;if((Z|0)==0){C=L;H=K;y=J;break}else{y=J;H=K;I=L}}else{C=I;y=0}while(0);D=_E(C|0,H|0,F|0,G|0)|0;C=E;if((C|0)>0|(C|0)==0&D>>>0>0){I=_E(0,0,u|0,((u|0)<0)<<31>>31|0)|0;J=E;H=v;G=w;F=x;N=z;O=A;P=B;L=D;K=C;b:while(1){c:while(1){M=(aa(O-G|0,k)|0)+(aa(N-H|0,p)|0)+(aa(P-F|0,j)|0)|0;Q=c[e>>2]|0;do if(((Q|0)!=0?(c[Q+12>>2]|0)!=0:0)?(t=c[(c[Q>>2]|0)+8>>2]|0,(c[t+20>>2]|0)>(c[a+100>>2]|0)):0){T=c[t+12>>2]|0;R=c[T+88>>2]|0;Z=R-F|0;U=c[T+92>>2]|0;X=U-G|0;T=c[T+96>>2]|0;V=T-H|0;W=nF(Z|0,((Z|0)<0)<<31>>31|0,r|0,o|0)|0;S=E;Y=nF(X|0,((X|0)<0)<<31>>31|0,b|0,l|0)|0;S=bF(Y|0,E|0,W|0,S|0)|0;W=E;Y=nF(V|0,((V|0)<0)<<31>>31|0,m|0,n|0)|0;Y=bF(S|0,W|0,Y|0,E|0)|0;W=E;V=(aa(X,k)|0)+(aa(Z,j)|0)+(aa(V,p)|0)|0;if((Y|0)==0&(W|0)==0)if((V|0)<0)break c;else break;if((W|0)<0){if((V|0)>0){X=1;Z=1;S=V;V=((V|0)<0)<<31>>31}else{S=_E(0,0,V|0,((V|0)<0)<<31>>31|0)|0;X=(V|0)<0?-1:0;Z=(V|0)<0?-1:0;S=(V|0)<0?S:0;V=(V|0)<0?E:0}if(!((W|0)>0|(W|0)==0&Y>>>0>0)){Y=_E(0,0,Y|0,W|0)|0;X=0-Z|0;W=E}do if((M|0)<=0)if((M|0)<0){c[g+88>>2]=-1;Z=_E(0,0,M|0,((M|0)<0)<<31>>31|0)|0;c[g+72>>2]=Z;c[g+76>>2]=E;Z=-1;break}else{c[g+88>>2]=0;c[g+72>>2]=0;c[g+76>>2]=0;Z=0;break}else{c[g+88>>2]=1;c[g+72>>2]=M;c[g+76>>2]=((M|0)<0)<<31>>31;Z=1}while(0);do if(!((K|0)>0|(K|0)==0&L>>>0>0))if((K|0)<0){c[g+88>>2]=0-Z;Z=_E(0,0,L|0,K|0)|0;c[g+80>>2]=Z;c[g+84>>2]=E;break}else{c[g+80>>2]=0;c[g+84>>2]=0;break}else{c[g+80>>2]=L;c[g+84>>2]=K}while(0);if((eE(S,V,Y,W,X,g+72|0)|0)>-1)break c}}while(0);Q=c[f>>2]|0;if((Q|0)==0){s=117;break b}if((c[Q+12>>2]|0)==0){s=117;break b}Q=c[c[Q+8>>2]>>2]|0;if((c[Q+20>>2]|0)<=(c[a+100>>2]|0)){s=117;break b}U=c[Q+12>>2]|0;R=c[U+88>>2]|0;S=R-P|0;P=c[U+92>>2]|0;T=P-O|0;U=c[U+96>>2]|0;V=U-N|0;Z=nF(S|0,((S|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;X=E;Y=nF(T|0,((T|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;X=bF(Y|0,E|0,Z|0,X|0)|0;Z=E;Y=nF(V|0,((V|0)<0)<<31>>31|0,I|0,J|0)|0;if(!((X|0)==(Y|0)&(Z|0)==(E|0))){s=117;break b}N=nF(S|0,((S|0)<0)<<31>>31|0,r|0,o|0)|0;Y=E;O=nF(T|0,((T|0)<0)<<31>>31|0,b|0,l|0)|0;Y=bF(O|0,E|0,N|0,Y|0)|0;N=E;O=nF(V|0,((V|0)<0)<<31>>31|0,m|0,n|0)|0;O=bF(Y|0,N|0,O|0,E|0)|0;N=E;T=(aa(T,k)|0)+(aa(S,j)|0)+(aa(V,p)|0)|0;R=R-F|0;Y=P-G|0;S=U-H|0;R=nF(R|0,((R|0)<0)<<31>>31|0,r|0,o|0)|0;Z=E;Y=nF(Y|0,((Y|0)<0)<<31>>31|0,b|0,l|0)|0;Z=bF(Y|0,E|0,R|0,Z|0)|0;R=E;S=nF(S|0,((S|0)<0)<<31>>31|0,m|0,n|0)|0;S=bF(Z|0,R|0,S|0,E|0)|0;R=E;if(!((R|0)>0|(R|0)==0&S>>>0>0)){s=117;break b}if((O|0)==0&(N|0)==0){if((T|0)>=0){s=117;break b}}else{if((N|0)>=0){s=117;break b}if((T|0)>0){U=1;V=1;P=T;T=((T|0)<0)<<31>>31}else{P=_E(0,0,T|0,((T|0)<0)<<31>>31|0)|0;U=(T|0)<0?-1:0;V=(T|0)<0?-1:0;P=(T|0)<0?P:0;T=(T|0)<0?E:0}if(!((N|0)>0|(N|0)==0&O>>>0>0)){O=_E(0,0,O|0,N|0)|0;U=0-V|0;N=E}do if((M|0)<=0)if((M|0)<0){c[g+64>>2]=-1;M=_E(0,0,M|0,((M|0)<0)<<31>>31|0)|0;c[g+48>>2]=M;c[g+52>>2]=E;M=-1;break}else{c[g+64>>2]=0;c[g+48>>2]=0;c[g+52>>2]=0;M=0;break}else{c[g+64>>2]=1;c[g+48>>2]=M;c[g+52>>2]=((M|0)<0)<<31>>31;M=1}while(0);do if(!((K|0)>0|(K|0)==0&L>>>0>0))if((K|0)<0){c[g+64>>2]=0-M;Z=_E(0,0,L|0,K|0)|0;c[g+56>>2]=Z;c[g+60>>2]=E;break}else{c[g+56>>2]=0;c[g+60>>2]=0;break}else{c[g+56>>2]=L;c[g+60>>2]=K}while(0);if((eE(P,T,O,N,U,g+48|0)|0)<=0){s=117;break b}}c[f>>2]=Q;N=c[Q+12>>2]|0;P=c[N+88>>2]|0;O=c[N+92>>2]|0;N=c[N+96>>2]|0;K=R;L=S}H=P-R|0;F=O-U|0;L=N-T|0;H=nF(H|0,((H|0)<0)<<31>>31|0,r|0,o|0)|0;G=E;F=nF(F|0,((F|0)<0)<<31>>31|0,b|0,l|0)|0;G=bF(F|0,E|0,H|0,G|0)|0;H=E;L=nF(L|0,((L|0)<0)<<31>>31|0,m|0,n|0)|0;L=bF(G|0,H|0,L|0,E|0)|0;c[e>>2]=(Q|0)==(s|0)?0:t;H=T;G=U;F=R;K=E}if((s|0)==117){i=g;return}}if((C|0)>=0){i=g;return}s=_E(0,0,u|0,((u|0)<0)<<31>>31|0)|0;t=E;while(1){F=(aa(A-w|0,k)|0)+(aa(z-v|0,p)|0)+(aa(B-x|0,j)|0)|0;d:do if((y|0)==0){u=F;y=F;F=((F|0)<0)<<31>>31}else{u=F;G=F;F=((F|0)<0)<<31>>31;while(1){if((c[y+12>>2]|0)==0){y=G;break d}K=c[(c[y+4>>2]|0)+8>>2]|0;if((c[K+20>>2]|0)<=(c[a+100>>2]|0)){y=G;break d}J=c[K+12>>2]|0;H=c[J+88>>2]|0;Z=H-B|0;I=c[J+92>>2]|0;Y=I-A|0;J=c[J+96>>2]|0;M=J-z|0;N=nF(Z|0,((Z|0)<0)<<31>>31|0,r|0,o|0)|0;X=E;P=nF(Y|0,((Y|0)<0)<<31>>31|0,b|0,l|0)|0;X=bF(P|0,E|0,N|0,X|0)|0;N=E;P=nF(M|0,((M|0)<0)<<31>>31|0,m|0,n|0)|0;P=bF(X|0,N|0,P|0,E|0)|0;N=E;M=(aa(Y,k)|0)+(aa(Z,j)|0)+(aa(M,p)|0)|0;if((P|0)==0&(N|0)==0){if((M|0)<=0){y=G;break d}}else{if((N|0)>=0){y=G;break d}if((M|0)>0){O=1;Q=1;L=M;M=((M|0)<0)<<31>>31}else{L=_E(0,0,M|0,((M|0)<0)<<31>>31|0)|0;O=(M|0)<0?-1:0;Q=(M|0)<0?-1:0;L=(M|0)<0?L:0;M=(M|0)<0?E:0}if(!((N|0)>0|(N|0)==0&P>>>0>0)){P=_E(0,0,P|0,N|0)|0;O=0-Q|0;N=E}do if((u|0)<=0)if((u|0)<0){c[g+40>>2]=-1;Q=_E(0,0,G|0,F|0)|0;c[g+24>>2]=Q;c[g+28>>2]=E;Q=-1;break}else{c[g+40>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;Q=0;break}else{c[g+40>>2]=1;c[g+24>>2]=G;c[g+28>>2]=F;Q=1}while(0);do if(!((C|0)>0|(C|0)==0&D>>>0>0))if((C|0)<0){c[g+40>>2]=0-Q;Z=_E(0,0,D|0,C|0)|0;c[g+32>>2]=Z;c[g+36>>2]=E;break}else{c[g+32>>2]=0;c[g+36>>2]=0;break}else{c[g+32>>2]=D;c[g+36>>2]=C}while(0);if((eE(L,M,P,N,O,g+24|0)|0)>=1){y=G;break d}}F=H-x|0;Y=I-w|0;Z=J-v|0;C=nF(F|0,((F|0)<0)<<31>>31|0,r|0,o|0)|0;X=E;D=nF(Y|0,((Y|0)<0)<<31>>31|0,b|0,l|0)|0;X=bF(D|0,E|0,C|0,X|0)|0;C=E;D=nF(Z|0,((Z|0)<0)<<31>>31|0,m|0,n|0)|0;D=bF(X|0,C|0,D|0,E|0)|0;C=E;y=(y|0)==(h|0)?0:K;c[f>>2]=y;F=(aa(Y,k)|0)+(aa(Z,p)|0)+(aa(F,j)|0)|0;if((y|0)==0){z=J;A=I;B=H;u=F;y=F;F=((F|0)<0)<<31>>31;break}else{B=H;A=I;z=J;u=F;G=F;F=((F|0)<0)<<31>>31}}}while(0);G=c[e>>2]|0;if((G|0)==0){s=117;break}if((c[G+12>>2]|0)==0){s=117;break}G=c[(c[G+8>>2]|0)+4>>2]|0;if((c[G+20>>2]|0)<=(c[a+100>>2]|0)){s=117;break}K=c[G+12>>2]|0;H=c[K+88>>2]|0;I=H-x|0;x=c[K+92>>2]|0;J=x-w|0;K=c[K+96>>2]|0;L=K-v|0;Z=nF(I|0,((I|0)<0)<<31>>31|0,q|0,((q|0)<0)<<31>>31|0)|0;X=E;Y=nF(J|0,((J|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;X=bF(Y|0,E|0,Z|0,X|0)|0;Z=E;Y=nF(L|0,((L|0)<0)<<31>>31|0,s|0,t|0)|0;if(!((X|0)==(Y|0)&(Z|0)==(E|0))){s=117;break}v=nF(I|0,((I|0)<0)<<31>>31|0,r|0,o|0)|0;Y=E;w=nF(J|0,((J|0)<0)<<31>>31|0,b|0,l|0)|0;Y=bF(w|0,E|0,v|0,Y|0)|0;v=E;w=nF(L|0,((L|0)<0)<<31>>31|0,m|0,n|0)|0;w=bF(Y|0,v|0,w|0,E|0)|0;v=E;J=(aa(J,k)|0)+(aa(I,j)|0)+(aa(L,p)|0)|0;H=B-H|0;Y=A-x|0;I=z-K|0;H=nF(H|0,((H|0)<0)<<31>>31|0,r|0,o|0)|0;Z=E;Y=nF(Y|0,((Y|0)<0)<<31>>31|0,b|0,l|0)|0;Z=bF(Y|0,E|0,H|0,Z|0)|0;H=E;I=nF(I|0,((I|0)<0)<<31>>31|0,m|0,n|0)|0;I=bF(Z|0,H|0,I|0,E|0)|0;H=E;if((H|0)>=0){s=117;break}if((w|0)==0&(v|0)==0){if((J|0)<=0){s=117;break}}else{if((v|0)>=0){s=117;break}if((J|0)>0){K=1;L=1;x=J;J=((J|0)<0)<<31>>31}else{x=_E(0,0,J|0,((J|0)<0)<<31>>31|0)|0;K=(J|0)<0?-1:0;L=(J|0)<0?-1:0;x=(J|0)<0?x:0;J=(J|0)<0?E:0}if(!((v|0)>0|(v|0)==0&w>>>0>0)){w=_E(0,0,w|0,v|0)|0;K=0-L|0;v=E}do if((u|0)<=0)if((u|0)<0){c[g+16>>2]=-1;u=_E(0,0,y|0,F|0)|0;c[g>>2]=u;c[g+4>>2]=E;u=-1;break}else{c[g+16>>2]=0;c[g>>2]=0;c[g+4>>2]=0;u=0;break}else{c[g+16>>2]=1;c[g>>2]=y;c[g+4>>2]=F;u=1}while(0);do if(!((C|0)>0|(C|0)==0&D>>>0>0))if((C|0)<0){c[g+16>>2]=0-u;Z=_E(0,0,D|0,C|0)|0;c[g+8>>2]=Z;c[g+12>>2]=E;break}else{c[g+8>>2]=0;c[g+12>>2]=0;break}else{c[g+8>>2]=D;c[g+12>>2]=C}while(0);if((eE(x,J,w,v,K,g)|0)>=0){s=117;break}}c[e>>2]=G;x=c[G+12>>2]|0;v=c[x+96>>2]|0;w=c[x+92>>2]|0;x=c[x+88>>2]|0;y=c[f>>2]|0;D=I;C=H}if((s|0)==117){i=g;return}}function jE(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0,h=0,j=0;b=i;i=i+16|0;e=c[a+8>>2]|0;d=c[a+12>>2]|0;if((d|0)>-1|(d|0)==-1&e>>>0>4294967295){f=(+(e>>>0)+4294967296.0*+(d>>>0))*18446744073709552000.0+(+((c[a>>2]|0)>>>0)+4294967296.0*+((c[a+4>>2]|0)>>>0));i=b;return+f}else{j=c[a>>2]|0;h=c[a+4>>2]|0;g=_E(0,0,j|0,h|0)|0;a=E;e=bF((j|0)==0&(h|0)==0&1|0,0,~e|0,~d|0)|0;c[b>>2]=g;c[b+4>>2]=a;c[b+8>>2]=e;c[b+12>>2]=E;f=-+jE(b);i=b;return+f}return 0.0}function kE(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,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,A=0,B=0,C=0,D=0,E=0;f=i;i=i+256|0;if((e|0)<1){e=c[b+12>>2]|0;if((e|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+52>>2]|0;if((e|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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=f;return}c[f+88>>2]=0;c[f+92>>2]=0;h=f+96|0;c[h>>2]=0;c[f+100>>2]=256;c[f+104>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;c[f+116>>2]=256;c[f+120>>2]=0;c[f+124>>2]=0;c[f+128>>2]=0;c[f+132>>2]=256;a[f+152>>0]=1;j=f+148|0;c[j>>2]=0;c[f+140>>2]=0;c[f+144>>2]=0;t=1.0000000150474662e+30;x=1.0000000150474662e+30;u=1.0000000150474662e+30;y=-1.0000000150474662e+30;w=-1.0000000150474662e+30;v=-1.0000000150474662e+30;n=0;m=d;while(1){q=+g[m>>2];r=+g[m+4>>2];s=+g[m+8>>2];t=q>2]=r>2]=q>2]=m;n=c[p>>2]|0;if((m|0)==(n|0)){m=((m+1|0)>>>0)%3|0;c[f+160>>2]=m;n=c[p>>2]|0}E=3-n-m|0;c[f+164>>2]=E;if(((E+1|0)%3|0|0)==(c[p>>2]|0)){q=q*9788566967472434.0e-20;r=r*9788566967472434.0e-20;s=s*9788566967472434.0e-20}else{q=q*9788566967472434.0e-20*-1.0;r=r*9788566967472434.0e-20*-1.0;s=s*9788566967472434.0e-20*-1.0}g[f+56>>2]=q;g[f+60>>2]=r;g[f+64>>2]=s;g[f+68>>2]=0.0;if(q!=0.0)q=1.0/q;if(r!=0.0)r=1.0/r;if(s!=0.0)s=1.0/s;g[f+72>>2]=(t+y)*.5;g[f+76>>2]=(x+w)*.5;g[f+80>>2]=(u+v)*.5;g[f+84>>2]=0.0;m=f+248|0;a[m>>0]=1;n=f+244|0;c[n>>2]=0;o=f+236|0;c[o>>2]=0;c[f+240>>2]=0;if((e|0)>0){c[5004]=(c[5004]|0)+1;z=XE((e<<4|3)+16|0)|0;if((z|0)==0)z=0;else{c[(z+19&-16)+ -4>>2]=z;z=z+19&-16}C=c[o>>2]|0;if((C|0)>0){A=0;do{B=z+(A<<4)|0;if((B|0)!=0){E=(c[n>>2]|0)+(A<<4)|0;c[B+0>>2]=c[E+0>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2]}A=A+1|0}while((A|0)!=(C|0))}A=c[n>>2]|0;if((A|0)!=0){if((a[m>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[A+ -4>>2]|0)}c[n>>2]=0}a[m>>0]=1;c[n>>2]=z;c[f+240>>2]=e;A=0;while(1){z=z+(A<<4)|0;if((z|0)!=0){c[z+0>>2]=c[f+216>>2];c[z+4>>2]=c[f+220>>2];c[z+8>>2]=c[f+224>>2];c[z+12>>2]=c[f+228>>2]}A=A+1|0;if((A|0)==(e|0))break;z=c[n>>2]|0}c[o>>2]=e;z=c[n>>2]|0;u=+g[f+72>>2];v=+g[f+76>>2];t=+g[f+80>>2];A=0;while(1){w=+g[d>>2];g[f+200>>2]=w;x=+g[d+4>>2];g[f+204>>2]=x;y=s*(+g[d+8>>2]-t);g[f+200>>2]=q*(w-u);g[f+204>>2]=r*(x-v);g[f+208>>2]=y;g[f+212>>2]=0.0;c[z+(A<<4)>>2]=~~+g[f+200+(c[f+164>>2]<<2)>>2];c[z+(A<<4)+4>>2]=~~+g[f+200+(c[p>>2]<<2)>>2];c[z+(A<<4)+8>>2]=~~+g[f+200+(c[f+160>>2]<<2)>>2];c[z+(A<<4)+12>>2]=A;A=A+1|0;if((A|0)==(e|0))break;d=d+16|0}d=c[o>>2]|0;if((d|0)>1)lE(f+232|0,0,d+ -1|0)}else c[o>>2]=e;c[f+92>>2]=c[f+88>>2];c[h>>2]=0;c[f+100>>2]=e;d=c[f+140>>2]|0;if((d|0)<(e|0)){if((c[f+144>>2]|0)<(e|0)){if((e|0)==0){p=0;z=d}else{c[5004]=(c[5004]|0)+1;p=XE((e<<2|3)+16|0)|0;if((p|0)==0)p=0;else{c[(p+19&-16)+ -4>>2]=p;p=p+19&-16}z=c[f+140>>2]|0}if((z|0)>0){B=0;do{A=p+(B<<2)|0;if((A|0)!=0)c[A>>2]=c[(c[j>>2]|0)+(B<<2)>>2];B=B+1|0}while((B|0)!=(z|0))}z=c[j>>2]|0;if((z|0)!=0){if((a[f+152>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[z+ -4>>2]|0)}c[j>>2]=0}a[f+152>>0]=1;c[j>>2]=p;c[f+144>>2]=e}do{p=(c[j>>2]|0)+(d<<2)|0;if((p|0)!=0)c[p>>2]=0;d=d+1|0}while((d|0)!=(e|0))}c[f+140>>2]=e;if((e|0)>0){d=0;do{p=c[h>>2]|0;if((p|0)==0){p=c[f+92>>2]|0;if((p|0)==0){c[5004]=(c[5004]|0)+1;p=XE(31)|0;if((p|0)!=0?(l=p+19&-16,c[l+ -4>>2]=p,(p+19&-16|0)!=0):0){z=c[f+100>>2]|0;c[l+4>>2]=z;c[l+8>>2]=0;c[5004]=(c[5004]|0)+1;z=XE((z*112|3)+16|0)|0;if((z|0)==0)z=0;else{c[(z+19&-16)+ -4>>2]=z;z=z+19&-16}c[(p+19&-16)>>2]=z;p=p+19&-16}else p=0;c[p+8>>2]=c[f+88>>2];c[f+88>>2]=p}else c[f+92>>2]=c[p+8>>2];z=c[p+4>>2]|0;if((z|0)>0){A=0;B=c[p>>2]|0;do{A=A+1|0;E=B;B=B+112|0;c[E>>2]=(A|0)<(z|0)?B:0}while((A|0)!=(z|0))}p=c[p>>2]|0;c[h>>2]=c[p>>2];if((p|0)==0)p=0;else k=85}else{c[h>>2]=c[p>>2];k=85}if((k|0)==85){k=0;E=p+104|0;c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[E>>2]=-1}c[p+8>>2]=0;E=p+88|0;D=(c[n>>2]|0)+(d<<4)|0;c[E+0>>2]=c[D+0>>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[p+104>>2]=-1;c[(c[j>>2]|0)+(d<<2)>>2]=p;d=d+1|0}while((d|0)<(e|0))}h=c[n>>2]|0;if((h|0)!=0){if((a[m>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[n>>2]=0}a[m>>0]=1;c[n>>2]=0;c[o>>2]=0;c[f+240>>2]=0;c[f+108>>2]=c[f+104>>2];c[f+112>>2]=0;c[f+116>>2]=e*6;c[f+172>>2]=0;c[f+176>>2]=0;c[f+156>>2]=-3;c[f+184>>2]=0;c[f+188>>2]=0;c[f+192>>2]=0;c[f+196>>2]=0;gE(f+56|0,0,e,f+184|0);c[f+180>>2]=c[f+184>>2];e=c[n>>2]|0;if((e|0)!=0){if((a[m>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[n>>2]=0}e=c[b+4>>2]|0;if((e|0)<0){if((c[b+8>>2]|0)<0){h=c[b+12>>2]|0;if((h|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(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{E=(c[b+12>>2]|0)+(e<<4)|0;c[E+0>>2]=c[f+40>>2];c[E+4>>2]=c[f+44>>2];c[E+8>>2]=c[f+48>>2];c[E+12>>2]=c[f+52>>2];e=e+1|0}while((e|0)!=0)}c[b+4>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;c[f+32>>2]=0;h=c[b+24>>2]|0;if((h|0)<0){if((c[b+28>>2]|0)<0){e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=0;c[b+28>>2]=0}do{e=(c[b+32>>2]|0)+(h*12|0)|0;if((e|0)!=0){c[e+0>>2]=c[f+24>>2];c[e+4>>2]=c[f+28>>2];c[e+8>>2]=c[f+32>>2]}h=h+1|0}while((h|0)!=0)}c[b+24>>2]=0;h=c[b+44>>2]|0;if((h|0)<0){e=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if((e|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;e=0}j=h;do{h=e+(j<<2)|0;if((h|0)!=0)c[h>>2]=0;j=j+1|0}while((j|0)!=0)}c[b+44>>2]=0;e=c[f+180>>2]|0;if((c[e+104>>2]|0)<0){c[e+104>>2]=0;c[5004]=(c[5004]|0)+1;h=XE(23)|0;if((h|0)!=0){c[(h+19&-16)+ -4>>2]=h;p=h+19&-16;if((h+19&-16|0)!=0)c[p>>2]=e}else p=0;j=1;o=1;e=0;while(1){h=c[p+(e<<2)>>2]|0;if((c[h+100>>2]|0)>-1){g[f+232+(c[f+164>>2]<<2)>>2]=+(c[h+88>>2]|0);g[f+232+(c[f+168>>2]<<2)>>2]=+(c[h+92>>2]|0);q=+(c[h+96>>2]|0)}else{q=+jE(h+24|0);q=q/+jE(h+72|0);g[f+232+(c[f+164>>2]<<2)>>2]=q;q=+jE(h+40|0);q=q/+jE(h+72|0);g[f+232+(c[f+168>>2]<<2)>>2]=q;q=+jE(h+56|0);q=q/+jE(h+72|0)}g[f+232+(c[f+160>>2]<<2)>>2]=q;s=+g[f+232>>2]*+g[f+56>>2]+ +g[f+72>>2];q=+g[f+236>>2]*+g[f+60>>2]+ +g[f+76>>2];r=+g[f+240>>2]*+g[f+64>>2]+ +g[f+80>>2];m=c[b+4>>2]|0;do if((m|0)==(c[b+8>>2]|0)){k=(m|0)==0?1:m<<1;if((m|0)>=(k|0))break;if((k|0)==0)l=0;else{c[5004]=(c[5004]|0)+1;l=XE((k<<4|3)+16|0)|0;if((l|0)==0)l=0;else{c[(l+19&-16)+ -4>>2]=l;l=l+19&-16}m=c[b+4>>2]|0}if((m|0)>0){n=0;do{E=l+(n<<4)|0;D=(c[b+12>>2]|0)+(n<<4)|0;c[E+0>>2]=c[D+0>>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];n=n+1|0}while((n|0)!=(m|0))}m=c[b+12>>2]|0;if((m|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=l;c[b+8>>2]=k;m=c[b+4>>2]|0}while(0);E=c[b+12>>2]|0;g[E+(m<<4)>>2]=s;g[E+(m<<4)+4>>2]=q;g[E+(m<<4)+8>>2]=r;g[E+(m<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;h=c[h+8>>2]|0;if((h|0)!=0){k=h;l=-1;m=-1;do{n=k+20|0;d=c[n>>2]|0;if((d|0)<0){d=c[b+24>>2]|0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;z=c[b+28>>2]|0;do if((d|0)==(z|0)){z=(d|0)==0?1:d<<1;if((d|0)>=(z|0)){A=d;z=d;break}if((z|0)==0){A=0;D=d}else{c[5004]=(c[5004]|0)+1;A=XE((z*12|3)+16|0)|0;if((A|0)==0)A=0;else{c[(A+19&-16)+ -4>>2]=A;A=A+19&-16}D=c[b+24>>2]|0}if((D|0)>0){C=0;do{B=A+(C*12|0)|0;if((B|0)!=0){E=(c[b+32>>2]|0)+(C*12|0)|0;c[B+0>>2]=c[E+0>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2]}C=C+1|0}while((C|0)!=(D|0))}B=c[b+32>>2]|0;if((B|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[B+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=A;c[b+28>>2]=z;A=c[b+24>>2]|0}else A=d;while(0);B=(c[b+32>>2]|0)+(A*12|0)|0;if((B|0)==0)D=z;else{c[B+0>>2]=c[f+12>>2];c[B+4>>2]=c[f+16>>2];c[B+8>>2]=c[f+20>>2];A=c[b+24>>2]|0;D=c[b+28>>2]|0}z=A+1|0;c[b+24>>2]=z;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;do if((z|0)==(D|0)){z=(D|0)==0?1:D<<1;if((D|0)>=(z|0))break;if((z|0)==0)A=0;else{c[5004]=(c[5004]|0)+1;A=XE((z*12|3)+16|0)|0;if((A|0)==0)A=0;else{c[(A+19&-16)+ -4>>2]=A;A=A+19&-16}D=c[b+24>>2]|0}if((D|0)>0){C=0;do{B=A+(C*12|0)|0;if((B|0)!=0){E=(c[b+32>>2]|0)+(C*12|0)|0;c[B+0>>2]=c[E+0>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2]}C=C+1|0}while((C|0)!=(D|0))}B=c[b+32>>2]|0;if((B|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[B+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=A;c[b+28>>2]=z;D=c[b+24>>2]|0}else D=z;while(0);z=c[b+32>>2]|0;A=z+(D*12|0)|0;if((A|0)!=0){c[A+0>>2]=c[f+0>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];D=c[b+24>>2]|0;z=c[b+32>>2]|0}c[b+24>>2]=D+1;c[n>>2]=d;c[(c[k+8>>2]|0)+20>>2]=d+1;c[z+(d*12|0)+4>>2]=1;c[z+((d+1|0)*12|0)+4>>2]=-1;A=c[k+12>>2]|0;B=c[A+104>>2]|0;if((B|0)<0){c[A+104>>2]=j;do if((j|0)==(o|0)){B=(o|0)==0?1:o<<1;if((o|0)>=(B|0))break;do if((B|0)==0)C=0;else{c[5004]=(c[5004]|0)+1;C=XE((B<<2|3)+16|0)|0;if((C|0)==0){C=0;break}c[(C+19&-16)+ -4>>2]=C;C=C+19&-16}while(0);if((o|0)>0){E=0;do{D=C+(E<<2)|0;if((D|0)!=0)c[D>>2]=c[p+(E<<2)>>2];E=E+1|0}while((E|0)!=(o|0))}if((p|0)==0){p=C;o=B;break}c[5006]=(c[5006]|0)+1;YE(c[p+ -4>>2]|0);p=C;o=B}while(0);B=p+(j<<2)|0;if((B|0)!=0)c[B>>2]=A;A=j+1|0}else{A=j;j=B}c[z+(d*12|0)+8>>2]=j;c[z+((d+1|0)*12|0)+8>>2]=e;d=c[n>>2]|0;j=A}if((m|0)>-1){c[(c[b+32>>2]|0)+(d*12|0)>>2]=m-d;m=c[n>>2]|0}else{m=d;l=d}k=c[k>>2]|0}while((k|0)!=(h|0));c[(c[b+32>>2]|0)+(l*12|0)>>2]=m-l}h=e+1|0;if((h|0)<(j|0))e=h;else break}if((e|0)>-1){k=0;do{e=c[(c[p+(k<<2)>>2]|0)+8>>2]|0;if((e|0)!=0){j=e;do{l=j+20|0;if((c[l>>2]|0)>-1){d=c[b+44>>2]|0;do if((d|0)==(c[b+48>>2]|0)){m=(d|0)==0?1:d<<1;if((d|0)>=(m|0))break;if((m|0)==0)n=0;else{c[5004]=(c[5004]|0)+1;n=XE((m<<2|3)+16|0)|0;if((n|0)==0)n=0;else{c[(n+19&-16)+ -4>>2]=n;n=n+19&-16}d=c[b+44>>2]|0}if((d|0)>0){o=0;do{z=n+(o<<2)|0;if((z|0)!=0)c[z>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(d|0))}o=c[b+52>>2]|0;if((o|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[o+ -4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=n;c[b+48>>2]=m;d=c[b+44>>2]|0}while(0);m=(c[b+52>>2]|0)+(d<<2)|0;if((m|0)!=0){c[m>>2]=c[l>>2];d=c[b+44>>2]|0}c[b+44>>2]=d+1;l=j;do{c[l+20>>2]=-1;l=c[(c[l+8>>2]|0)+4>>2]|0}while((l|0)!=(j|0))}j=c[j>>2]|0}while((j|0)!=(e|0))}k=k+1|0}while((k|0)<(h|0))}if((p|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[p+ -4>>2]|0)}}mE(f+56|0);i=f;return}function lE(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;j=i;i=i+16|0;h=c[a+12>>2]|0;f=c[h+(((d+b|0)/2|0)<<4)>>2]|0;g=c[h+(((d+b|0)/2|0)<<4)+4>>2]|0;e=c[h+(((d+b|0)/2|0)<<4)+8>>2]|0;k=b;l=d;while(1){while(1){m=c[h+(k<<4)+4>>2]|0;if((m|0)>=(g|0)){if((m|0)!=(g|0))break;m=c[h+(k<<4)>>2]|0;if((m|0)>=(f|0)){if((m|0)!=(f|0))break;if((c[h+(k<<4)+8>>2]|0)>=(e|0))break}}k=k+1|0}while(1){m=c[h+(l<<4)+4>>2]|0;if((g|0)>=(m|0)){if((g|0)!=(m|0))break;m=c[h+(l<<4)>>2]|0;if((f|0)>=(m|0)){if((f|0)!=(m|0))break;if((e|0)>=(c[h+(l<<4)+8>>2]|0))break}}l=l+ -1|0}if((k|0)<=(l|0)){m=h+(k<<4)|0;c[j+0>>2]=c[m+0>>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];h=h+(l<<4)|0;c[m+0>>2]=c[h+0>>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];m=(c[a+12>>2]|0)+(l<<4)|0;c[m+0>>2]=c[j+0>>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];k=k+1|0;l=l+ -1|0}if((k|0)>(l|0))break;h=c[a+12>>2]|0}if((l|0)>(b|0))lE(a,b,l);if((k|0)>=(d|0)){i=j;return}lE(a,k,d);i=j;return}function mE(b){b=b|0;var d=0,e=0,f=0;d=i;e=c[b+92>>2]|0;if((e|0)!=0){if((a[b+96>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+64>>2]|0;if((e|0)!=0)do{c[b+64>>2]=c[e+8>>2];f=c[e>>2]|0;if((f|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);e=c[b+64>>2]|0}while((e|0)!=0);f=c[b+48>>2]|0;if((f|0)!=0)do{c[b+48>>2]=c[f+8>>2];e=c[f>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0);f=c[b+48>>2]|0}while((f|0)!=0);e=c[b+32>>2]|0;if((e|0)==0){i=d;return}do{c[b+32>>2]=c[e+8>>2];f=c[e>>2]|0;if((f|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);e=c[b+32>>2]|0}while((e|0)!=0);i=d;return}function nE(a){a=a|0;var b=0,d=0;b=i;do{c[a+4>>2]=0;g[a+8>>2]=0.0;d=c[a+24>>2]|0;if((d|0)!=0)nE(d);a=c[a+28>>2]|0}while((a|0)!=0);i=b;return}function oE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=c[5022]|0;if((c[d>>2]|0)!=(a|0)){f=c[d+24>>2]|0;a:do if((f|0)==0)e=5;else while(1){if((c[f>>2]|0)==(a|0)){d=f;break a}f=c[f+28>>2]|0;if((f|0)==0){e=5;break}}while(0);if((e|0)==5){e=XE(36)|0;b:do if((e|0)==0){while(1){e=c[5158]|0;c[5158]=e+0;if((e|0)==0)break;sc[e&3]();e=XE(36)|0;if((e|0)!=0)break b}f=Ab(4)|0;c[f>>2]=20472;yb(f|0,20520,265)}while(0);c[e>>2]=a;a=e+4|0;f=e+20|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[f>>2]=d;c[e+24>>2]=0;f=e+28|0;c[f>>2]=0;c[e+32>>2]=0;nE(e);c[f>>2]=c[d+24>>2];c[d+24>>2]=e;d=e}c[5022]=d}e=d+4|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;f=c[e>>2]|0;c[e>>2]=f+1;if((f|0)!=0){i=b;return}Eb(b|0,0)|0;f=c[5008]|0;c[d+12>>2]=(c[b+4>>2]|0)-(c[f+4>>2]|0)+(((c[b>>2]|0)-(c[f>>2]|0)|0)*1e6|0);i=b;return}function pE(){var a=0,b=0;a=i;b=XE(8)|0;a:do if((b|0)==0){while(1){b=c[5158]|0;c[5158]=b+0;if((b|0)==0)break;sc[b&3]();b=XE(8)|0;if((b|0)!=0)break a}b=Ab(4)|0;c[b>>2]=20472;yb(b|0,20520,265)}while(0);c[5008]=b;Eb(b|0,0)|0;c[5010]=20080;c[5011]=0;c[5012]=0;c[5013]=0;c[5014]=0;c[5015]=0;c[5016]=0;c[5017]=0;c[5018]=0;nE(20040);i=a;return}function qE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[o>>2]|0;_a(b|0,a|0,d|0)|0;xb(10,b|0)|0;zb()}function rE(){var a=0,b=0,d=0,e=0;a=i;i=i+16|0;if((sb(20288,3)|0)!=0)qE(20296,a);b=pb(c[5070]|0)|0;if((b|0)==0)qE(20264,a);b=c[b>>2]|0;if((b|0)==0)qE(20264,a);d=c[b+48>>2]|0;e=c[b+52>>2]|0;if(!((d&-256|0)==1126902528&(e|0)==1129074247)){c[a>>2]=20112;qE(20224,a)}if((d|0)==1126902529&(e|0)==1129074247)d=c[b+44>>2]|0;else d=b+80|0;c[a+12>>2]=d;e=c[b>>2]|0;b=c[e+4>>2]|0;if(FE(20656,e,a+12|0)|0){e=c[a+12>>2]|0;e=Pb[c[(c[e>>2]|0)+8>>2]&127](e)|0;c[a>>2]=20112;c[a+4>>2]=b;c[a+8>>2]=e;qE(20128,a)}else{c[a>>2]=20112;c[a+4>>2]=b;qE(20176,a)}}function sE(){var a=0;a=i;i=i+16|0;if((tb(20280,273)|0)==0){i=a;return}else qE(20352,a)}function tE(a){a=a|0;var b=0;b=i;i=i+16|0;YE(a);if((wb(c[5070]|0,0)|0)==0){i=b;return}else qE(20408,b)}function uE(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function vE(a){a=a|0;return}function wE(a){a=a|0;return 20488}function xE(a){a=a|0;var b=0;b=i;i=i+16|0;sc[a&3]();qE(20536,b)}function yE(){var a=0,b=0;b=i;i=i+16|0;if((sb(20288,3)|0)!=0)qE(20296,b);b=pb(c[5070]|0)|0;if(((b|0)!=0?(a=c[b>>2]|0,(a|0)!=0):0)?(c[a+52>>2]|0)==1129074247?(c[a+48>>2]&-256|0)==1126902528:0:0)xE(c[a+12>>2]|0);b=c[5026]|0;c[5026]=b+0;xE(b)}function zE(a){a=a|0;return}function AE(a){a=a|0;return}function BE(a){a=a|0;return}function CE(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function DE(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function EE(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function FE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+64|0;if((a|0)==(b|0)){g=1;i=e;return g|0}if((b|0)==0){g=0;i=e;return g|0}b=LE(b,20784)|0;if((b|0)==0){g=0;i=e;return g|0}g=e+0|0;f=g+56|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(f|0));c[e>>2]=b;c[e+8>>2]=a;c[e+12>>2]=-1;c[e+48>>2]=1;vc[c[(c[b>>2]|0)+28>>2]&127](b,e,c[d>>2]|0,1);if((c[e+24>>2]|0)!=1){g=0;i=e;return g|0}c[d>>2]=c[e+16>>2];g=1;i=e;return g|0}function GE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=c[b+16>>2]|0;if((g|0)==0){c[b+16>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1;i=f;return}if((g|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;i=f;return}if((c[b+24>>2]|0)!=2){i=f;return}c[b+24>>2]=e;i=f;return}function HE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((c[b+8>>2]|0)!=(a|0)){i=f;return}GE(b,d,e);i=f;return}function IE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((a|0)==(c[b+8>>2]|0)){GE(b,d,e);i=f;return}else{a=c[a+8>>2]|0;vc[c[(c[a>>2]|0)+28>>2]&127](a,b,d,e);i=f;return}}function JE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=c[a+4>>2]|0;if((g&1|0)==0)h=g>>8;else h=c[(c[d>>2]|0)+(g>>8)>>2]|0;a=c[a>>2]|0;vc[c[(c[a>>2]|0)+28>>2]&127](a,b,d+h|0,(g&2|0)!=0?e:2);i=f;return}function KE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;if((b|0)==(c[d+8>>2]|0)){GE(d,e,f);i=g;return}h=c[b+12>>2]|0;JE(b+16|0,d,e,f);if((h|0)<=1){i=g;return}j=b+24|0;while(1){JE(j,d,e,f);if((a[d+54>>0]|0)!=0){f=7;break}j=j+8|0;if(!(j>>>0<(b+(h<<3)+16|0)>>>0)){f=7;break}}if((f|0)==7){i=g;return}}function LE(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+64|0;g=c[d>>2]|0;h=d+(c[g+ -8>>2]|0)|0;g=c[g+ -4>>2]|0;c[f>>2]=e;c[f+4>>2]=d;c[f+8>>2]=20728;j=f+12|0;d=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(d|0));b[f+52>>1]=0;a[f+54>>0]=0;do if((g|0)==(e|0)){c[f+48>>2]=1;Zb[c[(c[g>>2]|0)+20>>2]&7](g,f,h,h,1,0);e=(c[f+24>>2]|0)==1?h:0}else{Jb[c[(c[g>>2]|0)+24>>2]&31](g,f,h,1,0);e=c[f+36>>2]|0;if((e|0)==0){if((c[f+40>>2]|0)!=1){e=0;break}if((c[f+28>>2]|0)!=1){e=0;break}e=(c[f+32>>2]|0)==1?c[f+20>>2]|0:0;break}else if((e|0)!=1){e=0;break}if((c[f+24>>2]|0)!=1){if((c[f+40>>2]|0)!=0){e=0;break}if((c[f+28>>2]|0)!=1){e=0;break}if((c[f+32>>2]|0)!=1){e=0;break}}e=c[f+16>>2]|0}while(0);i=f;return e|0}function ME(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;a[b+53>>0]=1;if((c[b+4>>2]|0)!=(e|0)){i=g;return}a[b+52>>0]=1;e=c[b+16>>2]|0;if((e|0)==0){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)){i=g;return}a[b+54>>0]=1;i=g;return}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;i=g;return}d=c[b+24>>2]|0;if((d|0)==2)c[b+24>>2]=f;else f=d;if(!((f|0)==1?(c[b+48>>2]|0)==1:0)){i=g;return}a[b+54>>0]=1;i=g;return}function NE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;k=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=k;return}if((c[d+28>>2]|0)==1){i=k;return}c[d+28>>2]=f;i=k;return}if((b|0)!=(c[d>>2]|0)){l=c[b+12>>2]|0;PE(b+16|0,d,e,f,g);if((l|0)<=1){i=k;return}m=c[b+8>>2]|0;if((m&2|0)==0?(c[d+36>>2]|0)!=1:0){if((m&1|0)==0){m=b+24|0;while(1){if((a[d+54>>0]|0)!=0){m=43;break}if((c[d+36>>2]|0)==1){m=43;break}PE(m,d,e,f,g);m=m+8|0;if(!(m>>>0<(b+(l<<3)+16|0)>>>0)){m=43;break}}if((m|0)==43){i=k;return}}m=b+24|0;while(1){if((a[d+54>>0]|0)!=0){m=43;break}if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0){m=43;break}PE(m,d,e,f,g);m=m+8|0;if(!(m>>>0<(b+(l<<3)+16|0)>>>0)){m=43;break}}if((m|0)==43){i=k;return}}m=b+24|0;while(1){if((a[d+54>>0]|0)!=0){m=43;break}PE(m,d,e,f,g);m=m+8|0;if(!(m>>>0<(b+(l<<3)+16|0)>>>0)){m=43;break}}if((m|0)==43){i=k;return}}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){i=k;return}n=c[b+12>>2]|0;a:do if((n|0)>0){o=0;m=0;l=b+16|0;b:do{a[d+52>>0]=0;a[d+53>>0]=0;OE(l,d,e,e,1,g);if((a[d+54>>0]|0)!=0)break;do if((a[d+53>>0]|0)!=0){if((a[d+52>>0]|0)==0)if((c[b+8>>2]&1|0)==0){m=1;break b}else{m=1;break}if((c[d+24>>2]|0)==1){m=25;break a}if((c[b+8>>2]&2|0)==0){m=25;break a}else{o=1;m=1}}while(0);l=l+8|0}while(l>>>0<(b+(n<<3)+16|0)>>>0);if(o){j=m;m=24}else{h=m;m=21}}else{h=0;m=21}while(0);if((m|0)==21){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(h)m=25;else m=26}else{j=h;m=24}}if((m|0)==24)if(j)m=25;else m=26;if((m|0)==25){c[d+44>>2]=3;i=k;return}else if((m|0)==26){c[d+44>>2]=4;i=k;return}}if((f|0)!=1){i=k;return}c[d+32>>2]=1;i=k;return}function OE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;j=c[a+4>>2]|0;if((j&1|0)==0)k=j>>8;else k=c[(c[e>>2]|0)+(j>>8)>>2]|0;a=c[a>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+k|0,(j&2|0)!=0?f:2,g);i=h;return} - - - -function mw(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+288|0;if((c[b+16>>2]|0)==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+32>>2]=(n*J+k*I+m*y)*A+(n*H+k*G+m*w)*t+(n*v+k*z+m*x)*o;g[h+36>>2]=(q*J+r*I+s*y)*A+(q*H+r*G+s*w)*t+(q*v+r*z+s*x)*o;g[h+40>>2]=(u*J+j*I+l*y)*A+(u*H+j*G+l*w)*t+(u*v+j*z+l*x)*o;g[h+44>>2]=0.0;rc[d&127](h+48|0,K,h+32|0);o=+g[h+48>>2];t=+g[h+52>>2];A=+g[h+56>>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=s*(y-x*j)+(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+16>>2]=t*(A-z*j)+(v*(y-x*j)+u*(w-l*j))+ +g[e+48>>2];g[h+20>>2]=n;g[h+24>>2]=p;g[h+28>>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;qc[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|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;g[N+292>>2]=999999984306749400.0;g[N+296>>2]=999999984306749400.0;g[N+300>>2]=999999984306749400.0;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+340>>2]=0;c[N+344>>2]=0;c[N+348>>2]=0;a[N+352>>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=+$b[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;J=+$b[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+200>>2]=13392;g[h+204>>2]=0.0;g[h+208>>2]=1.0;g[h+212>>2]=0.0;g[h+216>>2]=0.0;c[h+220>>2]=b;c[h+224>>2]=O;c[h+228>>2]=N;c[h+232>>2]=M;c[h+236>>2]=L;c[h+240>>2]=K;g[h+244>>2]=I;g[h+248>>2]=J;a[h+252>>0]=0;c[h+260>>2]=-1;c[h+272>>2]=1;c[h+276>>2]=1;g[h+192>>2]=999999984306749400.0;c[h+64>>2]=c[d+0>>2];c[h+68>>2]=c[d+4>>2];c[h+72>>2]=c[d+8>>2];c[h+76>>2]=c[d+12>>2];c[h+80>>2]=c[d+16>>2];c[h+84>>2]=c[d+20>>2];c[h+88>>2]=c[d+24>>2];c[h+92>>2]=c[d+28>>2];c[h+96>>2]=c[d+32>>2];c[h+100>>2]=c[d+36>>2];c[h+104>>2]=c[d+40>>2];c[h+108>>2]=c[d+44>>2];c[h+112>>2]=c[d+48>>2];c[h+116>>2]=c[d+52>>2];c[h+120>>2]=c[d+56>>2];c[h+124>>2]=c[d+60>>2];c[h+128>>2]=c[e+0>>2];c[h+132>>2]=c[e+4>>2];c[h+136>>2]=c[e+8>>2];c[h+140>>2]=c[e+12>>2];c[h+144>>2]=c[e+16>>2];c[h+148>>2]=c[e+20>>2];c[h+152>>2]=c[e+24>>2];c[h+156>>2]=c[e+28>>2];c[h+160>>2]=c[e+32>>2];c[h+164>>2]=c[e+36>>2];c[h+168>>2]=c[e+40>>2];c[h+172>>2]=c[e+44>>2];c[h+176>>2]=c[e+48>>2];c[h+180>>2]=c[e+52>>2];c[h+184>>2]=c[e+56>>2];c[h+188>>2]=c[e+60>>2];qz(h+200|0,h+64|0,f,0,0);i=h;return}}function nw(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.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;k=i;i=i+304|0;l=+g[e+48>>2]- +g[d+48>>2];n=+g[e+52>>2]- +g[d+52>>2];m=+g[e+56>>2]- +g[d+56>>2];Bo(d,e,k+256|0,k+192|0);r=+g[k+192>>2];s=+g[k+256>>2]*r;t=r*+g[k+260>>2];r=r*+g[k+264>>2];g[k+176>>2]=s;g[k+180>>2]=t;g[k+184>>2]=r;g[k+188>>2]=0.0;q=+g[h+48>>2]- +g[f+48>>2];o=+g[h+52>>2]- +g[f+52>>2];p=+g[h+56>>2]- +g[f+56>>2];Bo(f,h,k+256|0,k+192|0);v=+g[k+192>>2];x=+g[k+256>>2]*v;w=v*+g[k+260>>2];v=v*+g[k+264>>2];g[k+160>>2]=x;g[k+164>>2]=w;g[k+168>>2]=v;g[k+172>>2]=0.0;h=c[b+12>>2]|0;u=+$b[c[(c[h>>2]|0)+16>>2]&15](h);h=c[b+16>>2]|0;if((h|0)==0)y=0.0;else y=+$b[c[(c[h>>2]|0)+16>>2]&15](h);r=u*+Q(+(s*s+t*t+r*r))+y*+Q(+(x*x+w*w+v*v));if(r+ +Q(+((q-l)*(q-l)+(o-n)*(o-n)+(p-m)*(p-m)))==0.0){e=0;i=k;return e|0}c[k+256>>2]=10224;g[k+292>>2]=999999984306749400.0;a[k+296>>0]=0;mw(b,d,f,k+256|0);e=(a[k+296>>0]|0)==0;c[k+144>>2]=c[k+276>>2];c[k+148>>2]=c[k+280>>2];c[k+152>>2]=c[k+284>>2];c[k+156>>2]=c[k+288>>2];if(e){e=0;i=k;return e|0}s=+g[k+260>>2];u=+g[k+264>>2];w=+g[k+268>>2];if(r+((q-l)*s+(o-n)*u+(p-m)*w)<=1.1920928955078125e-7){e=0;i=k;return e|0}y=+g[k+272>>2];v=+g[k+292>>2]+ +g[j+172>>2];t=0.0;h=0;while(1){if(!(v>.0010000000474974513)){f=18;break}e=c[j+168>>2]|0;if((e|0)!=0){z=c[(c[e>>2]|0)+20>>2]|0;g[k+128>>2]=1.0;g[k+132>>2]=1.0;g[k+136>>2]=1.0;g[k+140>>2]=0.0;Qb[z&7](e,k+144|0,.20000000298023224,k+128|0)}s=r+((p-m)*w+((o-n)*u+(q-l)*s));if(s<=1.1920928955078125e-7){j=0;f=19;break}x=t+v/s;if(!(!(x<0.0)&!(x>1.0)&!(x<=t))){j=0;f=19;break}ro(d,l,n,m,k+176|0,x,k+192|0);ro(f,q,o,p,k+160|0,x,k+64|0);e=c[j+168>>2]|0;if((e|0)!=0){z=c[(c[e>>2]|0)+20>>2]|0;g[k+48>>2]=1.0;g[k+52>>2]=0.0;g[k+56>>2]=0.0;g[k+60>>2]=0.0;Qb[z&7](e,k+240|0,.20000000298023224,k+48|0)}Kb[c[c[j>>2]>>2]&31](j,x);c[k>>2]=10224;g[k+36>>2]=999999984306749400.0;a[k+40>>0]=0;mw(b,k+192|0,k+64|0,k);if((a[k+40>>0]|0)==0){f=16;break}v=+g[k+36>>2]+ +g[j+172>>2];c[k+144>>2]=c[k+20>>2];c[k+148>>2]=c[k+24>>2];c[k+152>>2]=c[k+28>>2];c[k+156>>2]=c[k+32>>2];e=h+1|0;if((h|0)>63){f=17;break}else{s=+g[k+4>>2];u=+g[k+8>>2];w=+g[k+12>>2];y=+g[k+16>>2];t=x;h=e}}if((f|0)==16){rc[c[(c[j>>2]|0)+8>>2]&127](j,-1,h);z=0;i=k;return z|0}else if((f|0)==17){rc[c[(c[j>>2]|0)+8>>2]&127](j,-2,e);z=0;i=k;return z|0}else if((f|0)==18){g[j+164>>2]=t;g[j+132>>2]=s;g[j+136>>2]=u;g[j+140>>2]=w;g[j+144>>2]=y;c[j+148>>2]=c[k+144>>2];c[j+152>>2]=c[k+148>>2];c[j+156>>2]=c[k+152>>2];c[j+160>>2]=c[k+156>>2];z=1;i=k;return z|0}else if((f|0)==19){i=k;return j|0}return 0}function ow(a){a=a|0;return}function pw(a){a=a|0;return}function qw(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function rw(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function sw(a,b,c){a=a|0;b=b|0;c=c|0;return}function tw(a,b,c){a=a|0;b=b|0;c=c|0;return}function uw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0;h=i;if(!(+g[b+36>>2]>f)){i=h;return}a[b+40>>0]=1;c[b+4>>2]=c[d+0>>2];c[b+8>>2]=c[d+4>>2];c[b+12>>2]=c[d+8>>2];c[b+16>>2]=c[d+12>>2];c[b+20>>2]=c[e+0>>2];c[b+24>>2]=c[e+4>>2];c[b+28>>2]=c[e+8>>2];c[b+32>>2]=c[e+12>>2];g[b+36>>2]=f;i=h;return}function vw(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+12>>2]=c[b+0>>2];c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+8>>2];c[a+24>>2]=c[b+12>>2];uA(a);i=d;return}function ww(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;f=i;j=c[b+96>>2]|0;if((j|0)==(c[b+100>>2]|0)?(g=(j|0)==0?1:j<<1,(j|0)<(g|0)):0){if((g|0)==0)h=0;else{c[5004]=(c[5004]|0)+1;h=XE((g<<4|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+96>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<4)|0;m=(c[b+104>>2]|0)+(k<<4)|0;c[l+0>>2]=c[m+0>>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];k=k+1|0}while((k|0)!=(j|0))}j=c[b+104>>2]|0;if((j|0)!=0){if((a[b+108>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=h;c[b+100>>2]=g;j=c[b+96>>2]|0}m=(c[b+104>>2]|0)+(j<<4)|0;c[m+0>>2]=c[d+0>>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[b+96>>2]=(c[b+96>>2]|0)+1;if(!e){i=f;return}uA(b);i=f;return}function xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0;k=i;f=c[b+96>>2]|0;if((f|0)<=0){c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=k;return}e=+g[b+12>>2];j=+g[d>>2]*e;l=+g[b+16>>2];h=+g[d+4>>2]*l;m=+g[b+20>>2];n=+g[d+8>>2]*m;b=c[b+104>>2]|0;d=0;o=-3.4028234663852886e+38;p=-1;while(1){q=j*+g[b+(d<<4)>>2]+h*+g[b+(d<<4)+4>>2]+n*+g[b+(d<<4)+8>>2];r=q>o;p=r?d:p;d=d+1|0;if((d|0)==(f|0))break;else o=r?q:o}o=+g[b+(p<<4)+4>>2]*l;q=+g[b+(p<<4)+8>>2]*m;g[a>>2]=+g[b+(p<<4)>>2]*e;g[a+4>>2]=o;g[a+8>>2]=q;g[a+12>>2]=0.0;i=k;return}function yw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0;f=i;if((e|0)>0)j=0;else{i=f;return}do{g[d+(j<<4)+12>>2]=-999999984306749400.0;j=j+1|0}while((j|0)!=(e|0));j=0;do{t=+g[a+12>>2];n=+g[b+(j<<4)>>2]*t;k=+g[a+16>>2];o=+g[b+(j<<4)+4>>2]*k;l=+g[a+20>>2];p=+g[b+(j<<4)+8>>2]*l;q=c[a+96>>2]|0;if((q|0)>0){r=c[a+104>>2]|0;s=0;h=-3.4028234663852886e+38;m=-1;do{u=n*+g[r+(s<<4)>>2]+o*+g[r+(s<<4)+4>>2]+p*+g[r+(s<<4)+8>>2];v=u>h;m=v?s:m;h=v?u:h;s=s+1|0}while((s|0)!=(q|0));p=+g[r+(m<<4)+4>>2]*k;u=+g[r+(m<<4)+8>>2]*l;g[d+(j<<4)>>2]=+g[r+(m<<4)>>2]*t;g[d+(j<<4)+4>>2]=p;g[d+(j<<4)+8>>2]=u;g[d+(j<<4)+12>>2]=h}else g[d+(j<<4)+12>>2]=-999999984306749400.0;j=j+1|0}while((j|0)!=(e|0));i=f;return}function zw(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;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+$b[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Aw(a){a=a|0;return c[a+96>>2]|0}function Bw(a){a=a|0;return c[a+96>>2]|0}function Cw(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 Dw(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 Ew(a){a=a|0;return 0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Gw(a,b,c){a=a|0;b=b|0;c=+c;return 0}function Hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;j=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=j;if((j|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];f=c[a+96>>2]|0;c[b+60>>2]=f;if((f|0)==0){c[b+52>>2]=0;c[b+56>>2]=0;i=e;return 10504}c[b+52>>2]=gc[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;b=Yb[c[(c[d>>2]|0)+16>>2]&31](d,16,f)|0;if((f|0)>0){h=c[a+104>>2]|0;a=0;j=c[b+8>>2]|0;while(1){g[j>>2]=+g[h+(a<<4)>>2];g[j+4>>2]=+g[h+(a<<4)+4>>2];g[j+8>>2]=+g[h+(a<<4)+8>>2];g[j+12>>2]=+g[h+(a<<4)+12>>2];a=a+1|0;if((a|0)==(f|0))break;else j=j+16|0}}else h=c[a+104>>2]|0;Jb[c[(c[d>>2]|0)+20>>2]&31](d,b,19760,1497453121,h);i=e;return 10504}function Iw(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 k=0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;k=i;i=i+16|0;g[e>>2]=3.4028234663852886e+38;g[f>>2]=-3.4028234663852886e+38;m=c[a+96>>2]|0;if((m|0)>0){n=0;do{s=c[a+104>>2]|0;r=+g[s+(n<<4)>>2]*+g[a+12>>2];q=+g[s+(n<<4)+4>>2]*+g[a+16>>2];l=+g[s+(n<<4)+8>>2]*+g[a+20>>2];p=r*+g[b>>2]+q*+g[b+4>>2]+l*+g[b+8>>2]+ +g[b+48>>2];o=r*+g[b+16>>2]+q*+g[b+20>>2]+l*+g[b+24>>2]+ +g[b+52>>2];l=r*+g[b+32>>2]+q*+g[b+36>>2]+l*+g[b+40>>2]+ +g[b+56>>2];q=p*+g[d>>2]+o*+g[d+4>>2]+l*+g[d+8>>2];if(q<+g[e>>2]){g[e>>2]=q;g[h>>2]=p;g[h+4>>2]=o;g[h+8>>2]=l;g[h+12>>2]=0.0}if(q>+g[f>>2]){g[f>>2]=q;g[j>>2]=p;g[j+4>>2]=o;g[j+8>>2]=l;g[j+12>>2]=0.0}n=n+1|0}while((n|0)!=(m|0));o=+g[f>>2]}else o=-3.4028234663852886e+38;l=+g[e>>2];if(!(l>o)){i=k;return}g[e>>2]=o;g[f>>2]=l;c[k+0>>2]=c[h+0>>2];c[k+4>>2]=c[h+4>>2];c[k+8>>2]=c[h+8>>2];c[k+12>>2]=c[h+12>>2];c[h+0>>2]=c[j+0>>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+0>>2]=c[k+0>>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];i=k;return}function Jw(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=10376;e=c[b+104>>2]|0;if((e|0)!=0){if((a[b+108>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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]=15736;e=c[b+52>>2]|0;if((e|0)==0){i=d;return}Lb[c[c[e>>2]>>2]&511](e);b=c[b+52>>2]|0;if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Kw(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=10376;f=c[b+104>>2]|0;if((f|0)!=0){if((a[b+108>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -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]=15736;f=c[b+52>>2]|0;if((f|0)!=0?(Lb[c[c[f>>2]>>2]&511](f),e=c[b+52>>2]|0,(e|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function Lw(a){a=a|0;return 10568}function Mw(a){a=a|0;return 68}function Nw(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+P(+(+g[b>>2]));d=+P(+(+g[b+4>>2]));c=+P(+(+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 Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=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;f=i;i=i+96|0;h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=0;do{q=f+80+(j<<2)|0;c[f+80>>2]=0;c[f+84>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;g[q>>2]=1.0;k=c[(c[a>>2]|0)+64>>2]|0;l=+g[f+80>>2];m=+g[f+84>>2];n=+g[f+88>>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[f+48>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[f+52>>2]=o;g[f+56>>2]=p;g[f+60>>2]=0.0;rc[k&127](f+64|0,a,f+48|0);p=+g[f+64>>2];o=+g[f+68>>2];n=+g[f+72>>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[f+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[f+36>>2]=m;g[f+40>>2]=l;g[f+44>>2]=0.0;k=f+32+(j<<2)|0;g[e+(j<<2)>>2]=h+ +g[k>>2];g[q>>2]=-1.0;q=c[(c[a>>2]|0)+64>>2]|0;l=+g[f+80>>2];m=+g[f+84>>2];n=+g[f+88>>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[f>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[f+4>>2]=o;g[f+8>>2]=p;g[f+12>>2]=0.0;rc[q&127](f+16|0,a,f);p=+g[f+16>>2];o=+g[f+20>>2];n=+g[f+24>>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[f+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[f+36>>2]=m;g[f+40>>2]=l;g[f+44>>2]=0.0;g[d+(j<<2)>>2]=+g[k>>2]-h;j=j+1|0}while((j|0)!=3);i=f;return}function Pw(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;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+$b[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Qw(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;h=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[h+48>>2]=+g[b>>2]*n+ +g[b+16>>2]*o+ +g[b+32>>2]*m;g[h+52>>2]=p;g[h+56>>2]=q;g[h+60>>2]=0.0;rc[c[(c[a>>2]|0)+64>>2]&127](h+32|0,a,h+48|0);q=+g[h+32>>2];p=+g[h+36>>2];m=+g[h+40>>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[h+52>>2];q=-+g[h+56>>2];g[h>>2]=-+g[h+48>>2];g[h+4>>2]=p;g[h+8>>2]=q;g[h+12>>2]=0.0;rc[r&127](h+16|0,a,h);q=+g[h+16>>2];p=+g[h+20>>2];j=+g[h+24>>2];l=q*+g[b>>2]+p*+g[b+4>>2]+j*+g[b+8>>2]+ +g[b+48>>2];k=q*+g[b+16>>2]+p*+g[b+20>>2]+j*+g[b+24>>2]+ +g[b+52>>2];j=q*+g[b+32>>2]+p*+g[b+36>>2]+j*+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];j=l*+g[d>>2]+k*+g[d+4>>2]+j*+g[d+8>>2];g[f>>2]=j;k=+g[e>>2];if(!(k>j)){i=h;return}g[e>>2]=j;g[f>>2]=k;i=h;return}function Rw(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,v=0.0,w=0,x=0;e=i;i=i+80|0;switch(c[b+4>>2]|0){case 8:{c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=e;return};case 0:{s=+g[b+28>>2];t=+g[b+32>>2];t=+g[d+4>>2]>=0.0?t:-t;v=+g[b+36>>2];v=+g[d+8>>2]>=0.0?v:-v;g[a>>2]=+g[d>>2]>=0.0?s:-s;g[a+4>>2]=t;g[a+8>>2]=v;g[a+12>>2]=0.0;i=e;return};case 10:{h=+g[d>>2];j=+g[d+4>>2];k=+g[d+8>>2];d=c[b+52>>2]|0;f=+g[b+(d<<2)+28>>2];n=+g[b+(((d+2|0)%3|0)<<2)+28>>2];if(h*h+j*j+k*k<9999999747378752.0e-20){h=1.0;j=0.0;k=0.0}else{v=1.0/+Q(+(h*h+j*j+k*k));h=h*v;j=j*v;k=k*v}c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;g[e+16+(d<<2)>>2]=f;l=n*h;m=n*j;n=n*k;o=+g[b+44>>2];q=h*o;p=j*o;o=k*o;v=+g[e+16>>2]+l-q;t=m+ +g[e+20>>2]-p;s=n+ +g[e+24>>2]-o;r=k*s+(h*v+j*t);if(!(r>-999999984306749400.0)){s=0.0;t=0.0;v=0.0;r=-999999984306749400.0}c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[e+(d<<2)>>2]=-f;l=l+ +g[e>>2]-q;p=m+ +g[e+4>>2]-p;q=n+ +g[e+8>>2]-o;x=k*q+(h*l+j*p)>r;g[a>>2]=x?l:v;g[a+4>>2]=x?p:t;g[a+8>>2]=x?q:s;g[a+12>>2]=0.0;i=e;return};case 4:{u=c[b+104>>2]|0;w=c[b+96>>2]|0;f=+g[b+12>>2];h=+g[b+16>>2];j=+g[b+20>>2];k=+g[d>>2]*f;l=+g[d+4>>2]*h;n=+g[d+8>>2]*j;if((w|0)>0){d=0;m=-3.4028234663852886e+38;x=-1;while(1){o=k*+g[u+(d<<4)>>2]+l*+g[u+(d<<4)+4>>2]+n*+g[u+(d<<4)+8>>2];b=o>m;x=b?d:x;d=d+1|0;if((d|0)==(w|0))break;else m=b?o:m}}else x=-1;t=h*+g[u+(x<<4)+4>>2];v=j*+g[u+(x<<4)+8>>2];g[a>>2]=f*+g[u+(x<<4)>>2];g[a+4>>2]=t;g[a+8>>2]=v;g[a+12>>2]=0.0;i=e;return};case 5:{u=c[b+92>>2]|0;w=c[b+96>>2]|0;f=+g[b+12>>2];h=+g[b+16>>2];j=+g[b+20>>2];k=+g[d>>2]*f;l=+g[d+4>>2]*h;n=+g[d+8>>2]*j;if((w|0)>0){d=0;o=-3.4028234663852886e+38;x=-1;while(1){m=k*+g[u+(d<<4)>>2]+l*+g[u+(d<<4)+4>>2]+n*+g[u+(d<<4)+8>>2];b=m>o;x=b?d:x;d=d+1|0;if((d|0)==(w|0))break;else o=b?m:o}}else x=-1;t=h*+g[u+(x<<4)+4>>2];v=j*+g[u+(x<<4)+8>>2];g[a>>2]=f*+g[u+(x<<4)>>2];g[a+4>>2]=t;g[a+8>>2]=v;g[a+12>>2]=0.0;i=e;return};case 13:{c[e+64>>2]=c[b+28>>2];c[e+68>>2]=c[b+32>>2];c[e+72>>2]=c[b+36>>2];c[e+76>>2]=c[b+40>>2];g[e+48>>2]=+g[d>>2];h=+g[d+4>>2];g[e+52>>2]=h;f=+g[d+8>>2];g[e+56>>2]=f;g[e+60>>2]=0.0;w=c[b+52>>2]|0;if((w|0)==1){u=0;b=w;d=2}else if((w|0)==2){f=h;u=0;b=w;d=1}else{u=1;b=0;d=2}h=+g[e+64+(u<<2)>>2];l=+g[e+64+(w<<2)>>2];k=+g[e+48+(u<<2)>>2];j=+Q(+(k*k+f*f));if(j!=0.0){g[e+32+(u<<2)>>2]=k*(h/j);if(+g[e+48+(b<<2)>>2]<0.0)l=-l;g[e+32+(b<<2)>>2]=l;g[e+32+(d<<2)>>2]=h/j*f;g[a>>2]=+g[e+32>>2];g[a+4>>2]=+g[e+36>>2];g[a+8>>2]=+g[e+40>>2];g[a+12>>2]=0.0;i=e;return}else{g[e+32+(u<<2)>>2]=h;if(+g[e+48+(b<<2)>>2]<0.0)l=-l;g[e+32+(b<<2)>>2]=l;g[e+32+(d<<2)>>2]=0.0;g[a>>2]=+g[e+32>>2];g[a+4>>2]=+g[e+36>>2];g[a+8>>2]=+g[e+40>>2];g[a+12>>2]=0.0;i=e;return}};case 1:{t=+g[d>>2];v=+g[d+4>>2];f=+g[d+8>>2];j=t*+g[b+56>>2]+v*+g[b+60>>2]+f*+g[b+64>>2];h=t*+g[b+72>>2]+v*+g[b+76>>2]+f*+g[b+80>>2];f=t*+g[b+88>>2]+v*+g[b+92>>2]+f*+g[b+96>>2];if(j>2];v=+g[b+56+(d<<4)+8>>2];g[a>>2]=+g[b+56+(d<<4)>>2];g[a+4>>2]=t;g[a+8>>2]=v;g[a+12>>2]=0.0;i=e;return};default:{rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=e;return}}}function Sw(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;e=i;i=i+32|0;c[e+16>>2]=c[d+0>>2];c[e+20>>2]=c[d+4>>2];c[e+24>>2]=c[d+8>>2];c[e+28>>2]=c[d+12>>2];h=+g[e+16>>2];j=+g[e+20>>2];f=+g[e+24>>2];if(h*h+j*j+f*f<1.4210854715202004e-14){g[e+16>>2]=-1.0;g[e+20>>2]=-1.0;g[e+24>>2]=-1.0;g[e+28>>2]=0.0;h=-1.0;j=-1.0;f=-1.0}k=1.0/+Q(+(h*h+j*j+f*f));g[e+16>>2]=h*k;g[e+20>>2]=j*k;g[e+24>>2]=f*k;Rw(e,b,e+16|0);switch(c[b+4>>2]|0){case 0:{f=+g[b+44>>2];break};case 1:{f=+g[b+44>>2];break};case 8:{f=+g[b+28>>2]*+g[b+12>>2];break};case 10:{f=+g[b+44>>2];break};case 11:{f=+g[b+44>>2];break};case 13:{f=+g[b+44>>2];break};case 4:case 5:{f=+g[b+44>>2];break};default:f=+$b[c[(c[b>>2]|0)+48>>2]&15](b)}j=f*+g[e+20>>2]+ +g[e+4>>2];k=f*+g[e+24>>2]+ +g[e+8>>2];g[a>>2]=f*+g[e+16>>2]+ +g[e>>2];g[a+4>>2]=j;g[a+8>>2]=k;g[a+12>>2]=0.0;i=e;return}function Tw(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;e=i;i=i+80|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;f=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];if(f*f+j*j+h*h<9999999747378752.0e-20){f=1.0;j=0.0;h=0.0;k=0.0}else{k=1.0/+Q(+(f*f+j*j+h*h));f=f*k;j=j*k;h=h*k;k=+g[d+12>>2]}c[e+32>>2]=10856;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=-999999984306749400.0;g[e+56>>2]=f;g[e+60>>2]=j;g[e+64>>2]=h;g[e+68>>2]=k;g[e+16>>2]=999999984306749400.0;g[e+20>>2]=999999984306749400.0;g[e+24>>2]=999999984306749400.0;g[e+28>>2]=0.0;d=c[b+92>>2]|0;b=c[(c[d>>2]|0)+8>>2]|0;g[e>>2]=-999999984306749400.0;g[e+4>>2]=-999999984306749400.0;g[e+8>>2]=-999999984306749400.0;g[e+12>>2]=0.0;vc[b&127](d,e+32|0,e,e+16|0);c[a+0>>2]=c[e+36>>2];c[a+4>>2]=c[e+40>>2];c[a+8>>2]=c[e+44>>2];c[a+12>>2]=c[e+48>>2];i=e;return}function Uw(a){a=a|0;return}function Vw(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;f=i;i=i+80|0;if((e|0)>0)h=0;else{i=f;return}do{g[d+(h<<4)+12>>2]=-999999984306749400.0;h=h+1|0}while((h|0)!=(e|0));h=0;do{j=b+(h<<4)|0;c[f+32>>2]=10856;c[f+36>>2]=0;c[f+40>>2]=0;c[f+44>>2]=0;c[f+48>>2]=0;g[f+52>>2]=-999999984306749400.0;c[f+56>>2]=c[j+0>>2];c[f+60>>2]=c[j+4>>2];c[f+64>>2]=c[j+8>>2];c[f+68>>2]=c[j+12>>2];g[f+16>>2]=999999984306749400.0;g[f+20>>2]=999999984306749400.0;g[f+24>>2]=999999984306749400.0;g[f+28>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[f>>2]=-999999984306749400.0;g[f+4>>2]=-999999984306749400.0;g[f+8>>2]=-999999984306749400.0;g[f+12>>2]=0.0;vc[k&127](j,f+32|0,f,f+16|0);j=d+(h<<4)|0;c[j+0>>2]=c[f+36>>2];c[j+4>>2]=c[f+40>>2];c[j+8>>2]=c[f+44>>2];c[j+12>>2]=c[f+48>>2];h=h+1|0}while((h|0)<(e|0));i=f;return}function Ww(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;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+$b[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Xw(a){a=a|0;return 0}function Yw(a){a=a|0;return 0}function Zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function _w(a,b,c){a=a|0;b=b|0;c=c|0;return}function $w(a){a=a|0;return 0}function ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function bx(a,b,c){a=a|0;b=b|0;c=+c;return 0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=(c[a+92>>2]|0)+4|0;c[e+0>>2]=c[b+0>>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];uA(a);i=d;return}function dx(a){a=a|0;return(c[a+92>>2]|0)+4|0}function ex(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)==0){i=b;return}Lb[c[c[d>>2]>>2]&511](d);a=c[a+52>>2]|0;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function fx(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)!=0){Lb[c[c[d>>2]>>2]&511](d);d=c[a+52>>2]|0;if((d|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}if((a|0)==0){i=b;return}}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function gx(a){a=a|0;return 10832}function hx(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function ix(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;e=i;f=+g[a+24>>2];j=+g[a+28>>2];h=+g[a+32>>2];k=f*+g[b>>2]+j*+g[b+4>>2]+h*+g[b+8>>2];l=+g[a+20>>2];if(k>l){g[a+20>>2]=k;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2]}else k=l;l=f*+g[b+16>>2]+j*+g[b+20>>2]+h*+g[b+24>>2];if(l>k){g[a+20>>2]=l;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];c[a+12>>2]=c[b+24>>2];c[a+16>>2]=c[b+28>>2];k=l}f=f*+g[b+32>>2]+j*+g[b+36>>2]+h*+g[b+40>>2];if(!(f>k)){i=e;return}g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+8>>2]=c[b+36>>2];c[a+12>>2]=c[b+40>>2];c[a+16>>2]=c[b+44>>2];i=e;return}function jx(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0.0,l=0.0;d=i;c[a+4>>2]=35;c[a+8>>2]=0;g[a+12>>2]=1.0;g[a+16>>2]=1.0;g[a+20>>2]=1.0;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=10928;c[a+52>>2]=1;f=+g[b>>2];h=+g[b+4>>2];e=+g[b+8>>2];if(f>2]*.10000000149011612;if(e<.03999999910593033){l=+Js(a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);l=l+ +g[a+28>>2];k=k+ +g[a+32>>2];h=h+ +g[a+36>>2];g[a+44>>2]=e;e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=h- +$b[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=l-e;g[a+32>>2]=k-f;g[a+36>>2]=h;g[a+40>>2]=0.0;j=c[a>>2]|0}else j=10928|0;h=+$b[c[j+48>>2]&15](a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);l=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=+g[b+4>>2]*+g[a+16>>2]-k;l=+g[b+8>>2]*+g[a+20>>2]-l;g[a+28>>2]=+g[b>>2]*+g[a+12>>2]-h;g[a+32>>2]=k;g[a+36>>2]=l;g[a+40>>2]=0.0;c[a+4>>2]=13;i=d;return}function kx(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.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;f=i;k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=k+ +g[a+28>>2];m=k+ +g[a+32>>2];k=k+ +g[a+36>>2];w=+P(+(+g[b>>2]));v=+P(+(+g[b+4>>2]));u=+P(+(+g[b+8>>2]));s=+P(+(+g[b+16>>2]));r=+P(+(+g[b+20>>2]));q=+P(+(+g[b+24>>2]));n=+P(+(+g[b+32>>2]));l=+P(+(+g[b+36>>2]));j=+P(+(+g[b+40>>2]));t=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function lx(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,h=0.0,j=0,k=0.0,l=0.0;e=i;i=i+16|0;c[e+0>>2]=c[a+28>>2];c[e+4>>2]=c[a+32>>2];c[e+8>>2]=c[a+36>>2];c[e+12>>2]=c[a+40>>2];l=+$b[c[(c[a>>2]|0)+48>>2]&15](a);h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);g[e>>2]=l+ +g[e>>2];g[e+4>>2]=h+ +g[e+4>>2];g[e+8>>2]=k+ +g[e+8>>2];a=c[a+52>>2]|0;if((a|0)==2){f=2;j=0}else if((a|0)==0){f=0;j=1}else{f=1;j=0}h=+g[e+(j<<2)>>2];k=+g[e+(f<<2)>>2];k=b*.25*h*h+b/12.0*k*k*4.0;if((a|0)==2){g[d>>2]=k;g[d+4>>2]=k;g[d+8>>2]=b*.5*h*h;g[d+12>>2]=0.0;i=e;return}else if((a|0)==0){g[d>>2]=b*.5*h*h;g[d+4>>2]=k;g[d+8>>2]=k;g[d+12>>2]=0.0;i=e;return}else{g[d>>2]=k;g[d+4>>2]=b*.5*h*h;g[d+8>>2]=k;g[d+12>>2]=0.0;i=e;return}}function mx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;e=+g[b+32>>2];k=+g[b+28>>2];j=+g[c+4>>2];h=+g[c+8>>2];f=+Q(+(j*j+h*h));if(f!=0.0){g[a+4>>2]=j*(e/f);if(+g[c>>2]<0.0)k=-k;g[a>>2]=k;g[a+8>>2]=h*(e/f);i=d;return}else{g[a+4>>2]=e;if(+g[c>>2]<0.0)k=-k;g[a>>2]=k;g[a+8>>2]=0.0;i=d;return}}function nx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;e=+g[b+28>>2];k=+g[b+36>>2];j=+g[c>>2];h=+g[c+4>>2];f=+Q(+(j*j+h*h));if(f!=0.0){g[a>>2]=j*(e/f);if(+g[c+8>>2]<0.0)k=-k;g[a+8>>2]=k;g[a+4>>2]=h*(e/f);i=d;return}else{g[a>>2]=e;if(+g[c+8>>2]<0.0)k=-k;g[a+8>>2]=k;g[a+4>>2]=0.0;i=d;return}}function ox(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;e=+g[b+28>>2];k=+g[b+32>>2];j=+g[c>>2];h=+g[c+8>>2];f=+Q(+(j*j+h*h));if(f!=0.0){g[a>>2]=j*(e/f);if(+g[c+4>>2]<0.0)k=-k;g[a+4>>2]=k;g[a+8>>2]=h*(e/f);i=d;return}else{g[a>>2]=e;if(+g[c+4>>2]<0.0)k=-k;g[a+4>>2]=k;g[a+8>>2]=0.0;i=d;return}}function px(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=i;if((d|0)<=0){i=f;return}e=0;do{j=+g[a+28>>2];m=+g[a+32>>2];h=+g[b+(e<<4)>>2];k=+g[b+(e<<4)+8>>2];l=+Q(+(h*h+k*k));if(!(l!=0.0))if(+g[b+(e<<4)+4>>2]<0.0){h=j;m=-m;j=0.0}else{h=j;j=0.0}else{if(+g[b+(e<<4)+4>>2]<0.0)m=-m;h=h*(j/l);j=k*(j/l)}g[c+(e<<4)>>2]=h;g[c+(e<<4)+4>>2]=m;g[c+(e<<4)+8>>2]=j;e=e+1|0}while((e|0)!=(d|0));i=f;return}function qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=i;if((d|0)<=0){i=f;return}e=0;do{m=+g[a+28>>2];j=+g[a+36>>2];h=+g[b+(e<<4)>>2];l=+g[b+(e<<4)+4>>2];k=+Q(+(h*h+l*l));if(!(k!=0.0))if(+g[b+(e<<4)+8>>2]<0.0){h=m;k=0.0;j=-j}else{h=m;k=0.0}else{if(+g[b+(e<<4)+8>>2]<0.0)j=-j;h=h*(m/k);k=l*(m/k)}g[c+(e<<4)>>2]=h;g[c+(e<<4)+4>>2]=k;g[c+(e<<4)+8>>2]=j;e=e+1|0}while((e|0)!=(d|0));i=f;return}function rx(a,b,c,d){a=a|0;b=b|0;c=c|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;f=i;if((d|0)<=0){i=f;return}e=0;do{h=+g[a+32>>2];m=+g[a+28>>2];n=b+(e<<4)|0;l=+g[b+(e<<4)+4>>2];j=+g[b+(e<<4)+8>>2];k=+Q(+(l*l+j*j));if(!(k!=0.0))if(+g[n>>2]<0.0){m=-m;l=h;h=0.0}else{l=h;h=0.0}else{if(+g[n>>2]<0.0)m=-m;l=l*(h/k);h=j*(h/k)}g[c+(e<<4)>>2]=m;g[c+(e<<4)+4>>2]=l;g[c+(e<<4)+8>>2]=h;e=e+1|0}while((e|0)!=(d|0));i=f;return}function sx(a){a=a|0;return}function tx(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function ux(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,n=0.0,o=0.0;d=i;m=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+P(+(+g[b>>2]));k=+P(+(+g[b+4>>2]));f=+P(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function vx(a){a=a|0;return 11408}function wx(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+0>>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;i=d;return}function xx(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+$b[c[(c[a>>2]|0)+48>>2]&15](a);f=+$b[c[(c[a>>2]|0)+48>>2]&15](a);k=+$b[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+$b[c[(c[a>>2]|0)+48>>2]&15](a);e=+$b[c[(c[a>>2]|0)+48>>2]&15](a);b=k- +$b[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function yx(a){a=a|0;return 60}function zx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;e=i;f=gc[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=gc[c[(c[d>>2]|0)+28>>2]&31](d,f)|0;c[b>>2]=h;if((h|0)!=0)Nb[c[(c[d>>2]|0)+48>>2]&127](d,f);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];i=e;return 11384}function Ax(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;rc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+$b[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+Q(+(f*f+(l*l+k*k)));j=+$b[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Bx(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+28>>2];b=+$b[c[(c[a>>2]|0)+48>>2]&15](a);+$b[c[(c[a>>2]|0)+48>>2]&15](a);+$b[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return+(d+b)}function Cx(a){a=a|0;return}function Dx(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Ex(a){a=a|0;return 11368}function Fx(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+32>>2];+$b[c[(c[a>>2]|0)+48>>2]&15](a);b=+$b[c[(c[a>>2]|0)+48>>2]&15](a);+$b[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return+(d+b)}function Gx(a){a=a|0;return}function Hx(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Ix(a){a=a|0;return 11352}function Jx(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+28>>2];b=+$b[c[(c[a>>2]|0)+48>>2]&15](a);+$b[c[(c[a>>2]|0)+48>>2]&15](a);+$b[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return+(d+b)}function Kx(b){b=b|0;var d=0,e=0;d=i;e=c[b>>2]|0;if((e|0)!=0)Lx(b,e);e=c[b+4>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;e=c[b+32>>2]|0;if((e|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+52>>2]|0;if((e|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;i=d;return}if((a[b+56>>0]|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;i=d;return}c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);e=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((e|0)==0){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;i=d;return}if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function Lx(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;if((c[b+40>>2]|0)!=0){Lx(a,c[b+36>>2]|0);Lx(a,c[b+40>>2]|0)}if((c[a>>2]|0)==(b|0))c[a>>2]=0;e=c[a+4>>2]|0;if((e|0)==0){c[a+4>>2]=b;i=d;return}c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0);c[a+4>>2]=b;i=d;return}function Mx(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;d=i;i=i+32|0;if((b|0)<0)b=c[a+12>>2]|0;j=c[a>>2]|0;if(!((j|0)!=0&(b|0)>0)){i=d;return}while(1){f=j+40|0;a:do if((c[f>>2]|0)!=0){e=0;while(1){g=(c[a+16>>2]|0)>>>e&1;k=j+32|0;h=c[k>>2]|0;if(h>>>0>j>>>0){l=(c[h+40>>2]|0)==(j|0)&1;m=c[h+((l^1)<<2)+36>>2]|0;n=c[h+32>>2]|0;if((n|0)==0)c[a>>2]=j;else c[n+(((c[n+40>>2]|0)==(h|0)&1)<<2)+36>>2]=j;c[m+32>>2]=j;c[h+32>>2]=j;c[k>>2]=n;n=j+36|0;c[h+36>>2]=c[n>>2];c[h+40>>2]=c[f>>2];c[(c[n>>2]|0)+32>>2]=h;c[(c[f>>2]|0)+32>>2]=h;c[j+(l<<2)+36>>2]=h;c[j+((l^1)<<2)+36>>2]=m;c[d+0>>2]=c[h+0>>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];c[h+0>>2]=c[j+0>>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[h+16>>2]=c[j+16>>2];c[h+20>>2]=c[j+20>>2];c[h+24>>2]=c[j+24>>2];c[h+28>>2]=c[j+28>>2];c[j+0>>2]=c[d+0>>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];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2]}else h=j;j=c[h+(g<<2)+36>>2]|0;if((c[j+40>>2]|0)==0)break a;f=j+40|0;e=e+1&31}}while(0);if((Ox(a,j)|0)==0)e=0;else e=c[a>>2]|0;Nx(a,e,j);c[a+16>>2]=(c[a+16>>2]|0)+1;b=b+ -1|0;if((b|0)==0)break;j=c[a>>2]|0}i=d;return}function Nx(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,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0.0;e=i;if((c[a>>2]|0)==0){c[a>>2]=d;c[d+32>>2]=0;i=e;return}f=c[b+40>>2]|0;if((f|0)!=0){l=+g[d>>2]+ +g[d+16>>2];j=+g[d+4>>2]+ +g[d+20>>2];h=+g[d+8>>2]+ +g[d+24>>2];do{r=c[b+36>>2]|0;p=+P(+(l-(+g[r>>2]+ +g[r+16>>2])))+ +P(+(j-(+g[r+4>>2]+ +g[r+20>>2])))+ +P(+(h-(+g[r+8>>2]+ +g[r+24>>2])));b=c[b+((!(p<+P(+(l-(+g[f>>2]+ +g[f+16>>2])))+ +P(+(j-(+g[f+4>>2]+ +g[f+20>>2])))+ +P(+(h-(+g[f+8>>2]+ +g[f+24>>2]))))&1)<<2)+36>>2]|0;f=c[b+40>>2]|0}while((f|0)!=0)}k=b+32|0;f=c[k>>2]|0;r=c[a+4>>2]|0;if((r|0)==0){c[5004]=(c[5004]|0)+1;r=XE(63)|0;if((r|0)!=0?(c[(r+19&-16)+ -4>>2]=r,(r+19&-16|0)!=0):0){o=(r+19&-16)+0|0;q=o+44|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));r=r+19&-16}else r=0}else c[a+4>>2]=0;c[r+32>>2]=f;o=r+36|0;c[o>>2]=0;q=r+40|0;c[q>>2]=0;s=+g[d>>2];p=+g[b>>2];p=s>2]=p;s=+g[d+16>>2];l=+g[b+16>>2];l=s>l?s:l;g[r+16>>2]=l;s=+g[d+4>>2];n=+g[b+4>>2];n=s>2]=n;s=+g[d+20>>2];j=+g[b+20>>2];j=s>j?s:j;g[r+20>>2]=j;s=+g[d+8>>2];m=+g[b+8>>2];m=s>2]=m;s=+g[d+24>>2];h=+g[b+24>>2];h=s>h?s:h;g[r+24>>2]=h;if((f|0)==0){c[o>>2]=b;c[k>>2]=r;c[q>>2]=d;c[d+32>>2]=r;c[a>>2]=r;i=e;return}c[f+(((c[(c[k>>2]|0)+40>>2]|0)==(b|0)&1)<<2)+36>>2]=r;c[o>>2]=b;c[k>>2]=r;c[q>>2]=d;c[d+32>>2]=r;while(1){d=f+4|0;if(((((+g[f>>2]<=p?+g[d>>2]<=n:0)?+g[f+8>>2]<=m:0)?+g[f+16>>2]>=l:0)?+g[f+20>>2]>=j:0)?+g[f+24>>2]>=h:0){d=21;break}q=c[f+36>>2]|0;r=c[f+40>>2]|0;s=+g[q>>2];p=+g[r>>2];p=s>2]=p;s=+g[q+16>>2];l=+g[r+16>>2];l=s>l?s:l;g[f+16>>2]=l;s=+g[q+4>>2];n=+g[r+4>>2];n=s>2]=n;s=+g[q+20>>2];j=+g[r+20>>2];j=s>j?s:j;g[f+20>>2]=j;s=+g[q+8>>2];m=+g[r+8>>2];m=s>2]=m;s=+g[q+24>>2];h=+g[r+24>>2];h=s>h?s:h;g[f+24>>2]=h;f=c[f+32>>2]|0;if((f|0)==0){d=21;break}}if((d|0)==21){i=e;return}}function Ox(a,b){a=a|0;b=b|0;var d=0,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,x=0,y=0,z=0,A=0;d=i;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;b=0;i=d;return b|0}f=c[b+32>>2]|0;h=c[f+32>>2]|0;b=c[f+(((c[f+40>>2]|0)!=(b|0)&1)<<2)+36>>2]|0;if((h|0)==0){c[a>>2]=b;c[b+32>>2]=0;e=c[a+4>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[a+4>>2]=f;b=c[a>>2]|0;i=d;return b|0}c[h+(((c[h+40>>2]|0)==(f|0)&1)<<2)+36>>2]=b;c[b+32>>2]=h;b=c[a+4>>2]|0;if((b|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0)}c[a+4>>2]=f;do{u=+g[h>>2];z=h+4|0;s=+g[z>>2];x=h+8|0;q=+g[x>>2];A=h+16|0;o=+g[A>>2];y=h+20|0;m=+g[y>>2];b=h+24|0;k=+g[b>>2];w=c[h+36>>2]|0;f=c[h+40>>2]|0;v=+g[w>>2];t=+g[f>>2];t=v>2]=t;v=+g[w+16>>2];n=+g[f+16>>2];n=v>n?v:n;g[A>>2]=n;v=+g[w+4>>2];r=+g[f+4>>2];r=v>2]=r;v=+g[w+20>>2];l=+g[f+20>>2];l=v>l?v:l;g[y>>2]=l;v=+g[w+8>>2];p=+g[f+8>>2];p=v>2]=p;v=+g[w+24>>2];j=+g[f+24>>2];j=v>j?v:j;g[b>>2]=j;if(!(u!=t|s!=r|q!=p|o!=n)?!(m!=l|k!=j):0){e=14;break}h=c[h+32>>2]|0}while((h|0)!=0);if((e|0)==14){i=d;return h|0}A=c[a>>2]|0;i=d;return A|0}function Px(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;c[b>>2]=11432;f=b+4|0;do{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;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=-1;c[f+12>>2]=0;c[f+16>>2]=0;f=f+60|0}while((f|0)!=(b+124|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)!=0){f=b+136|0;c[f>>2]=d;f=b+188|0;c[f>>2]=0;f=b+180|0;c[f>>2]=0;f=b+184|0;c[f>>2]=0;f=b+124|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;i=e;return}c[5004]=(c[5004]|0)+1;d=XE(95)|0;if((d|0)!=0?(c[(d+19&-16)+ -4>>2]=d,(d+19&-16|0)!=0):0){Oz(d+19&-16);d=d+19&-16}else d=0;f=b+136|0;c[f>>2]=d;f=b+188|0;c[f>>2]=0;f=b+180|0;c[f>>2]=0;f=b+184|0;c[f>>2]=0;f=b+124|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;i=e;return}function Qx(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=11432;if((a[b+192>>0]|0)!=0?(e=c[b+136>>2]|0,Lb[c[c[e>>2]>>2]&511](e),e=c[b+136>>2]|0,(e|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=b+124|0;do{e=e+ -60|0;Kx(e)}while((e|0)!=(b+4|0));YE(b);i=d;return}function Rx(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=11432;if((a[b+192>>0]|0)!=0?(e=c[b+136>>2]|0,Lb[c[c[e>>2]>>2]&511](e),e=c[b+136>>2]|0,(e|0)!=0):0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=b+124|0;do{e=e+ -60|0;Kx(e)}while((e|0)!=(b+4|0));i=d;return}function Sx(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;m=i;i=i+48|0;c[5004]=(c[5004]|0)+1;g=XE(83)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}c[g>>2]=h;b[g+4>>1]=j;b[g+6>>1]=k;h=g+16|0;c[h+0>>2]=c[e+0>>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=g+32|0;c[h+0>>2]=c[f+0>>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[g+8>>2]=0;h=g+56|0;c[h>>2]=0;j=g+52|0;c[j>>2]=0;c[m+16>>2]=c[e+0>>2];c[m+20>>2]=c[e+4>>2];c[m+24>>2]=c[e+8>>2];c[m+28>>2]=c[e+12>>2];c[m+32>>2]=c[f+0>>2];c[m+36>>2]=c[f+4>>2];c[m+40>>2]=c[f+8>>2];c[m+44>>2]=c[f+12>>2];c[g+60>>2]=c[d+144>>2];e=(c[d+188>>2]|0)+1|0;c[d+188>>2]=e;c[g+12>>2]=e;e=c[d+8>>2]|0;if((e|0)==0){c[5004]=(c[5004]|0)+1;e=XE(63)|0;if((e|0)!=0?(c[(e+19&-16)+ -4>>2]=e,(e+19&-16|0)!=0):0){k=(e+19&-16)+0|0;f=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(f|0));e=e+19&-16}else e=0}else c[d+8>>2]=0;c[e+32>>2]=0;c[e+36>>2]=g;c[e+40>>2]=0;c[e+0>>2]=c[m+16>>2];c[e+4>>2]=c[m+20>>2];c[e+8>>2]=c[m+24>>2];c[e+12>>2]=c[m+28>>2];c[e+16>>2]=c[m+32>>2];c[e+20>>2]=c[m+36>>2];c[e+24>>2]=c[m+40>>2];c[e+28>>2]=c[m+44>>2];Nx(d+4|0,c[d+4>>2]|0,e);c[d+16>>2]=(c[d+16>>2]|0)+1;c[g+48>>2]=e;e=d+(c[d+144>>2]<<2)+124|0;c[j>>2]=0;c[h>>2]=c[e>>2];f=c[e>>2]|0;if((f|0)!=0)c[f+52>>2]=g;c[e>>2]=g;if((a[d+193>>0]|0)!=0){i=m;return g|0}c[m>>2]=11696;c[m+4>>2]=d;c[m+8>>2]=g;Tx(c[d+4>>2]|0,m+16|0,m);Tx(c[d+64>>2]|0,m+16|0,m);i=m;return g|0}function Tx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;if((a|0)==0){i=h;return}e=+g[b>>2];n=+g[b+4>>2];o=+g[b+8>>2];k=+g[b+16>>2];m=+g[b+20>>2];p=+g[b+24>>2];c[5004]=(c[5004]|0)+1;q=XE(275)|0;if((q|0)!=0){c[(q+19&-16)+ -4>>2]=q;b=q+19&-16;if((q+19&-16|0)!=0)c[b>>2]=a}else b=0;t=64;a=1;do{r=a+ -1|0;q=c[b+(r<<2)>>2]|0;do if(((((+g[q>>2]<=k?+g[q+16>>2]>=e:0)?+g[q+4>>2]<=m:0)?+g[q+20>>2]>=n:0)?+g[q+8>>2]<=p:0)?+g[q+24>>2]>=o:0){if((c[q+40>>2]|0)==0){Nb[c[(c[d>>2]|0)+12>>2]&127](d,q);a=r;break}s=c[q+36>>2]|0;if((r|0)==(t|0)?(f=(t|0)==0?1:t<<1,(a|0)<=(f|0)):0){if((f|0)!=0?(c[5004]=(c[5004]|0)+1,l=XE((f<<2|3)+16|0)|0,(l|0)!=0):0){c[(l+19&-16)+ -4>>2]=l;u=l+19&-16}else u=0;if((t|0)>0){w=0;do{v=u+(w<<2)|0;if((v|0)!=0)c[v>>2]=c[b+(w<<2)>>2];w=w+1|0}while((w|0)!=(t|0))}if((b|0)==0){t=f;b=u}else{c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);t=f;b=u}}r=b+(r<<2)|0;if((r|0)!=0)c[r>>2]=s;q=c[q+40>>2]|0;if((a|0)==(t|0)){t=(a|0)==0?1:a<<1;if((a|0)<(t|0)){if((t|0)!=0?(c[5004]=(c[5004]|0)+1,j=XE((t<<2|3)+16|0)|0,(j|0)!=0):0){c[(j+19&-16)+ -4>>2]=j;r=j+19&-16}else r=0;if((a|0)>0){s=0;do{u=r+(s<<2)|0;if((u|0)!=0)c[u>>2]=c[b+(s<<2)>>2];s=s+1|0}while((s|0)!=(a|0))}if((b|0)==0)b=r;else{c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);b=r}}else t=a}r=b+(a<<2)|0;if((r|0)!=0)c[r>>2]=q;a=a+1|0}else a=r;while(0)}while((a|0)>0);if((b|0)==0){i=h;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=h;return}function Ux(a){a=a|0;return}function Vx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if((c[d+60>>2]|0)==2){g=c[d+48>>2]|0;Ox(b+64|0,g)|0;h=c[b+68>>2]|0;if((h|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+68>>2]=g;c[b+76>>2]=(c[b+76>>2]|0)+ -1}else{g=c[d+48>>2]|0;Ox(b+4|0,g)|0;h=c[b+8>>2]|0;if((h|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+8>>2]=g;c[b+16>>2]=(c[b+16>>2]|0)+ -1}h=c[d+52>>2]|0;g=c[d+56>>2]|0;if((h|0)==0)c[b+(c[d+60>>2]<<2)+124>>2]=g;else c[h+56>>2]=g;g=c[d+56>>2]|0;if((g|0)!=0)c[g+52>>2]=c[d+52>>2];h=c[b+136>>2]|0;rc[c[(c[h>>2]|0)+16>>2]&127](h,d,e);if((d|0)==0){h=b+194|0;a[h>>0]=1;i=f;return}c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0);h=b+194|0;a[h>>0]=1;i=f;return}function Wx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=i;c[d+0>>2]=c[b+16>>2];c[d+4>>2]=c[b+20>>2];c[d+8>>2]=c[b+24>>2];c[d+12>>2]=c[b+28>>2];c[e+0>>2]=c[b+32>>2];c[e+4>>2]=c[b+36>>2];c[e+8>>2]=c[b+40>>2];c[e+12>>2]=c[b+44>>2];i=a;return}function Xx(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]=11616;c[d+4>>2]=e;Yx(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);Yx(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 Yx(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.0,o=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.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0.0;o=i;i=i+32|0;if((d|0)==0){i=o;return}s=c[b+44>>2]|0;if((s|0)<128){if((c[b+48>>2]|0)<128){c[5004]=(c[5004]|0)+1;t=XE(531)|0;if((t|0)==0)t=0;else{c[(t+19&-16)+ -4>>2]=t;t=t+19&-16}v=c[b+44>>2]|0;if((v|0)>0){u=0;do{w=t+(u<<2)|0;if((w|0)!=0)c[w>>2]=c[(c[b+52>>2]|0)+(u<<2)>>2];u=u+1|0}while((u|0)!=(v|0))}u=c[b+52>>2]|0;if((u|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[u+ -4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=t;c[b+48>>2]=128;t=b+52|0}else t=b+52|0;do{u=(c[t>>2]|0)+(s<<2)|0;if((u|0)!=0)c[u>>2]=0;s=s+1|0}while((s|0)!=128);s=b+48|0}else s=b+48|0;c[b+44>>2]=128;c[c[b+52>>2]>>2]=d;d=1;v=126;do{t=d+ -1|0;w=c[b+52>>2]|0;u=c[w+(t<<2)>>2]|0;y=+g[u+4>>2]- +g[l+4>>2];x=+g[u+8>>2]- +g[l+8>>2];g[o>>2]=+g[u>>2]- +g[l>>2];g[o+4>>2]=y;g[o+8>>2]=x;g[o+12>>2]=0.0;x=+g[u+20>>2]- +g[k+4>>2];y=+g[u+24>>2]- +g[k+8>>2];g[o+16>>2]=+g[u+16>>2]- +g[k>>2];g[o+20>>2]=x;g[o+24>>2]=y;g[o+28>>2]=0.0;D=c[h>>2]|0;y=+g[e>>2];x=+g[f>>2];z=(+g[o+(D<<4)>>2]-y)*x;y=x*(+g[o+(1-D<<4)>>2]-y);D=c[h+4>>2]|0;x=+g[e+4>>2];E=+g[f+4>>2];A=(+g[o+(D<<4)+4>>2]-x)*E;x=E*(+g[o+(1-D<<4)+4>>2]-x);do if(((!(z>x|A>y)?(p=A>z?A:z,r=x>2]|0,q=+g[e+8>>2],E=+g[f+8>>2],n=(+g[o+(D<<4)+8>>2]-q)*E,q=E*(+g[o+(1-D<<4)+8>>2]-q),!(p>q|n>r)):0)?(n>p?n:p)0.0:0){if((c[u+40>>2]|0)==0){Nb[c[(c[m>>2]|0)+12>>2]&127](m,u);d=t;break}if((t|0)>(v|0)){v=c[b+44>>2]|0;if((v|0)<(v<<1|0)){if((c[s>>2]|0)<(v<<1|0)){if((v|0)!=0){c[5004]=(c[5004]|0)+1;w=XE((v<<3|3)+16|0)|0;if((w|0)==0)w=0;else{c[(w+19&-16)+ -4>>2]=w;w=w+19&-16}C=c[b+44>>2]|0;if((C|0)>0){B=0;do{D=w+(B<<2)|0;if((D|0)!=0)c[D>>2]=c[(c[b+52>>2]|0)+(B<<2)>>2];B=B+1|0}while((B|0)!=(C|0))}}else w=0;B=c[b+52>>2]|0;if((B|0)!=0){if((a[b+56>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[B+ -4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=w;c[s>>2]=v<<1;B=v}else B=v;do{w=w+(B<<2)|0;if((w|0)!=0)c[w>>2]=0;B=B+1|0;w=c[b+52>>2]|0}while((B|0)!=(v<<1|0))}c[b+44>>2]=v<<1;v=(v<<1)+ -2|0}c[w+(t<<2)>>2]=c[u+36>>2];c[(c[b+52>>2]|0)+(d<<2)>>2]=c[u+40>>2];d=d+1|0}else d=t;while(0)}while((d|0)!=0);i=o;return}function Zx(a){a=a|0;return}function _x(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]=11536;c[f+36>>2]=e;c[f+0>>2]=c[b+0>>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+0>>2];c[f+20>>2]=c[d+4>>2];c[f+24>>2]=c[d+8>>2];c[f+28>>2]=c[d+12>>2];Tx(c[a+4>>2]|0,f,f+32|0);Tx(c[a+64>>2]|0,f,f+32|0);i=f;return}function $x(a){a=a|0;return}function ay(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,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.0;h=i;i=i+16|0;r=+g[e>>2];p=+g[e+4>>2];n=+g[e+8>>2];k=+g[e+12>>2];q=+g[f>>2];o=+g[f+4>>2];m=+g[f+8>>2];j=+g[f+12>>2];do if((c[d+60>>2]|0)==2){D=c[d+48>>2]|0;Ox(b+64|0,D)|0;l=c[b+68>>2]|0;if((l|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0)}c[b+68>>2]=D;c[b+76>>2]=(c[b+76>>2]|0)+ -1;l=c[b+8>>2]|0;if((l|0)==0){c[5004]=(c[5004]|0)+1;D=XE(63)|0;if((D|0)!=0?(c[(D+19&-16)+ -4>>2]=D,(D+19&-16|0)!=0):0){E=(D+19&-16)+0|0;l=E+44|0;do{c[E>>2]=0;E=E+4|0}while((E|0)<(l|0));l=D+19&-16}else l=0}else c[b+8>>2]=0;c[l+32>>2]=0;c[l+36>>2]=d;c[l+40>>2]=0;g[l>>2]=r;g[l+4>>2]=p;g[l+8>>2]=n;g[l+12>>2]=k;g[l+16>>2]=q;g[l+20>>2]=o;g[l+24>>2]=m;g[l+28>>2]=j;Nx(b+4|0,c[b+4>>2]|0,l);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=l;l=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;l=c[d+48>>2]|0;y=+g[l>>2];if(((((y<=q?(s=+g[l+16>>2],s>=r):0)?(t=+g[l+4>>2],t<=o):0)?(w=+g[l+20>>2],w>=p):0)?(u=+g[l+8>>2],u<=m):0)?(v=+g[l+24>>2],v>=n):0){H=+g[d+16>>2];C=+g[d+20>>2];B=+g[d+24>>2];x=+g[b+140>>2];z=(+g[d+32>>2]-H)*.5*x;A=x*(+g[d+36>>2]-C)*.5;x=x*(+g[d+40>>2]-B)*.5;if(r-H<0.0)z=-z;if(p-C<0.0)A=-A;if(n-B<0.0)x=-x;if(!(!(y<=r)|!(t<=p)|!(u<=n)|!(s>=q)|!(w>=o)|!(v>=m))){l=0;break}if(z>0.0){r=r+-.05000000074505806;q=z+(q+.05000000074505806)}else{r=z+(r+-.05000000074505806);q=q+.05000000074505806}if(A>0.0){p=p+-.05000000074505806;o=A+(o+.05000000074505806)}else{p=A+(p+-.05000000074505806);o=o+.05000000074505806}if(x>0.0){n=n+-.05000000074505806;m=x+(m+.05000000074505806)}else{n=x+(n+-.05000000074505806);m=m+.05000000074505806}F=Ox(b+4|0,l)|0;a:do if((F|0)!=0){D=c[b+12>>2]|0;if(!((D|0)>-1)){F=c[b+4>>2]|0;break}if((D|0)>0){E=0;while(1){G=c[F+32>>2]|0;E=E+1|0;if((G|0)==0)break a;if((E|0)>=(D|0)){F=G;break}else F=G}}}else F=0;while(0);g[l>>2]=r;g[l+4>>2]=p;g[l+8>>2]=n;g[l+12>>2]=k;g[l+16>>2]=q;g[l+20>>2]=o;g[l+24>>2]=m;g[l+28>>2]=j;Nx(b+4|0,F,l);c[b+172>>2]=(c[b+172>>2]|0)+1;l=1;break}F=Ox(b+4|0,l)|0;b:do if((F|0)!=0){D=c[b+12>>2]|0;if(!((D|0)>-1)){F=c[b+4>>2]|0;break}if((D|0)>0){E=0;while(1){G=c[F+32>>2]|0;E=E+1|0;if((G|0)==0)break b;if((E|0)>=(D|0)){F=G;break}else F=G}}}else F=0;while(0);g[l>>2]=r;g[l+4>>2]=p;g[l+8>>2]=n;g[l+12>>2]=k;g[l+16>>2]=q;g[l+20>>2]=o;g[l+24>>2]=m;g[l+28>>2]=j;Nx(b+4|0,F,l);c[b+172>>2]=(c[b+172>>2]|0)+1;l=1}while(0);D=c[d+52>>2]|0;E=c[d+56>>2]|0;if((D|0)==0)c[b+(c[d+60>>2]<<2)+124>>2]=E;else c[D+56>>2]=E;D=c[d+56>>2]|0;if((D|0)!=0)c[D+52>>2]=c[d+52>>2];c[d+16>>2]=c[e+0>>2];c[d+20>>2]=c[e+4>>2];c[d+24>>2]=c[e+8>>2];c[d+28>>2]=c[e+12>>2];c[d+32>>2]=c[f+0>>2];c[d+36>>2]=c[f+4>>2];c[d+40>>2]=c[f+8>>2];c[d+44>>2]=c[f+12>>2];c[d+60>>2]=c[b+144>>2];f=b+(c[b+144>>2]<<2)+124|0;c[d+52>>2]=0;c[d+56>>2]=c[f>>2];e=c[f>>2]|0;if((e|0)!=0)c[e+52>>2]=d;c[f>>2]=d;if(!l){i=h;return}a[b+194>>0]=1;if((a[b+193>>0]|0)!=0){i=h;return}c[h>>2]=11696;c[h+4>>2]=b;by(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,h);by(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,h);i=h;return}function by(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;h=i;if((d|0)==0|(e|0)==0){i=h;return}if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[5004]=(c[5004]|0)+1;j=XE(1043)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}m=c[b+24>>2]|0;if((m|0)>0){l=0;do{k=j+(l<<3)|0;if((k|0)!=0){p=(c[b+32>>2]|0)+(l<<3)|0;q=c[p+4>>2]|0;c[k>>2]=c[p>>2];c[k+4>>2]=q}l=l+1|0}while((l|0)!=(m|0))}k=c[b+32>>2]|0;if((k|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=128;j=b+28|0}else j=b+28|0;c[b+24>>2]=128;m=c[b+32>>2]|0;c[m>>2]=d;c[m+4>>2]=e;e=1;m=124;do{l=e+ -1|0;o=c[b+32>>2]|0;k=c[o+(l<<3)>>2]|0;d=c[o+(l<<3)+4>>2]|0;if((l|0)>(m|0)){m=c[b+24>>2]|0;if((m|0)<(m<<1|0)?(c[j>>2]|0)<(m<<1|0):0){if((m|0)!=0){c[5004]=(c[5004]|0)+1;n=XE((m<<4|3)+16|0)|0;if((n|0)==0)q=0;else{c[(n+19&-16)+ -4>>2]=n;q=n+19&-16}o=c[b+24>>2]|0;if((o|0)>0){n=0;do{p=q+(n<<3)|0;if((p|0)!=0){s=(c[b+32>>2]|0)+(n<<3)|0;r=c[s+4>>2]|0;c[p>>2]=c[s>>2];c[p+4>>2]=r}n=n+1|0}while((n|0)!=(o|0));o=q}else o=q}else o=0;n=c[b+32>>2]|0;if((n|0)!=0){if((a[b+36>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[n+ -4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=o;c[j>>2]=m<<1}c[b+24>>2]=m<<1;m=(m<<1)+ -4|0}do if((k|0)==(d|0))if((c[k+40>>2]|0)==0)e=l;else{r=c[k+36>>2]|0;s=o+(l<<3)|0;c[s>>2]=r;c[s+4>>2]=r;s=c[k+40>>2]|0;r=(c[b+32>>2]|0)+(e<<3)|0;c[r>>2]=s;c[r+4>>2]=s;r=c[k+40>>2]|0;s=(c[b+32>>2]|0)+(e+1<<3)|0;c[s>>2]=c[k+36>>2];c[s+4>>2]=r;e=e+2|0}else if(((((+g[k>>2]<=+g[d+16>>2]?+g[k+16>>2]>=+g[d>>2]:0)?+g[k+4>>2]<=+g[d+20>>2]:0)?+g[k+20>>2]>=+g[d+4>>2]:0)?+g[k+8>>2]<=+g[d+24>>2]:0)?+g[k+24>>2]>=+g[d+8>>2]:0){n=(c[d+40>>2]|0)!=0;if((c[k+40>>2]|0)==0)if(n){s=c[d+36>>2]|0;r=o+(l<<3)|0;c[r>>2]=k;c[r+4>>2]=s;r=c[d+40>>2]|0;s=(c[b+32>>2]|0)+(e<<3)|0;c[s>>2]=k;c[s+4>>2]=r;e=e+1|0;break}else{rc[c[(c[f>>2]|0)+8>>2]&127](f,k,d);e=l;break}else{l=o+(l<<3)|0;o=c[k+36>>2]|0;if(n){r=c[d+36>>2]|0;c[l>>2]=o;c[l+4>>2]=r;r=c[d+36>>2]|0;s=(c[b+32>>2]|0)+(e<<3)|0;c[s>>2]=c[k+40>>2];c[s+4>>2]=r;s=c[d+40>>2]|0;r=(c[b+32>>2]|0)+(e+1<<3)|0;c[r>>2]=c[k+36>>2];c[r+4>>2]=s;r=c[d+40>>2]|0;s=(c[b+32>>2]|0)+(e+2<<3)|0;c[s>>2]=c[k+40>>2];c[s+4>>2]=r;e=e+3|0;break}else{c[l>>2]=o;c[l+4>>2]=d;s=(c[b+32>>2]|0)+(e<<3)|0;c[s>>2]=c[k+40>>2];c[s+4>>2]=d;e=e+1|0;break}}}else e=l;while(0)}while((e|0)!=0);i=h;return}function cy(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;e=i;i=i+48|0;Mx(b+4|0,((aa(c[b+152>>2]|0,c[b+16>>2]|0)|0)/100|0)+1|0);if((c[b+164>>2]|0)!=0){p=((aa(c[b+148>>2]|0,c[b+76>>2]|0)|0)/100|0)+1|0;Mx(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)<0?0:p}l=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=l;l=c[b+(l<<2)+124>>2]|0;if((l|0)!=0){do{m=l+56|0;k=l;l=c[m>>2]|0;n=c[k+52>>2]|0;if((n|0)==0)c[b+(c[k+60>>2]<<2)+124>>2]=l;else c[n+56>>2]=l;n=c[m>>2]|0;if((n|0)!=0)c[n+52>>2]=c[k+52>>2];c[k+52>>2]=0;c[m>>2]=c[b+132>>2];m=c[b+132>>2]|0;if((m|0)!=0)c[m+52>>2]=k;c[b+132>>2]=k;n=c[k+48>>2]|0;Ox(b+4|0,n)|0;m=c[b+8>>2]|0;if((m|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0)}c[b+8>>2]=n;c[b+16>>2]=(c[b+16>>2]|0)+ -1;c[e+16>>2]=c[k+16>>2];c[e+20>>2]=c[k+20>>2];c[e+24>>2]=c[k+24>>2];c[e+28>>2]=c[k+28>>2];c[e+32>>2]=c[k+32>>2];c[e+36>>2]=c[k+36>>2];c[e+40>>2]=c[k+40>>2];c[e+44>>2]=c[k+44>>2];m=c[b+68>>2]|0;if((m|0)==0){c[5004]=(c[5004]|0)+1;m=XE(63)|0;if((m|0)!=0?(c[(m+19&-16)+ -4>>2]=m,(m+19&-16|0)!=0):0){o=(m+19&-16)+0|0;n=o+44|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(n|0));m=m+19&-16}else m=0}else c[b+68>>2]=0;c[m+32>>2]=0;c[m+36>>2]=k;c[m+40>>2]=0;c[m+0>>2]=c[e+16>>2];c[m+4>>2]=c[e+20>>2];c[m+8>>2]=c[e+24>>2];c[m+12>>2]=c[e+28>>2];c[m+16>>2]=c[e+32>>2];c[m+20>>2]=c[e+36>>2];c[m+24>>2]=c[e+40>>2];c[m+28>>2]=c[e+44>>2];Nx(b+64|0,c[b+64>>2]|0,m);c[b+76>>2]=(c[b+76>>2]|0)+1;c[k+48>>2]=m;c[k+60>>2]=2}while((l|0)!=0);c[b+164>>2]=c[b+76>>2];a[b+194>>0]=1}c[e>>2]=11696;c[e+4>>2]=b;if((a[b+193>>0]|0)!=0?(by(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,e),(a[b+193>>0]|0)!=0):0){p=c[b+4>>2]|0;by(b+4|0,p,p,e)}do if((a[b+194>>0]|0)!=0?(h=c[b+136>>2]|0,h=Pb[c[(c[h>>2]|0)+28>>2]&127](h)|0,j=c[h+4>>2]|0,(j|0)>0):0){l=(aa(c[b+156>>2]|0,j)|0)/100|0;p=c[b+160>>2]|0;l=(p|0)>(l|0)?p:l;l=(j|0)<(l|0)?j:l;if((l|0)>0){k=0;do{n=((c[b+184>>2]|0)+k|0)%(j|0)|0;o=c[h+12>>2]|0;m=c[o+(n<<4)>>2]|0;n=c[o+(n<<4)+4>>2]|0;o=c[m+48>>2]|0;p=c[n+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)){j=c[b+136>>2]|0;Tb[c[(c[j>>2]|0)+12>>2]&31](j,m,n,d)|0;j=c[h+4>>2]|0;k=k+ -1|0;l=l+ -1|0}k=k+1|0}while((k|0)<(l|0));if((j|0)<=0){c[b+184>>2]=0;break}}c[b+184>>2]=((c[b+184>>2]|0)+l|0)%(j|0)|0}while(0);c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;h=c[b+168>>2]|0;if((h|0)==0){g[b+176>>2]=0.0;j=c[b+172>>2]|0}else{j=c[b+172>>2]|0;g[b+176>>2]=+(j>>>0)/+(h>>>0)}c[b+172>>2]=j>>>1;c[b+168>>2]=h>>>1;p=c[b+136>>2]|0;if(!(Pb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){i=e;return}h=c[b+136>>2]|0;h=Pb[c[(c[h>>2]|0)+28>>2]&127](h)|0;m=c[h+4>>2]|0;if((m|0)>1){es(h,0,m+ -1|0);o=0;l=0;j=0;k=0;f=45}else{l=0;o=0;j=0;k=0}while(1){if((f|0)==45)m=c[h+4>>2]|0;if((j|0)>=(m|0))break;n=c[h+12>>2]|0;m=n+(j<<4)|0;f=c[m>>2]|0;n=n+(j<<4)+4|0;p=c[n>>2]|0;if((f|0)==(l|0))if((p|0)==(o|0))f=55;else f=49;else{l=f;f=49}if((f|0)==49){f=0;q=c[l+48>>2]|0;o=c[p+48>>2]|0;if(((((+g[q>>2]<=+g[o+16>>2]?+g[q+16>>2]>=+g[o>>2]:0)?+g[q+4>>2]<=+g[o+20>>2]:0)?+g[q+20>>2]>=+g[o+4>>2]:0)?+g[q+8>>2]<=+g[o+24>>2]:0)?+g[q+24>>2]>=+g[o+8>>2]:0)o=p;else{o=p;f=55}}if((f|0)==55){q=c[b+136>>2]|0;rc[c[(c[q>>2]|0)+32>>2]&127](q,m,d);c[m>>2]=0;c[n>>2]=0;k=k+1|0}j=j+1|0;f=45}if((m|0)>1){es(h,0,m+ -1|0);m=c[h+4>>2]|0}b=m-k|0;if((k|0)<0){if((c[h+8>>2]|0)<(b|0)){if((m|0)==(k|0))d=0;else{c[5004]=(c[5004]|0)+1;d=XE((b<<4|3)+16|0)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}k=c[h+4>>2]|0}if((k|0)>0){f=0;do{q=c[h+12>>2]|0;c[d+(f<<4)>>2]=c[q+(f<<4)>>2];c[d+(f<<4)+4>>2]=c[q+(f<<4)+4>>2];c[d+(f<<4)+8>>2]=c[q+(f<<4)+8>>2];c[d+(f<<4)+12>>2]=c[q+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(k|0))}f=c[h+12>>2]|0;if((f|0)!=0){if((a[h+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[h+12>>2]=0}a[h+16>>0]=1;c[h+12>>2]=d;c[h+8>>2]=b;d=h+12|0}else d=h+12|0;do{p=(c[d>>2]|0)+(m<<4)|0;m=m+1|0;q=(m|0)==(b|0);c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0}while(!q)}c[h+4>>2]=b;i=e;return}function dy(a){a=a|0;return c[a+136>>2]|0}function ey(a){a=a|0;return c[a+136>>2]|0}function fy(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,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;e=i;f=c[a+4>>2]|0;a=c[a+64>>2]|0;do if((f|0)==0)if((a|0)==0){h=0.0;j=0.0;o=0.0;n=0.0;m=0.0;l=0.0;k=0.0;p=0.0}else{h=+g[a>>2];j=+g[a+4>>2];o=+g[a+8>>2];n=+g[a+12>>2];m=+g[a+16>>2];l=+g[a+20>>2];k=+g[a+24>>2];p=+g[a+28>>2]}else{h=+g[f>>2];if((a|0)==0){j=+g[f+4>>2];o=+g[f+8>>2];n=+g[f+12>>2];m=+g[f+16>>2];l=+g[f+20>>2];k=+g[f+24>>2];p=+g[f+28>>2];break}else{t=+g[a>>2];r=+g[f+16>>2];m=+g[a+16>>2];s=+g[f+4>>2];j=+g[a+4>>2];q=+g[f+20>>2];l=+g[a+20>>2];n=+g[f+8>>2];o=+g[a+8>>2];p=+g[f+24>>2];k=+g[a+24>>2];h=hm?r:m;l=q>l?q:l;k=p>k?p:k;p=0.0;break}}while(0);g[b>>2]=h;g[b+4>>2]=j;g[b+8>>2]=o;g[b+12>>2]=n;g[d>>2]=m;g[d+4>>2]=l;g[d+8>>2]=k;g[d+12>>2]=p;i=e;return}function gy(b,d){b=b|0;d=d|0;var e=0;d=i;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0)){i=d;return}e=c[b+4>>2]|0;if((e|0)!=0)Lx(b+4|0,e);e=c[b+8>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;e=c[b+36>>2]|0;if((e|0)!=0){if((a[b+40>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+64>>2]|0;if((e|0)!=0)Lx(b+64|0,e);e=c[b+68>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;e=c[b+96>>2]|0;if((e|0)!=0){if((a[b+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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+128>>2]=0;c[b+132>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+176>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+188>>2]=0;i=d;return}function hy(a){a=a|0;return}function iy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function jy(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;gc[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;i=d;return}function ky(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function ly(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;gc[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;i=d;return}function my(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if((b|0)==(d|0)){i=e;return}f=c[(c[a+4>>2]|0)+136>>2]|0;Yb[c[(c[f>>2]|0)+8>>2]&31](f,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;i=e;return}function oy(a,b){a=a|0;b=b|0;var d=0;d=i;rc[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);i=d;return}function py(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;e=i;c[b>>2]=11776;c[5004]=(c[5004]|0)+1;k=XE(379)|0;if((k|0)==0)k=0;else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16}g[k+308>>2]=9999999747378752.0e-20;l=k+332|0;a[l>>0]=a[l>>0]&-16;c[b+24>>2]=k;k=(c[d+20>>2]|0)==0;c[5004]=(c[5004]|0)+1;l=XE(23)|0;if((l|0)==0)m=0;else{c[(l+19&-16)+ -4>>2]=l;m=l+19&-16}l=(m|0)==0;if(k){if(l)m=0;else c[m>>2]=14576;c[b+28>>2]=m}else{if(l)m=0;else c[m>>2]=13248;c[b+28>>2]=m}c[5004]=(c[5004]|0)+1;k=XE(43)|0;if((k|0)!=0?(j=k+19&-16,c[j+ -4>>2]=k,(k+19&-16|0)!=0):0){m=c[b+24>>2]|0;n=c[b+28>>2]|0;a[j+4>>0]=0;c[(k+19&-16)>>2]=18792;c[j+16>>2]=0;c[j+20>>2]=3;c[j+12>>2]=m;c[j+8>>2]=n;j=k+19&-16}else j=0;c[b+32>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12784;j=j+19&-16}else j=0;c[b+36>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12680;j=j+19&-16}else j=0;c[b+40>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12592;j=j+19&-16}else j=0;c[b+44>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12496;j=j+19&-16}else j=0;c[b+48>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12400;j=j+19&-16}else j=0;c[b+52>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12320;j=j+19&-16}else j=0;c[b+56>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12224;j=j+19&-16}else j=0;c[b+60>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12128;j=j+19&-16}else j=0;c[b+76>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12128;j=j+19&-16}else j=0;c[b+80>>2]=j;a[j+4>>0]=1;c[5004]=(c[5004]|0)+1;j=XE(27)|0;if((j|0)!=0?(c[(j+19&-16)+ -4>>2]=j,(j+19&-16|0)!=0):0){a[(j+19&-16)+4>>0]=0;c[(j+19&-16)>>2]=12040;j=j+19&-16}else j=0;c[b+72>>2]=j;c[5004]=(c[5004]|0)+1;j=XE(35)|0;if((j|0)!=0?(h=j+19&-16,c[h+ -4>>2]=j,(j+19&-16|0)!=0):0){a[h+4>>0]=0;c[(j+19&-16)>>2]=11904;c[h+8>>2]=1;c[h+12>>2]=0;h=j+19&-16}else h=0;c[b+88>>2]=h;c[5004]=(c[5004]|0)+1;h=XE(35)|0;if((h|0)!=0?(f=h+19&-16,c[f+ -4>>2]=h,(h+19&-16|0)!=0):0){a[f+4>>0]=0;c[(h+19&-16)>>2]=11904;c[f+8>>2]=1;c[f+12>>2]=0;f=h+19&-16}else f=0;c[b+84>>2]=f;a[f+4>>0]=1;f=c[d+16>>2]|0;f=(f|0)<36?36:f;f=(f|0)>80?f:80;f=(f|0)>44?f:44;h=c[d>>2]|0;if((h|0)==0){a[b+12>>0]=1;c[5004]=(c[5004]|0)+1;h=XE(39)|0;do if((h|0)==0)h=0;else{l=h+19&-16;c[l+ -4>>2]=h;if((h+19&-16|0)==0){h=0;break}j=c[d+8>>2]|0;c[(h+19&-16)>>2]=772;c[l+4>>2]=j;c[5004]=(c[5004]|0)+1;j=XE((j*772|3)+16|0)|0;if((j|0)==0)k=0;else{c[(j+19&-16)+ -4>>2]=j;k=j+19&-16}c[l+16>>2]=k;c[l+12>>2]=k;j=c[l+4>>2]|0;c[l+8>>2]=j;if((j+ -1|0)!=0){n=c[(h+19&-16)>>2]|0;m=j+ -1|0;l=k;do{o=l;l=l+n|0;c[o>>2]=l;m=m+ -1|0}while((m|0)!=0);k=k+(aa(n,j+ -1|0)|0)|0}c[k>>2]=0;h=h+19&-16}while(0);c[b+8>>2]=h}else{a[b+12>>0]=0;c[b+8>>2]=h}h=c[d+4>>2]|0;if((h|0)!=0){a[b+20>>0]=0;c[b+16>>2]=h;i=e;return}a[b+20>>0]=1;c[5004]=(c[5004]|0)+1;h=XE(39)|0;do if((h|0)==0)d=0;else{j=h+19&-16;c[j+ -4>>2]=h;if((h+19&-16|0)==0){d=0;break}d=c[d+12>>2]|0;c[(h+19&-16)>>2]=f;c[j+4>>2]=d;d=aa(d,f)|0;c[5004]=(c[5004]|0)+1;d=XE(d+19|0)|0;if((d|0)==0)f=0;else{c[(d+19&-16)+ -4>>2]=d;f=d+19&-16}c[j+16>>2]=f;c[j+12>>2]=f;d=c[j+4>>2]|0;c[j+8>>2]=d;if((d+ -1|0)!=0){k=c[(h+19&-16)>>2]|0;j=d+ -1|0;l=f;do{o=l;l=l+k|0;c[o>>2]=l;j=j+ -1|0}while((j|0)!=0);f=f+(aa(k,d+ -1|0)|0)|0}c[f>>2]=0;d=h+19&-16}while(0);c[b+16>>2]=d;i=e;return}function qy(a){a=a|0;var b=0;b=i;ry(a);YE(a);i=b;return}function ry(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=11776;if((a[b+20>>0]|0)!=0){e=c[b+16>>2]|0;f=c[e+16>>2]|0;if((f|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0);e=c[b+16>>2]|0}if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}}if((a[b+12>>0]|0)!=0){e=c[b+8>>2]|0;f=c[e+16>>2]|0;if((f|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0);e=c[b+8>>2]|0}if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}}e=c[b+32>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+32>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+36>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+36>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+40>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+40>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+44>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+44>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+48>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+48>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+52>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+52>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+56>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+56>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+60>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+60>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+76>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+76>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+80>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+80>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+72>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+72>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+88>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+88>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+84>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+84>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}e=c[b+24>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}f=c[b+28>>2]|0;Lb[c[c[f>>2]>>2]&511](f);b=c[b+28>>2]|0;if((b|0)==0){i=d;return}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;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|0)==0){a=a+72|0;break}if((b|0)<20&(d|0)==28){a=a+88|0;break}if((d|0)<20&(b|0)==28){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:0){a=a+40|0;break}if((b|0)==31)if((d|0)==31){a=a+48|0;break}else{a=a+44|0;break}else if((d|0)==31){a=a+52|0;break}else{a=a+56|0;break}}else a=a+60|0;while(0);i=e;return c[a>>2]|0}function ty(a){a=a|0;return c[a+8>>2]|0}function uy(a){a=a|0;return c[a+16>>2]|0}function vy(a){a=a|0;return c[a+24>>2]|0}function wy(a){a=a|0;return}function xy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function yy(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;g=i;h=c[d>>2]|0;h=gc[c[(c[h>>2]|0)+56>>2]&31](h,28)|0;if((a[b+4>>0]|0)==0){if((h|0)==0){f=0;i=g;return f|0}j=c[b+8>>2]|0;b=c[b+12>>2]|0;d=c[d>>2]|0;c[h+4>>2]=d;c[h>>2]=19408;a[h+8>>0]=0;c[h+12>>2]=0;a[h+16>>0]=0;c[h+20>>2]=j;c[h+24>>2]=b;if(!(Yb[c[(c[d>>2]|0)+24>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0)){j=h;i=g;return j|0}j=c[h+4>>2]|0;c[h+12>>2]=Yb[c[(c[j>>2]|0)+12>>2]&31](j,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[h+8>>0]=1;j=h;i=g;return j|0}else{if((h|0)==0){j=0;i=g;return j|0}k=c[b+8>>2]|0;b=c[b+12>>2]|0;j=c[d>>2]|0;c[h+4>>2]=j;c[h>>2]=19408;a[h+8>>0]=0;c[h+12>>2]=0;a[h+16>>0]=1;c[h+20>>2]=k;c[h+24>>2]=b;if(!(Yb[c[(c[j>>2]|0)+24>>2]&31](j,c[f+8>>2]|0,c[e+8>>2]|0)|0)){k=h;i=g;return k|0}k=c[h+4>>2]|0;c[h+12>>2]=Yb[c[(c[k>>2]|0)+12>>2]&31](k,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[h+8>>0]=1;k=h;i=g;return k|0}return 0}function zy(a){a=a|0;return}function Ay(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function By(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,16)|0;if((g|0)==0){g=0;i=b;return g|0}d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=17896;a[g+8>>0]=0;c[g+12>>2]=0;if(!(Yb[c[(c[d>>2]|0)+24>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0)){i=b;return g|0}d=c[g+4>>2]|0;c[g+12>>2]=Yb[c[(c[d>>2]|0)+12>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;i=b;return g|0}function Cy(a){a=a|0;return}function Dy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ey(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;h=c[d>>2]|0;h=gc[c[(c[h>>2]|0)+56>>2]&31](h,20)|0;if((h|0)==0){b=0;i=g;return b|0}j=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[h+4>>2]=d;c[h>>2]=16904;a[h+8>>0]=0;c[h+12>>2]=j;a[h+16>>0]=b;if((j|0)!=0){j=h;i=g;return j|0}c[h+12>>2]=Yb[c[(c[d>>2]|0)+12>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[h+8>>0]=1;j=h;i=g;return j|0}function Fy(a){a=a|0;return}function Gy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Hy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,16)|0;if((g|0)==0){g=0;i=b;return g|0}d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=16816;a[g+8>>0]=0;c[g+12>>2]=0;c[g+12>>2]=Yb[c[(c[d>>2]|0)+12>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;a[g+8>>0]=1;i=b;return g|0}function Iy(a){a=a|0;return}function Jy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ky(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=i;d=c[b>>2]|0;d=gc[c[(c[d>>2]|0)+56>>2]&31](d,8)|0;if((d|0)==0){e=0;i=a;return e|0}c[d+4>>2]=c[b>>2];c[d>>2]=12904;e=d;i=a;return e|0}function Ly(a){a=a|0;return}function My(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ny(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,44)|0;if((g|0)==0){g=0;i=b;return g|0}c[g+4>>2]=c[d>>2];c[g>>2]=18040;a[g+24>>0]=1;c[g+20>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;a[g+28>>0]=1;c[g+32>>2]=c[d+4>>2];a[g+36>>0]=0;c[g+40>>2]=c[(c[f+4>>2]|0)+68>>2];yC(g,e,f);i=b;return g|0}function Oy(a){a=a|0;return}function Py(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Qy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;b=c[d>>2]|0;b=gc[c[(c[b>>2]|0)+56>>2]&31](b,48)|0;if((b|0)==0){m=0;i=h;return m|0}c[b+4>>2]=c[d>>2];c[b>>2]=18208;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+32>>2]=c[d+4>>2];a[b+36>>0]=0;c[5004]=(c[5004]|0)+1;d=XE(87)|0;if((d|0)!=0?(g=d+19&-16,c[g+ -4>>2]=d,(d+19&-16|0)!=0):0){c[(d+19&-16)>>2]=19600;a[g+20>>0]=1;c[g+16>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;a[g+24>>0]=0;a[g+44>>0]=1;c[g+40>>2]=0;c[g+32>>2]=0;c[g+36>>2]=0;a[g+64>>0]=1;c[g+60>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[5004]=(c[5004]|0)+1;j=XE(43)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}k=c[g+8>>2]|0;if((k|0)>0){l=0;do{m=j+(l*12|0)|0;if((m|0)!=0){n=(c[g+16>>2]|0)+(l*12|0)|0;c[m+0>>2]=c[n+0>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2]}l=l+1|0}while((l|0)!=(k|0))}k=c[g+16>>2]|0;if((k|0)!=0){if((a[g+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[k+ -4>>2]|0)}c[g+16>>2]=0}a[g+20>>0]=1;c[g+16>>2]=j;c[g+12>>2]=2;MD(d+19&-16);g=d+19&-16}else g=0;c[b+8>>2]=g;c[b+40>>2]=c[(c[e+4>>2]|0)+68>>2];c[b+44>>2]=c[(c[f+4>>2]|0)+68>>2];n=b;i=h;return n|0}function Ry(a){a=a|0;return}function Sy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Ty(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,44)|0;if((g|0)==0){g=0;i=b;return g|0}c[g+4>>2]=c[d>>2];c[g>>2]=18040;a[g+24>>0]=1;c[g+20>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;a[g+28>>0]=0;c[g+32>>2]=c[d+4>>2];a[g+36>>0]=0;c[g+40>>2]=c[(c[e+4>>2]|0)+68>>2];yC(g,e,f);i=b;return g|0}function Uy(a){a=a|0;return}function Vy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Wy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,80)|0;if((g|0)==0){g=0;i=b;return g|0}c[g+4>>2]=c[d>>2];c[g>>2]=18432;a[g+8>>0]=1;d=c[d>>2]|0;c[g+12>>2]=18464;c[g+60>>2]=d;c[g+64>>2]=0;c[g+16>>2]=f;c[g+20>>2]=e;e=Yb[c[(c[d>>2]|0)+12>>2]&31](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[g+76>>2]=e;f=c[g+60>>2]|0;Nb[c[(c[f>>2]|0)+20>>2]&127](f,e);i=b;return g|0}function Xy(a){a=a|0;return}function Yy(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Zy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;g=c[d>>2]|0;g=gc[c[(c[g>>2]|0)+56>>2]&31](g,80)|0;if((g|0)==0){g=0;i=b;return g|0}c[g+4>>2]=c[d>>2];c[g>>2]=18432;a[g+8>>0]=0;d=c[d>>2]|0;c[g+12>>2]=18464;c[g+60>>2]=d;c[g+64>>2]=0;c[g+16>>2]=e;c[g+20>>2]=f;f=Yb[c[(c[d>>2]|0)+12>>2]&31](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[g+76>>2]=f;e=c[g+60>>2]|0;Nb[c[(c[e>>2]|0)+20>>2]&127](e,f);i=b;return g|0}function _y(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function $y(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function az(a){a=a|0;return}function bz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function cz(a,b){a=a|0;b=b|0;return}function dz(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=13008;e=c[b+276>>2]|0;if((e|0)==0){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0}else{if((a[b+280>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0}c[5006]=(c[5006]|0)+1;YE(c[b+ -4>>2]|0);i=d;return}function ez(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=13008;e=c[b+276>>2]|0;if((e|0)!=0){if((a[b+280>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;i=d;return}function fz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;e=i;d=c[d>>2]|0;h=c[b+268>>2]|0;a:do if((h|0)>0){k=c[b+276>>2]|0;j=0;while(1){g=j+1|0;if((c[k+(j<<2)>>2]|0)==(d|0))break;if((g|0)<(h|0))j=g;else break a}if((j|0)!=(h|0)){i=e;return}}while(0);if((h|0)==(c[b+272>>2]|0)?(f=(h|0)==0?1:h<<1,(h|0)<(f|0)):0){if((f|0)==0)g=0;else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[b+268>>2]|0}if((h|0)>0){k=0;do{j=g+(k<<2)|0;if((j|0)!=0)c[j>>2]=c[(c[b+276>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}j=c[b+276>>2]|0;if((j|0)!=0){if((a[b+280>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=g;c[b+272>>2]=f}f=(c[b+276>>2]|0)+(h<<2)|0;if((f|0)!=0)c[f>>2]=d;c[b+268>>2]=h+1;i=e;return}function gz(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;e=i;b=c[b>>2]|0;h=c[a+268>>2]|0;if((h|0)<=0){i=e;return}k=c[a+276>>2]|0;j=0;while(1){g=k+(j<<2)|0;d=j+1|0;if((c[g>>2]|0)==(b|0))break;if((d|0)<(h|0))j=d;else{f=7;break}}if((f|0)==7){i=e;return}if((j|0)>=(h|0)){i=e;return}c[g>>2]=c[k+(h+ -1<<2)>>2];c[a+268>>2]=h+ -1;i=e;return}function hz(a){a=a|0;var b=0;b=i;iz(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function iz(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=13056;e=c[b+284>>2]|0;Lb[c[c[e>>2]>>2]&511](e);e=c[b+284>>2]|0;if((e|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b>>2]=13008;e=c[b+276>>2]|0;if((e|0)==0){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;e=b+272|0;c[e>>2]=0;i=d;return}if((a[b+280>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+276>>2]=0;a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;e=b+272|0;c[e>>2]=0;i=d;return}function jz(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;f=i;if((e|0)==0)e=c[b+188>>2]|0;g=c[d>>2]|0;k=c[b+268>>2]|0;a:do if((k|0)>0){m=c[b+276>>2]|0;j=0;while(1){l=j+1|0;if((c[m+(j<<2)>>2]|0)==(g|0))break;if((l|0)<(k|0))j=l;else break a}if((j|0)!=(k|0)){i=f;return}}while(0);if((k|0)==(c[b+272>>2]|0)?(h=(k|0)==0?1:k<<1,(k|0)<(h|0)):0){if((h|0)==0)j=0;else{c[5004]=(c[5004]|0)+1;j=XE((h<<2|3)+16|0)|0;if((j|0)==0)j=0;else{c[(j+19&-16)+ -4>>2]=j;j=j+19&-16}k=c[b+268>>2]|0}if((k|0)>0){m=0;do{l=j+(m<<2)|0;if((l|0)!=0)c[l>>2]=c[(c[b+276>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(k|0))}l=c[b+276>>2]|0;if((l|0)!=0){if((a[b+280>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[l+ -4>>2]|0);k=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=j;c[b+272>>2]=h}h=(c[b+276>>2]|0)+(k<<2)|0;if((h|0)!=0)c[h>>2]=g;c[b+268>>2]=k+1;m=c[b+284>>2]|0;Yb[c[(c[m>>2]|0)+8>>2]&31](m,e,d)|0;i=f;return}function kz(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;h=i;f=c[b>>2]|0;if((e|0)==0)e=c[a+188>>2]|0;k=c[a+268>>2]|0;if((k|0)<=0){i=h;return}l=c[a+276>>2]|0;m=0;while(1){n=l+(m<<2)|0;j=m+1|0;if((c[n>>2]|0)==(f|0))break;if((j|0)<(k|0))m=j;else{g=9;break}}if((g|0)==9){i=h;return}if((m|0)>=(k|0)){i=h;return}c[n>>2]=c[l+(k+ -1<<2)>>2];c[a+268>>2]=k+ -1;n=c[a+284>>2]|0;Tb[c[(c[n>>2]|0)+12>>2]&31](n,e,b,d)|0;i=h;return}function lz(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,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.0,x=0.0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0;y=i;i=i+320|0;c[y+176>>2]=c[d+0>>2];c[y+180>>2]=c[d+4>>2];c[y+184>>2]=c[d+8>>2];c[y+188>>2]=c[d+12>>2];c[y+192>>2]=c[d+16>>2];c[y+196>>2]=c[d+20>>2];c[y+200>>2]=c[d+24>>2];c[y+204>>2]=c[d+28>>2];c[y+208>>2]=c[d+32>>2];c[y+212>>2]=c[d+36>>2];c[y+216>>2]=c[d+40>>2];c[y+220>>2]=c[d+44>>2];c[y+224>>2]=c[d+48>>2];c[y+228>>2]=c[d+52>>2];c[y+232>>2]=c[d+56>>2];c[y+236>>2]=c[d+60>>2];c[y+112>>2]=c[e+0>>2];c[y+116>>2]=c[e+4>>2];c[y+120>>2]=c[e+8>>2];c[y+124>>2]=c[e+12>>2];c[y+128>>2]=c[e+16>>2];c[y+132>>2]=c[e+20>>2];c[y+136>>2]=c[e+24>>2];c[y+140>>2]=c[e+28>>2];c[y+144>>2]=c[e+32>>2];c[y+148>>2]=c[e+36>>2];c[y+152>>2]=c[e+40>>2];c[y+156>>2]=c[e+44>>2];c[y+160>>2]=c[e+48>>2];c[y+164>>2]=c[e+52>>2];c[y+168>>2]=c[e+56>>2];c[y+172>>2]=c[e+60>>2];H=+g[y+164>>2]- +g[y+228>>2];M=+g[y+168>>2]- +g[y+232>>2];g[y+64>>2]=+g[y+160>>2]- +g[y+224>>2];g[y+68>>2]=H;g[y+72>>2]=M;g[y+76>>2]=0.0;Bo(y+176|0,y+112|0,y+248|0,y+240|0);M=+g[y+240>>2];H=M*+g[y+252>>2];F=M*+g[y+256>>2];g[y+48>>2]=+g[y+248>>2]*M;g[y+52>>2]=H;g[y+56>>2]=F;g[y+60>>2]=0.0;g[y+248>>2]=1.0;D=y+252|0;c[D+0>>2]=0;c[D+4>>2]=0;c[D+8>>2]=0;c[D+12>>2]=0;g[y+268>>2]=1.0;E=y+272|0;c[E+0>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;g[y+288>>2]=1.0;J=y+292|0;c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;Hc(y+176|0,y+32|0);F=+g[y+32>>2];H=+g[y+36>>2];M=+g[y+40>>2];K=+g[y+44>>2];G=F*(2.0/(F*F+H*H+M*M+K*K));I=H*(2.0/(F*F+H*H+M*M+K*K));L=M*(2.0/(F*F+H*H+M*M+K*K));g[y+248>>2]=1.0-(H*I+M*L);g[D>>2]=F*I-K*L;g[y+256>>2]=F*L+K*I;g[y+260>>2]=0.0;g[y+264>>2]=F*I+K*L;g[y+268>>2]=1.0-(F*G+M*L);g[E>>2]=H*L-K*G;g[y+276>>2]=0.0;g[y+280>>2]=F*L-K*I;g[y+284>>2]=H*L+K*G;g[y+288>>2]=1.0-(F*G+H*I);g[J>>2]=0.0;mu(b,y+248|0,y+64|0,y+48|0,y+96|0,y+80|0);if((c[a+268>>2]|0)<=0){i=y;return}B=0;do{C=c[(c[a+276>>2]|0)+(B<<2)>>2]|0;if(gc[c[(c[f>>2]|0)+8>>2]&31](f,c[C+188>>2]|0)|0?(s=c[C+192>>2]|0,vc[c[(c[s>>2]|0)+8>>2]&127](s,C+4|0,y+16|0,y),z=+g[y+16>>2]+ +g[y+96>>2],v=+g[y+20>>2]+ +g[y+100>>2],p=+g[y+24>>2]+ +g[y+104>>2],g[y+16>>2]=z,g[y+20>>2]=v,g[y+24>>2]=p,g[y+28>>2]=0.0,j=+g[y>>2]+ +g[y+80>>2],u=+g[y+4>>2]+ +g[y+84>>2],o=+g[y+8>>2]+ +g[y+88>>2],g[y>>2]=j,g[y+4>>2]=u,g[y+8>>2]=o,g[y+12>>2]=0.0,x=+g[d+48>>2]-(j+z)*.5,t=+g[d+52>>2]-(u+v)*.5,n=+g[d+56>>2]-(o+p)*.5,A=+g[e+48>>2]-(j+z)*.5,w=+g[e+52>>2]-(u+v)*.5,q=+g[e+56>>2]-(o+p)*.5,s=x<-((j-z)*.5)|(x>(j-z)*.5?8:0)|(t>(u-v)*.5?16:0)|(t<-((u-v)*.5)?2:0)|(n>(o-p)*.5?32:0)|(n<-((o-p)*.5)?4:0),r=A<-((j-z)*.5)|(A>(j-z)*.5?8:0)|(w>(u-v)*.5?16:0)|(w<-((u-v)*.5)?2:0)|(q>(o-p)*.5?32:0)|(q<-((o-p)*.5)?4:0),(s&r|0)==0):0){G=1.0;D=1;E=0;H=0.0;F=1.0;while(1){if((D&s|0)==0){if((D&r|0)!=0?(m=(-x-F*(j-z)*.5)/(A-x),m>2]|0;c[y+248>>2]=0;c[y+252>>2]=J;c[y+256>>2]=C;c[y+260>>2]=C+4;c[y+264>>2]=-1;c[y+268>>2]=-1;Au(b,y+176|0,y+112|0,y+248|0,f,h)}}B=B+1|0}while((B|0)<(c[a+268>>2]|0));i=y;return}function mz(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.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;k=i;i=i+288|0;u=c[b+4>>2]|0;a[u+312>>0]=0;c[u>>2]=0;a[u+356>>0]=1;g[u+292>>2]=999999984306749400.0;g[u+296>>2]=999999984306749400.0;g[u+300>>2]=999999984306749400.0;g[u+304>>2]=0.0;c[u+336>>2]=0;c[u+340>>2]=0;c[u+344>>2]=0;c[u+348>>2]=0;a[u+352>>0]=0;a[u+332>>0]=a[u+332>>0]&-16;n=+g[e+48>>2]- +g[d+48>>2]-(+g[h+48>>2]- +g[f+48>>2]);m=+g[e+52>>2]- +g[d+52>>2]-(+g[h+52>>2]- +g[f+52>>2]);l=+g[e+56>>2]- +g[d+56>>2]-(+g[h+56>>2]- +g[f+56>>2]);c[k+216>>2]=10224;g[k+252>>2]=999999984306749400.0;a[k+256>>0]=0;u=c[b+8>>2]|0;t=c[b+12>>2]|0;b=c[b+4>>2]|0;c[k+136>>2]=13392;g[k+140>>2]=0.0;g[k+144>>2]=1.0;g[k+148>>2]=0.0;g[k+152>>2]=0.0;c[k+156>>2]=0;c[k+160>>2]=b;c[k+164>>2]=u;c[k+168>>2]=t;c[k+172>>2]=c[u+4>>2];c[k+176>>2]=c[t+4>>2];g[k+180>>2]=+$b[c[(c[u>>2]|0)+48>>2]&15](u);g[k+184>>2]=+$b[c[(c[t>>2]|0)+48>>2]&15](t);a[k+188>>0]=0;c[k+196>>2]=-1;c[k+208>>2]=1;c[k+212>>2]=1;g[k+128>>2]=999999984306749400.0;c[k+0>>2]=c[d+0>>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[k+16>>2]=c[d+16>>2];c[k+20>>2]=c[d+20>>2];c[k+24>>2]=c[d+24>>2];c[k+28>>2]=c[d+28>>2];c[k+32>>2]=c[d+32>>2];c[k+36>>2]=c[d+36>>2];c[k+40>>2]=c[d+40>>2];c[k+44>>2]=c[d+44>>2];c[k+48>>2]=c[d+48>>2];c[k+52>>2]=c[d+52>>2];c[k+56>>2]=c[d+56>>2];c[k+60>>2]=c[d+60>>2];c[k+64>>2]=c[f+0>>2];c[k+68>>2]=c[f+4>>2];c[k+72>>2]=c[f+8>>2];c[k+76>>2]=c[f+12>>2];c[k+80>>2]=c[f+16>>2];c[k+84>>2]=c[f+20>>2];c[k+88>>2]=c[f+24>>2];c[k+92>>2]=c[f+28>>2];c[k+96>>2]=c[f+32>>2];c[k+100>>2]=c[f+36>>2];c[k+104>>2]=c[f+40>>2];c[k+108>>2]=c[f+44>>2];c[k+112>>2]=c[f+48>>2];c[k+116>>2]=c[f+52>>2];c[k+120>>2]=c[f+56>>2];c[k+124>>2]=c[f+60>>2];qz(k+136|0,k,k+216|0,0,0);t=(a[k+256>>0]|0)==0;b=k+236|0;c[k+264>>2]=c[b+0>>2];c[k+268>>2]=c[b+4>>2];c[k+272>>2]=c[b+8>>2];c[k+276>>2]=c[b+12>>2];if(t){u=0;i=k;return u|0}q=+g[k+252>>2];o=+g[k+220>>2];p=+g[k+224>>2];r=+g[k+228>>2];s=+g[k+232>>2];do if(q>.0010000000474974513){s=q;q=0.0;t=1;while(1){if((t|0)>32){j=0;e=13;break}v=q;q=q-s/(l*r+(m*p+n*o));if(!(!(q<0.0)&!(q>1.0)&!(q<=v))){j=0;e=13;break}Kb[c[c[j>>2]>>2]&31](j,q);v=1.0-q;g[k+48>>2]=v*+g[d+48>>2]+q*+g[e+48>>2];g[k+52>>2]=v*+g[d+52>>2]+q*+g[e+52>>2];g[k+56>>2]=v*+g[d+56>>2]+q*+g[e+56>>2];g[k+112>>2]=v*+g[f+48>>2]+q*+g[h+48>>2];g[k+116>>2]=v*+g[f+52>>2]+q*+g[h+52>>2];g[k+120>>2]=v*+g[f+56>>2]+q*+g[h+56>>2];qz(k+136|0,k,k+216|0,0,0);if((a[k+256>>0]|0)==0){j=0;e=13;break}s=+g[k+252>>2];if(s<0.0){e=8;break}c[k+264>>2]=c[b+0>>2];c[k+268>>2]=c[b+4>>2];c[k+272>>2]=c[b+8>>2];c[k+276>>2]=c[b+12>>2];o=+g[k+220>>2];p=+g[k+224>>2];r=+g[k+228>>2];if(!(s>.0010000000474974513)){e=10;break}else t=t+1|0}if((e|0)==8){g[j+164>>2]=q;r=+g[k+224>>2];s=+g[k+228>>2];v=+g[k+232>>2];g[j+132>>2]=+g[k+220>>2];g[j+136>>2]=r;g[j+140>>2]=s;g[j+144>>2]=v;c[j+148>>2]=c[b+0>>2];c[j+152>>2]=c[b+4>>2];c[j+156>>2]=c[b+8>>2];c[j+160>>2]=c[b+12>>2];u=1;i=k;return u|0}else if((e|0)==10){s=+g[k+232>>2];break}else if((e|0)==13){i=k;return j|0}}else q=0.0;while(0);if(l*r+(m*p+n*o)>=-+g[j+172>>2]){u=0;i=k;return u|0}g[j+164>>2]=q;g[j+132>>2]=o;g[j+136>>2]=p;g[j+140>>2]=r;g[j+144>>2]=s;c[j+148>>2]=c[k+264>>2];c[j+152>>2]=c[k+268>>2];c[j+156>>2]=c[k+272>>2];c[j+160>>2]=c[k+276>>2];u=1;i=k;return u|0}function nz(a){a=a|0;return}function oz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function pz(b,e,f,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0,A=0,B=0.0,C=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,P=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=i;i=i+10240|0;U=+g[k+52>>2]- +g[j+52>>2];H=+g[k+56>>2]- +g[j+56>>2];g[b>>2]=+g[k+48>>2]- +g[j+48>>2];g[b+4>>2]=U;g[b+8>>2]=H;g[b+12>>2]=0.0;c[b+10088>>2]=f;c[b+10092>>2]=h;H=+g[k>>2];U=+g[j>>2];G=+g[k+16>>2];y=+g[j+16>>2];B=+g[k+32>>2];V=+g[j+32>>2];L=+g[j+4>>2];W=+g[j+20>>2];M=+g[j+36>>2];v=+g[j+8>>2];K=+g[j+24>>2];I=+g[j+40>>2];T=+g[k+4>>2];S=+g[k+20>>2];R=+g[k+36>>2];P=+g[k+8>>2];O=+g[k+24>>2];N=+g[k+40>>2];g[b+10096>>2]=H*U+G*y+B*V;g[b+10100>>2]=H*L+G*W+B*M;g[b+10104>>2]=H*v+G*K+B*I;g[b+10108>>2]=0.0;g[b+10112>>2]=U*T+y*S+V*R;g[b+10116>>2]=L*T+W*S+M*R;g[b+10120>>2]=v*T+K*S+I*R;g[b+10124>>2]=0.0;g[b+10128>>2]=U*P+y*O+V*N;g[b+10132>>2]=L*P+W*O+M*N;g[b+10136>>2]=v*P+K*O+I*N;g[b+10140>>2]=0.0;I=+g[k+48>>2]- +g[j+48>>2];K=+g[k+52>>2]- +g[j+52>>2];v=+g[k+56>>2]- +g[j+56>>2];M=+g[j>>2];W=+g[k>>2];L=+g[j+16>>2];V=+g[k+16>>2];y=+g[j+32>>2];U=+g[k+32>>2];B=+g[j+4>>2];G=+g[j+20>>2];H=+g[j+36>>2];J=+g[j+8>>2];w=+g[j+24>>2];u=+g[j+40>>2];g[b+10144>>2]=M*W+L*V+y*U;g[b+10148>>2]=M*T+L*S+y*R;g[b+10152>>2]=M*P+L*O+y*N;g[b+10156>>2]=0.0;g[b+10160>>2]=W*B+V*G+U*H;g[b+10164>>2]=T*B+S*G+R*H;g[b+10168>>2]=P*B+O*G+N*H;g[b+10172>>2]=0.0;g[b+10176>>2]=W*J+V*w+U*u;g[b+10180>>2]=T*J+S*w+R*u;g[b+10184>>2]=P*J+O*w+N*u;g[b+10188>>2]=0.0;g[b+10192>>2]=I*M+K*L+v*y;g[b+10196>>2]=I*B+K*G+v*H;g[b+10200>>2]=I*J+K*w+v*u;g[b+10204>>2]=0.0;c[b+10208>>2]=70;c[b+10212>>2]=0;c[b+10072>>2]=0;c[b+9836>>2]=0;c[b+9840>>2]=0;c[b+9844>>2]=0;c[b+9848>>2]=0;c[b+10084>>2]=2;c[b+10076>>2]=0;g[b+9852>>2]=0.0;u=+g[b>>2];v=+g[b+4>>2];w=+g[b+8>>2];g[b+9328>>2]=-u;g[b+9332>>2]=-v;g[b+9336>>2]=-w;g[b+9340>>2]=0.0;do if((ED(b+9708|0,b+10088|0,b+9328|0)|0)==1){e=b+9296|0;r=b+9304|0;q=b+9308|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[b+16>>2]=9;o=b+56|0;c[b+9292>>2]=0;c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;s=0;do{t=128-s+ -1|0;c[b+16+(t*56|0)+2152>>2]=0;x=c[r>>2]|0;c[b+16+(t*56|0)+2156>>2]=x;if((x|0)!=0)c[x+44>>2]=b+16+(t*56|0)+2108;c[r>>2]=b+16+(t*56|0)+2108;c[q>>2]=(c[q>>2]|0)+1;s=s+1|0}while((s|0)!=128);s=c[b+10080>>2]|0;if((c[s+32>>2]|0)>>>0>1?FD(b+9708|0)|0:0){t=c[e>>2]|0;if((t|0)!=0){z=c[b+9300>>2]|0;x=c[q>>2]|0;do{C=t+48|0;D=c[C>>2]|0;A=t+44|0;if((D|0)!=0)c[D+44>>2]=c[A>>2];D=c[A>>2]|0;if((D|0)!=0)c[D+48>>2]=c[C>>2];if((c[e>>2]|0)==(t|0))c[e>>2]=c[C>>2];z=z+ -1|0;c[A>>2]=0;c[C>>2]=c[r>>2];A=c[r>>2]|0;if((A|0)!=0)c[A+44>>2]=t;c[r>>2]=t;x=x+1|0;t=c[e>>2]|0}while((t|0)!=0);c[b+9300>>2]=z;c[q>>2]=x}c[b+16>>2]=0;c[b+9292>>2]=0;z=c[s>>2]|0;A=c[s+12>>2]|0;W=+g[A+16>>2];N=+g[z+16>>2]-W;P=+g[A+20>>2];R=+g[z+20>>2]-P;T=+g[A+24>>2];U=+g[z+24>>2]-T;A=c[s+4>>2]|0;S=+g[A+16>>2]-W;V=+g[A+20>>2]-P;O=+g[A+24>>2]-T;x=c[s+8>>2]|0;W=+g[x+16>>2]-W;P=+g[x+20>>2]-P;T=+g[x+24>>2]-T;if(N*V*T+(R*O*W+U*S*P-N*O*P-R*S*T)-U*V*W<0.0){c[s>>2]=A;c[s+4>>2]=z;W=+g[s+16>>2];g[s+16>>2]=+g[s+20>>2];g[s+20>>2]=W;t=A}else{t=z;z=A}t=GD(b+16|0,t,z,x,1)|0;x=GD(b+16|0,c[s+4>>2]|0,c[s>>2]|0,c[s+12>>2]|0,1)|0;z=GD(b+16|0,c[s+8>>2]|0,c[s+4>>2]|0,c[s+12>>2]|0,1)|0;A=GD(b+16|0,c[s>>2]|0,c[s+8>>2]|0,c[s+12>>2]|0,1)|0;if((c[b+9300>>2]|0)==4){C=c[e>>2]|0;B=+g[C+16>>2];s=c[C+48>>2]|0;if((s|0)!=0){u=B*B;while(1){v=+g[s+16>>2];D=v*v>2]|0;if((s|0)==0)break;else u=D?v*v:u}B=+g[C+16>>2]}y=+g[C>>2];w=+g[C+4>>2];u=+g[C+8>>2];v=+g[C+12>>2];E=c[C+20>>2]|0;F=c[C+24>>2]|0;s=c[C+28>>2]|0;a[t+52>>0]=0;c[t+32>>2]=x;a[x+52>>0]=0;c[x+32>>2]=t;a[t+53>>0]=0;c[t+36>>2]=z;a[z+52>>0]=1;c[z+32>>2]=t;a[t+54>>0]=0;c[t+40>>2]=A;a[A+52>>0]=2;c[A+32>>2]=t;a[x+53>>0]=2;c[x+36>>2]=A;a[A+54>>0]=1;c[A+40>>2]=x;a[x+54>>0]=1;c[x+40>>2]=z;a[z+53>>0]=2;c[z+36>>2]=x;a[z+54>>0]=1;c[z+40>>2]=A;a[A+53>>0]=2;c[A+36>>2]=z;c[b+16>>2]=0;A=E;z=F;x=s;t=0;s=1;while(1){D=c[b+9292>>2]|0;if(!(D>>>0<64)){p=48;break}c[b+10216>>2]=0;c[b+10220>>2]=0;c[b+10224>>2]=0;c[b+9292>>2]=D+1;a[C+55>>0]=s;E=C+4|0;F=C+8|0;HD(b+9708|0,+g[C>>2],+g[E>>2],+g[F>>2],b+16+(D<<5)+60|0);if(+g[C>>2]*+g[b+16+(D<<5)+76>>2]+ +g[E>>2]*+g[b+16+(D<<5)+80>>2]+ +g[F>>2]*+g[b+16+(D<<5)+84>>2]- +g[C+16>>2]>9999999747378752.0e-20){E=0;F=1}else{p=47;break}do{F=F&(ID(b+16|0,s,b+16+(D<<5)+60|0,c[C+(E<<2)+32>>2]|0,d[C+E+52>>0]|0,b+10216|0)|0);E=E+1|0}while(!(E>>>0>2|F^1));if(!F){p=46;break}if(!((c[b+10224>>2]|0)>>>0>2)){p=46;break}A=c[b+10216>>2]|0;z=c[b+10220>>2]|0;a[A+53>>0]=2;c[A+36>>2]=z;a[z+54>>0]=1;c[z+40>>2]=A;z=C+48|0;A=c[z>>2]|0;x=C+44|0;if((A|0)!=0)c[A+44>>2]=c[x>>2];A=c[x>>2]|0;if((A|0)!=0)c[A+48>>2]=c[z>>2];if((c[e>>2]|0)==(C|0))c[e>>2]=c[z>>2];c[b+9300>>2]=(c[b+9300>>2]|0)+ -1;c[x>>2]=0;c[z>>2]=c[r>>2];x=c[r>>2]|0;if((x|0)!=0)c[x+44>>2]=C;c[r>>2]=C;c[q>>2]=(c[q>>2]|0)+1;C=c[e>>2]|0;B=+g[C+16>>2];x=c[C+48>>2]|0;if((x|0)!=0){u=B*B;while(1){v=+g[x+16>>2];z=v*v>2]|0;if((x|0)==0)break;else u=z?v*v:u}B=+g[C+16>>2]}y=+g[C>>2];w=+g[C+4>>2];u=+g[C+8>>2];v=+g[C+12>>2];A=c[C+20>>2]|0;z=c[C+24>>2]|0;x=c[C+28>>2]|0;t=t+1|0;if(!(t>>>0<255))break;else s=s+1|0}if((p|0)==46)c[b+16>>2]=4;else if((p|0)==47)c[b+16>>2]=7;else if((p|0)==48)c[b+16>>2]=6;S=B*y;P=B*w;U=B*u;g[o>>2]=y;g[b+60>>2]=w;g[b+64>>2]=u;g[b+68>>2]=v;g[b+72>>2]=B;c[b+52>>2]=3;c[b+20>>2]=A;c[b+24>>2]=z;c[b+28>>2]=x;D=z+16|0;T=+g[D>>2]-S;E=z+20|0;N=+g[E>>2]-P;F=z+24|0;R=+g[F>>2]-U;C=x+16|0;M=+g[C>>2]-S;z=x+20|0;O=+g[z>>2]-P;x=x+24|0;V=+g[x>>2]-U;V=+Q(+((T*O-N*M)*(T*O-N*M)+((N*V-R*O)*(N*V-R*O)+(R*M-T*V)*(R*M-T*V))));g[b+36>>2]=V;T=+g[C>>2]-S;M=+g[z>>2]-P;R=+g[x>>2]-U;x=A+16|0;O=+g[x>>2]-S;z=A+20|0;N=+g[z>>2]-P;C=A+24|0;W=+g[C>>2]-U;W=+Q(+((T*N-M*O)*(T*N-M*O)+((M*W-R*N)*(M*W-R*N)+(R*O-T*W)*(R*O-T*W))));g[b+40>>2]=W;T=+g[x>>2]-S;O=+g[z>>2]-P;R=+g[C>>2]-U;S=+g[D>>2]-S;P=+g[E>>2]-P;U=+g[F>>2]-U;U=+Q(+((T*P-O*S)*(T*P-O*S)+((O*U-R*P)*(O*U-R*P)+(R*S-T*U)*(R*S-T*U))));g[b+36>>2]=V/(U+(V+W));g[b+40>>2]=W/(U+(V+W));g[b+44>>2]=U/(U+(V+W));if((c[b+16>>2]|0)==9){o=0;u=0.0;v=0.0;w=0.0;B=0.0;H=0.0;I=0.0;J=0.0;G=0.0;y=0.0;break}if((c[b+52>>2]|0)==0){y=0.0;B=0.0;w=0.0}else{e=b+52|0;p=54}}else p=49}else p=49;if((p|0)==49){c[b+16>>2]=8;g[o>>2]=u;g[b+60>>2]=v;g[b+64>>2]=w;g[b+68>>2]=0.0;y=+Q(+(u*u+v*v+w*w));if(y>0.0){w=1.0/y*w;v=1.0/y*v;u=1.0/y*u}else{w=0.0;v=0.0;u=1.0}g[o>>2]=u;g[b+60>>2]=v;g[b+64>>2]=w;g[b+68>>2]=0.0;g[b+72>>2]=0.0;c[b+52>>2]=1;c[b+20>>2]=c[s>>2];g[b+36>>2]=1.0;e=b+52|0;p=54}if((p|0)==54){w=0.0;u=0.0;v=0.0;p=0;do{r=c[b+10208>>2]|0;F=c[b+10212>>2]|0;q=(c[b+10088>>2]|0)+(F>>1)|0;if((F&1|0)!=0)r=c[(c[q>>2]|0)+r>>2]|0;rc[r&127](b+9312|0,q,c[b+16+(p<<2)+4>>2]|0);W=+g[b+16+(p<<2)+20>>2];w=w+ +g[b+9312>>2]*W;u=u+W*+g[b+9316>>2];v=v+W*+g[b+9320>>2];p=p+1|0}while(p>>>0<(c[e>>2]|0)>>>0);y=v;B=u}Y=+g[j>>2];X=+g[j+4>>2];K=+g[j+8>>2];M=+g[j+16>>2];N=+g[j+20>>2];O=+g[j+24>>2];R=+g[j+32>>2];T=+g[j+36>>2];V=+g[j+40>>2];L=+g[j+48>>2];H=+g[j+52>>2];I=+g[j+56>>2];J=+g[o>>2];U=+g[b+72>>2];G=+g[b+60>>2];W=+g[b+64>>2];P=w-J*U;S=B-U*G;U=y-U*W;o=1;u=w*Y+B*X+y*K+L;v=w*M+B*N+y*O+H;w=w*R+B*T+y*V+I;B=P*Y+S*X+U*K+L;H=P*M+S*N+U*O+H;I=P*R+S*T+U*V+I;J=-J;G=-G;y=-W}else{o=0;u=0.0;v=0.0;w=0.0;B=0.0;H=0.0;I=0.0;J=0.0;G=0.0;y=0.0}while(0);if(o){g[m>>2]=u;g[m+4>>2]=v;g[m+8>>2]=w;g[m+12>>2]=0.0;g[n>>2]=B;g[n+4>>2]=H;g[n+8>>2]=I;g[n+12>>2]=0.0;g[l>>2]=J;g[l+4>>2]=G;g[l+8>>2]=y;g[l+12>>2]=0.0;F=1;i=b;return F|0}c[b+9708>>2]=f;c[b+9712>>2]=h;w=+g[k>>2];M=+g[j>>2];y=+g[k+16>>2];N=+g[j+16>>2];B=+g[k+32>>2];O=+g[j+32>>2];P=+g[j+4>>2];R=+g[j+20>>2];S=+g[j+36>>2];U=+g[j+8>>2];W=+g[j+24>>2];Y=+g[j+40>>2];G=+g[k+4>>2];H=+g[k+20>>2];I=+g[k+36>>2];J=+g[k+8>>2];K=+g[k+24>>2];L=+g[k+40>>2];g[b+9716>>2]=w*M+y*N+B*O;g[b+9720>>2]=w*P+y*R+B*S;g[b+9724>>2]=w*U+y*W+B*Y;g[b+9728>>2]=0.0;g[b+9732>>2]=M*G+N*H+O*I;g[b+9736>>2]=P*G+R*H+S*I;g[b+9740>>2]=U*G+W*H+Y*I;g[b+9744>>2]=0.0;g[b+9748>>2]=M*J+N*K+O*L;g[b+9752>>2]=P*J+R*K+S*L;g[b+9756>>2]=U*J+W*K+Y*L;g[b+9760>>2]=0.0;T=+g[k+48>>2]- +g[j+48>>2];V=+g[k+52>>2]- +g[j+52>>2];X=+g[k+56>>2]- +g[j+56>>2];g[b+9764>>2]=w*M+y*N+B*O;g[b+9768>>2]=M*G+N*H+O*I;g[b+9772>>2]=M*J+N*K+O*L;g[b+9776>>2]=0.0;g[b+9780>>2]=w*P+y*R+B*S;g[b+9784>>2]=P*G+R*H+S*I;g[b+9788>>2]=P*J+R*K+S*L;g[b+9792>>2]=0.0;g[b+9796>>2]=w*U+y*W+B*Y;g[b+9800>>2]=U*G+W*H+Y*I;g[b+9804>>2]=U*J+W*K+Y*L;g[b+9808>>2]=0.0;g[b+9812>>2]=T*M+V*N+X*O;g[b+9816>>2]=T*P+V*R+X*S;g[b+9820>>2]=T*U+V*W+X*Y;g[b+9824>>2]=0.0;c[b+9828>>2]=71;c[b+9832>>2]=0;c[b+9692>>2]=0;c[b+9456>>2]=0;c[b+9460>>2]=0;c[b+9464>>2]=0;c[b+9468>>2]=0;c[b+9704>>2]=2;c[b+9696>>2]=0;g[b+9472>>2]=0.0;if((ED(b+9328|0,b+9708|0,b)|0)!=0){F=0;i=b;return F|0}k=c[b+9700>>2]|0;if((c[k+32>>2]|0)==0){H=0.0;G=0.0;B=0.0;u=0.0;v=0.0;y=0.0}else{B=0.0;G=0.0;H=0.0;y=0.0;v=0.0;u=0.0;f=0;do{w=+g[k+(f<<2)+16>>2];o=c[b+9828>>2]|0;F=c[b+9832>>2]|0;h=(c[b+9708>>2]|0)+(F>>1)|0;if((F&1|0)!=0)o=c[(c[h>>2]|0)+o>>2]|0;rc[o&127](b+9312|0,h,c[k+(f<<2)>>2]|0);B=B+w*+g[b+9312>>2];G=G+w*+g[b+9316>>2];H=H+w*+g[b+9320>>2];h=c[(c[b+9700>>2]|0)+(f<<2)>>2]|0;I=-+g[h>>2];J=-+g[h+4>>2];K=-+g[h+8>>2];h=c[b+9828>>2]|0;F=c[b+9832>>2]|0;k=(c[b+9712>>2]|0)+(F>>1)|0;if((F&1|0)!=0)h=c[(c[k>>2]|0)+h>>2]|0;X=+g[b+9732>>2]*I+ +g[b+9736>>2]*J+ +g[b+9740>>2]*K;W=+g[b+9748>>2]*I+ +g[b+9752>>2]*J+ +g[b+9756>>2]*K;g[b+10088>>2]=+g[b+9716>>2]*I+ +g[b+9720>>2]*J+ +g[b+9724>>2]*K;g[b+10092>>2]=X;g[b+10096>>2]=W;g[b+10100>>2]=0.0;rc[h&127](b+10216|0,k,b+10088|0);W=+g[b+10216>>2];X=+g[b+10220>>2];Y=+g[b+10224>>2];y=y+w*(W*+g[b+9764>>2]+X*+g[b+9768>>2]+Y*+g[b+9772>>2]+ +g[b+9812>>2]);v=v+w*(W*+g[b+9780>>2]+X*+g[b+9784>>2]+Y*+g[b+9788>>2]+ +g[b+9816>>2]);u=u+w*(W*+g[b+9796>>2]+X*+g[b+9800>>2]+Y*+g[b+9804>>2]+ +g[b+9820>>2]);f=f+1|0;k=c[b+9700>>2]|0}while(f>>>0<(c[k+32>>2]|0)>>>0)}I=+g[j>>2];J=+g[j+4>>2];K=+g[j+8>>2];M=+g[j+16>>2];N=+g[j+20>>2];O=+g[j+24>>2];R=+g[j+32>>2];S=+g[j+36>>2];T=+g[j+40>>2];L=+g[j+48>>2];P=+g[j+52>>2];U=+g[j+56>>2];V=B-y;W=G-v;Y=H-u;X=+Q(+(V*V+W*W+Y*Y));X=1.0/(X>9999999747378752.0e-20?X:1.0);g[m>>2]=B*I+G*J+H*K+L;g[m+4>>2]=B*M+G*N+H*O+P;g[m+8>>2]=B*R+G*S+H*T+U;g[m+12>>2]=0.0;g[n>>2]=y*I+v*J+u*K+L;g[n+4>>2]=y*M+v*N+u*O+P;g[n+8>>2]=y*R+v*S+u*T+U;g[n+12>>2]=0.0;g[l>>2]=X*V;g[l+4>>2]=X*W;g[l+8>>2]=X*Y;g[l+12>>2]=0.0;F=0;i=b;return F|0}function qz(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,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.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.0,M=0.0,N=0,O=0,P=0.0,R=0.0;h=i;i=i+288|0;g[b+56>>2]=0.0;p=h+276|0;q=h+280|0;c[h+272>>2]=0;c[h+276>>2]=0;c[h+280>>2]=0;c[h+284>>2]=0;c[h+208>>2]=c[d+0>>2];c[h+212>>2]=c[d+4>>2];c[h+216>>2]=c[d+8>>2];c[h+220>>2]=c[d+12>>2];c[h+224>>2]=c[d+16>>2];c[h+228>>2]=c[d+20>>2];c[h+232>>2]=c[d+24>>2];c[h+236>>2]=c[d+28>>2];c[h+240>>2]=c[d+32>>2];c[h+244>>2]=c[d+36>>2];c[h+248>>2]=c[d+40>>2];c[h+252>>2]=c[d+44>>2];N=h+256|0;c[N+0>>2]=c[d+48>>2];c[N+4>>2]=c[d+52>>2];c[N+8>>2]=c[d+56>>2];c[N+12>>2]=c[d+60>>2];c[h+144>>2]=c[d+64>>2];c[h+148>>2]=c[d+68>>2];c[h+152>>2]=c[d+72>>2];c[h+156>>2]=c[d+76>>2];c[h+160>>2]=c[d+80>>2];c[h+164>>2]=c[d+84>>2];c[h+168>>2]=c[d+88>>2];c[h+172>>2]=c[d+92>>2];c[h+176>>2]=c[d+96>>2];c[h+180>>2]=c[d+100>>2];c[h+184>>2]=c[d+104>>2];c[h+188>>2]=c[d+108>>2];O=h+192|0;c[O+0>>2]=c[d+112>>2];c[O+4>>2]=c[d+116>>2];c[O+8>>2]=c[d+120>>2];c[O+12>>2]=c[d+124>>2];r=+g[N>>2];s=+g[O>>2];t=+g[h+260>>2];u=+g[h+196>>2];n=+g[h+264>>2];o=+g[h+200>>2];g[N>>2]=r-(r+s)*.5;g[h+260>>2]=t-(t+u)*.5;g[h+264>>2]=n-(n+o)*.5;g[O>>2]=s-(r+s)*.5;g[h+196>>2]=u-(t+u)*.5;g[h+200>>2]=o-(n+o)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+ -17|0)>>>0<2)y=((c[(c[b+32>>2]|0)+4>>2]|0)+ -17|0)>>>0<2;else y=0;w=+g[b+44>>2];v=+g[b+48>>2];c[3344]=(c[3344]|0)+1;O=(a[b+52>>0]|0)==0;v=O?v:0.0;c[b+64>>2]=0;g[b+4>>2]=0.0;g[b+8>>2]=1.0;g[b+12>>2]=0.0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;w=(O?w:0.0)+v;O=c[b+24>>2]|0;a[O+312>>0]=0;c[O>>2]=0;a[O+356>>0]=1;g[O+292>>2]=999999984306749400.0;g[O+296>>2]=999999984306749400.0;g[O+300>>2]=999999984306749400.0;g[O+304>>2]=0.0;c[O+336>>2]=0;c[O+340>>2]=0;c[O+344>>2]=0;c[O+348>>2]=0;a[O+352>>0]=0;a[O+332>>0]=a[O+332>>0]&-16;A=+g[b+4>>2];B=+g[b+8>>2];F=+g[b+12>>2];a:do if(y){z=999999984306749400.0;while(1){K=-A;L=-B;C=-F;M=+g[d+4>>2]*K+ +g[d+20>>2]*L+ +g[d+36>>2]*C;E=+g[d+8>>2]*K+ +g[d+24>>2]*L+ +g[d+40>>2]*C;g[h+128>>2]=+g[d>>2]*K+ +g[d+16>>2]*L+ +g[d+32>>2]*C;g[h+132>>2]=M;g[h+136>>2]=E;g[h+140>>2]=0.0;E=A*+g[d+68>>2]+B*+g[d+84>>2]+F*+g[d+100>>2];M=A*+g[d+72>>2]+B*+g[d+88>>2]+F*+g[d+104>>2];g[h+112>>2]=+g[d+64>>2]*A+ +g[d+80>>2]*B+ +g[d+96>>2]*F;g[h+116>>2]=E;g[h+120>>2]=M;g[h+124>>2]=0.0;Rw(h+96|0,c[b+28>>2]|0,h+128|0);Rw(h+80|0,c[b+32>>2]|0,h+112|0);F=+g[h+96>>2];M=+g[h+100>>2];B=+g[h+104>>2];E=F*+g[h+208>>2]+M*+g[h+212>>2]+B*+g[h+216>>2]+ +g[h+256>>2];B=F*+g[h+224>>2]+M*+g[h+228>>2]+B*+g[h+232>>2]+ +g[h+260>>2];M=+g[h+80>>2];F=+g[h+84>>2];C=+g[h+88>>2];A=M*+g[h+144>>2]+F*+g[h+148>>2]+C*+g[h+152>>2]+ +g[h+192>>2];C=M*+g[h+160>>2]+F*+g[h+164>>2]+C*+g[h+168>>2]+ +g[h+196>>2];F=+g[b+4>>2]*(E-A)+ +g[b+8>>2]*(B-C)+ +g[b+12>>2]*0.0;if(F>0.0?F*F>z*+g[d+128>>2]:0){j=22;break a}y=c[b+24>>2]|0;D=c[y>>2]|0;if((D|0)>0){G=+g[y+308>>2];O=0;N=0;do{K=E-A- +g[y+(N<<4)+4>>2];L=B-C- +g[y+(N<<4)+8>>2];M=0.0- +g[y+(N<<4)+12>>2];O=O|K*K+L*L+M*M<=G;N=N+1|0}while((N|0)!=(D|0))}else O=0;if((+g[y+304>>2]==0.0?+g[y+300>>2]==0.0:0)?B-C==+g[y+296>>2]:0)N=E-A==+g[y+292>>2];else N=0;if(N|O){j=31;break a}H=z-F;if(H<=z*9.999999974752427e-7){j=33;break a}g[y+292>>2]=E-A;g[y+296>>2]=B-C;g[y+300>>2]=0.0;g[y+304>>2]=0.0;a[y+356>>0]=1;g[y+(D<<4)+4>>2]=E-A;g[y+(D<<4)+8>>2]=B-C;g[y+(D<<4)+12>>2]=0.0;g[y+(D<<4)+16>>2]=0.0;N=c[y>>2]|0;g[y+(N<<4)+84>>2]=E;g[y+(N<<4)+88>>2]=B;g[y+(N<<4)+92>>2]=0.0;g[y+(N<<4)+96>>2]=0.0;N=c[y>>2]|0;g[y+(N<<4)+164>>2]=A;g[y+(N<<4)+168>>2]=C;g[y+(N<<4)+172>>2]=0.0;g[y+(N<<4)+176>>2]=0.0;c[y>>2]=(c[y>>2]|0)+1;N=c[b+24>>2]|0;O=lC(N)|0;A=+g[N+276>>2];B=+g[N+280>>2];F=+g[N+284>>2];E=+g[N+288>>2];if(!O){j=35;break a}C=z;z=A*A+B*B+F*F;if(z<9.999999974752427e-7){z=C;j=37;break a}if(C-z<=C*1.1920928955078125e-7){j=39;break a}g[b+4>>2]=A;g[b+8>>2]=B;g[b+12>>2]=F;g[b+16>>2]=E;O=c[b+64>>2]|0;c[b+64>>2]=O+1;if((O|0)>1e3){z=0.0;y=0;A=0.0;B=0.0;C=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){j=42;break}}}else{z=999999984306749400.0;while(1){G=-A;E=-B;C=-F;H=+g[d+4>>2]*G+ +g[d+20>>2]*E+ +g[d+36>>2]*C;M=+g[d+8>>2]*G+ +g[d+24>>2]*E+ +g[d+40>>2]*C;g[h+128>>2]=+g[d>>2]*G+ +g[d+16>>2]*E+ +g[d+32>>2]*C;g[h+132>>2]=H;g[h+136>>2]=M;g[h+140>>2]=0.0;M=A*+g[d+68>>2]+B*+g[d+84>>2]+F*+g[d+100>>2];H=A*+g[d+72>>2]+B*+g[d+88>>2]+F*+g[d+104>>2];g[h+112>>2]=+g[d+64>>2]*A+ +g[d+80>>2]*B+ +g[d+96>>2]*F;g[h+116>>2]=M;g[h+120>>2]=H;g[h+124>>2]=0.0;Rw(h+96|0,c[b+28>>2]|0,h+128|0);Rw(h+80|0,c[b+32>>2]|0,h+112|0);H=+g[h+96>>2];M=+g[h+100>>2];F=+g[h+104>>2];B=H*+g[h+208>>2]+M*+g[h+212>>2]+F*+g[h+216>>2]+ +g[h+256>>2];C=H*+g[h+224>>2]+M*+g[h+228>>2]+F*+g[h+232>>2]+ +g[h+260>>2];F=H*+g[h+240>>2]+M*+g[h+244>>2]+F*+g[h+248>>2]+ +g[h+264>>2];M=+g[h+80>>2];H=+g[h+84>>2];E=+g[h+88>>2];A=M*+g[h+144>>2]+H*+g[h+148>>2]+E*+g[h+152>>2]+ +g[h+192>>2];G=M*+g[h+160>>2]+H*+g[h+164>>2]+E*+g[h+168>>2]+ +g[h+196>>2];E=M*+g[h+176>>2]+H*+g[h+180>>2]+E*+g[h+184>>2]+ +g[h+200>>2];H=+g[b+4>>2]*(B-A)+ +g[b+8>>2]*(C-G)+ +g[b+12>>2]*(F-E);if(H>0.0?H*H>z*+g[d+128>>2]:0){j=22;break a}D=c[b+24>>2]|0;y=c[D>>2]|0;if((y|0)>0){I=+g[D+308>>2];O=0;N=0;do{K=B-A- +g[D+(N<<4)+4>>2];L=C-G- +g[D+(N<<4)+8>>2];M=F-E- +g[D+(N<<4)+12>>2];O=O|K*K+L*L+M*M<=I;N=N+1|0}while((N|0)!=(y|0))}else O=0;if((+g[D+304>>2]==0.0?F-E==+g[D+300>>2]:0)?C-G==+g[D+296>>2]:0)N=B-A==+g[D+292>>2];else N=0;if(N|O){j=31;break a}H=z-H;if(H<=z*9.999999974752427e-7){j=33;break a}g[D+292>>2]=B-A;g[D+296>>2]=C-G;g[D+300>>2]=F-E;g[D+304>>2]=0.0;a[D+356>>0]=1;g[D+(y<<4)+4>>2]=B-A;g[D+(y<<4)+8>>2]=C-G;g[D+(y<<4)+12>>2]=F-E;g[D+(y<<4)+16>>2]=0.0;N=c[D>>2]|0;g[D+(N<<4)+84>>2]=B;g[D+(N<<4)+88>>2]=C;g[D+(N<<4)+92>>2]=F;g[D+(N<<4)+96>>2]=0.0;N=c[D>>2]|0;g[D+(N<<4)+164>>2]=A;g[D+(N<<4)+168>>2]=G;g[D+(N<<4)+172>>2]=E;g[D+(N<<4)+176>>2]=0.0;c[D>>2]=(c[D>>2]|0)+1;N=c[b+24>>2]|0;O=lC(N)|0;A=+g[N+276>>2];B=+g[N+280>>2];F=+g[N+284>>2];E=+g[N+288>>2];if(!O){j=35;break a}C=z;z=A*A+B*B+F*F;if(z<9.999999974752427e-7){z=C;j=37;break a}if(C-z<=C*1.1920928955078125e-7){j=39;break a}g[b+4>>2]=A;g[b+8>>2]=B;g[b+12>>2]=F;g[b+16>>2]=E;O=c[b+64>>2]|0;c[b+64>>2]=O+1;if((O|0)>1e3){z=0.0;y=0;A=0.0;B=0.0;C=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){j=42;break}}}while(0);if((j|0)==22){c[b+68>>2]=10;j=43}else if((j|0)==31){c[b+68>>2]=1;j=43}else if((j|0)==33){c[b+68>>2]=!(H<=0.0)?11:2;j=43}else if((j|0)==35){c[b+68>>2]=3;j=43}else if((j|0)==37){g[b+4>>2]=A;g[b+8>>2]=B;g[b+12>>2]=F;g[b+16>>2]=E;c[b+68>>2]=6;j=43}else if((j|0)==39){c[b+68>>2]=12;j=43}else if((j|0)==42){c[b+68>>2]=13;z=0.0;y=0;A=0.0;B=0.0;C=0.0}do if((j|0)==43){O=c[b+24>>2]|0;lC(O)|0;A=+g[O+260>>2];B=+g[O+264>>2];C=+g[O+268>>2];c[h+272>>2]=c[b+4>>2];c[h+276>>2]=c[b+8>>2];c[h+280>>2]=c[b+12>>2];c[h+284>>2]=c[b+16>>2];G=+g[b+4>>2];F=+g[b+8>>2];E=+g[b+12>>2];if(G*G+F*F+E*E<1.0e-4)c[b+68>>2]=5;if(G*G+F*F+E*E>1.4210854715202004e-14){L=1.0/+Q(+(G*G+F*F+E*E));g[h+272>>2]=L*+g[h+272>>2];g[p>>2]=L*+g[p>>2];g[q>>2]=L*+g[q>>2];M=v/+Q(+z);c[b+60>>2]=1;z=1.0/L-w;y=1;A=M*G+A;B=M*F+B;C=M*E+C;break}else{c[b+60>>2]=2;z=0.0;y=0;break}}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)N=w+z<.01;else N=0;D=y^1;do if(N|D?(x=c[b+20>>2]|0,(x|0)!=0):0){c[3342]=(c[3342]|0)+1;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;if(!(Ob[c[(c[x>>2]|0)+8>>2]&3](x,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,h+208|0,h+144|0,b+4|0,h+64|0,h+48|0,f)|0)){I=+g[b+4>>2];H=+g[b+8>>2];E=+g[b+12>>2];if(!(I*I+H*H+E*E>0.0)){j=66;break}J=+g[h+48>>2];K=+g[h+64>>2]-J;G=+g[h+52>>2];L=+g[h+68>>2]-G;F=+g[h+56>>2];M=+g[h+72>>2]-F;w=+Q(+(K*K+L*L+M*M))-w;if(w>2]=c[b+4>>2];c[h+276>>2]=c[b+8>>2];c[h+280>>2]=c[b+12>>2];c[h+284>>2]=c[b+16>>2];C=+g[h+272>>2];B=+g[p>>2];A=+g[q>>2];z=1.0/+Q(+(C*C+B*B+A*A));g[h+272>>2]=C*z;g[p>>2]=B*z;g[q>>2]=A*z;c[b+60>>2]=6;z=w;A=v*I+J;B=v*H+G;C=v*E+F;break}c[b+60>>2]=5;if(y)break;i=h;return}E=+g[h+48>>2];L=+g[h+64>>2];w=+g[h+52>>2];K=+g[h+68>>2];v=+g[h+56>>2];J=+g[h+72>>2];if(!((E-L)*(E-L)+(w-K)*(w-K)+(v-J)*(v-J)<=1.4210854715202004e-14)){H=v-J;G=w-K;I=E-L;F=0.0;M=(E-L)*(E-L)+(w-K)*(w-K)+(v-J)*(v-J)}else{R=+g[b+4>>2];P=+g[b+8>>2];M=+g[b+12>>2];H=M;G=P;I=R;F=+g[b+16>>2];M=R*R+P*P+M*M}if(!(M>1.4210854715202004e-14)){c[b+60>>2]=9;if(y)break;i=h;return}M=1.0/+Q(+M);J=-+Q(+((L-E)*(L-E)+(K-w)*(K-w)+(J-v)*(J-v)));if(z>J|D){g[h+272>>2]=I*M;g[p>>2]=G*M;g[q>>2]=H*M;g[h+284>>2]=F;c[b+60>>2]=3;z=J;A=E;B=w;C=v;break}c[b+60>>2]=8;if(!y){i=h;return}}else j=66;while(0);if((j|0)==66)if(!y){i=h;return}if(!(z<0.0)?!(z*z<+g[d+128>>2]):0){i=h;return}if((c[b+76>>2]|0)!=0?(O=c[b+28>>2]|0,vc[c[(c[O>>2]|0)+8>>2]&127](O,h+208|0,h+32|0,h+16|0),M=(+g[h+16>>2]+ +g[h+32>>2])*.5,P=(+g[h+20>>2]+ +g[h+36>>2])*.5,R=(+g[h+24>>2]+ +g[h+40>>2])*.5,O=c[b+32>>2]|0,vc[c[(c[O>>2]|0)+8>>2]&127](O,h+144|0,h+32|0,h+16|0),k=+g[h+272>>2],l=+g[p>>2],m=+g[q>>2],(M-(+g[h+32>>2]+ +g[h+16>>2])*.5)*k+(P-(+g[h+36>>2]+ +g[h+20>>2])*.5)*l+(R-(+g[h+40>>2]+ +g[h+24>>2])*.5)*m<0.0):0){g[h+272>>2]=k*-1.0;g[p>>2]=l*-1.0;g[q>>2]=m*-1.0}c[b+4>>2]=c[h+272>>2];c[b+8>>2]=c[h+276>>2];c[b+12>>2]=c[h+280>>2];c[b+16>>2]=c[h+284>>2];g[b+56>>2]=z;O=c[(c[e>>2]|0)+16>>2]|0;g[h>>2]=(r+s)*.5+A;g[h+4>>2]=(t+u)*.5+B;g[h+8>>2]=(n+o)*.5+C;g[h+12>>2]=0.0;qc[O&15](e,h+272|0,h,z);i=h;return}function rz(a){a=a|0;return}function sz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function tz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0,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,y=0,z=0.0,A=0.0,B=0.0;l=i;i=i+192|0;h=c[b+4>>2]|0;if(+g[h+752>>2]>2]|0;m=(c[b+8>>2]|0)+8|0;k=c[m>>2]|0;q=+g[e>>2];t=+g[d>>2]*f+q;o=+g[e+4>>2];r=+g[d+4>>2]*f+o;p=+g[e+8>>2];s=+g[d+8>>2]*f+p;if((j|0)!=(k|0)){n=c[b+12>>2]|0;y=c[n+8>>2]|0;B=t- +g[y+52>>2];v=r- +g[y+56>>2];w=s- +g[y+60>>2];A=q- +g[k+52>>2];z=o- +g[k+56>>2];u=p- +g[k+60>>2];q=B*+g[y+4>>2]+v*+g[y+20>>2]+w*+g[y+36>>2];o=B*+g[y+8>>2]+v*+g[y+24>>2]+w*+g[y+40>>2];p=B*+g[y+12>>2]+v*+g[y+28>>2]+w*+g[y+44>>2];w=A*+g[k+4>>2]+z*+g[k+20>>2]+u*+g[k+36>>2];v=A*+g[k+8>>2]+z*+g[k+24>>2]+u*+g[k+40>>2];u=A*+g[k+12>>2]+z*+g[k+28>>2]+u*+g[k+44>>2]}else{z=t- +g[j+52>>2];v=r- +g[j+56>>2];w=s- +g[j+60>>2];n=c[b+12>>2]|0;y=c[n+8>>2]|0;A=q- +g[y+52>>2];B=o- +g[y+56>>2];u=p- +g[y+60>>2];q=z*+g[j+4>>2]+v*+g[j+20>>2]+w*+g[j+36>>2];o=z*+g[j+8>>2]+v*+g[j+24>>2]+w*+g[j+40>>2];p=z*+g[j+12>>2]+v*+g[j+28>>2]+w*+g[j+44>>2];w=A*+g[y+4>>2]+B*+g[y+20>>2]+u*+g[y+36>>2];v=A*+g[y+8>>2]+B*+g[y+24>>2]+u*+g[y+40>>2];u=A*+g[y+12>>2]+B*+g[y+28>>2]+u*+g[y+44>>2]}g[l>>2]=q;g[l+4>>2]=o;g[l+8>>2]=p;g[l+12>>2]=0.0;g[l+16>>2]=w;g[l+20>>2]=v;g[l+24>>2]=u;g[l+28>>2]=0.0;c[l+64>>2]=c[d+0>>2];c[l+68>>2]=c[d+4>>2];c[l+72>>2]=c[d+8>>2];c[l+76>>2]=c[d+12>>2];g[l+80>>2]=f;g[l+84>>2]=0.0;g[l+88>>2]=0.0;g[l+92>>2]=0.0;c[l+112>>2]=0;a[l+116>>0]=0;c[l+120>>2]=0;c[l+124>>2]=0;c[l+128>>2]=0;c[l+132>>2]=0;c[l+136>>2]=0;c[l+140>>2]=0;c[l+144>>2]=0;c[l+148>>2]=0;g[l+48>>2]=t;g[l+52>>2]=r;g[l+56>>2]=s;g[l+60>>2]=0.0;c[l+32>>2]=c[e+0>>2];c[l+36>>2]=c[e+4>>2];c[l+40>>2]=c[e+8>>2];c[l+44>>2]=c[e+12>>2];r=+g[h+752>>2];d=c[h+748>>2]|0;if((d|0)>0){e=0;y=-1;f=r*r;while(1){r=+g[h+(e*184|0)+4>>2]-q;s=+g[h+(e*184|0)+8>>2]-o;t=+g[h+(e*184|0)+12>>2]-p;x=r*r+s*s+t*t>2]|0;x=c[n+8>>2]|0;o=+g[d+224>>2]*+g[x+224>>2];o=o<-10.0?-10.0:o;g[l+84>>2]=o>10.0?10.0:o;g[l+92>>2]=+g[d+228>>2]*+g[x+228>>2];o=+g[d+232>>2]*+g[x+232>>2];o=o<-10.0?-10.0:o;g[l+88>>2]=o>10.0?10.0:o;o=+g[l+72>>2];if(+P(+o)>.7071067690849304){z=+g[l+68>>2];B=1.0/+Q(+(o*o+z*z));g[l+152>>2]=0.0;g[l+156>>2]=-(B*o);g[l+160>>2]=B*z;g[l+168>>2]=(o*o+z*z)*B;A=+g[l+64>>2];g[l+172>>2]=-(A*B*z);g[l+176>>2]=A*-(B*o)}else{z=+g[l+64>>2];A=+g[l+68>>2];B=1.0/+Q(+(z*z+A*A));g[l+152>>2]=-(A*B);g[l+156>>2]=B*z;g[l+160>>2]=0.0;g[l+168>>2]=-(o*B*z);g[l+172>>2]=o*-(A*B);g[l+176>>2]=(z*z+A*A)*B}if((j|0)!=(k|0)){c[l+96>>2]=c[b+20>>2];c[l+100>>2]=c[b+16>>2];c[l+104>>2]=c[b+28>>2];c[l+108>>2]=c[b+24>>2]}else{c[l+96>>2]=c[b+16>>2];c[l+100>>2]=c[b+20>>2];c[l+104>>2]=c[b+24>>2];c[l+108>>2]=c[b+28>>2]}if((y|0)>-1){x=h+(y*184|0)+152|0;d=c[x>>2]|0;m=h+(y*184|0)+124|0;z=+g[m>>2];n=h+(y*184|0)+128|0;A=+g[n>>2];e=h+(y*184|0)+132|0;B=+g[e>>2];k=h+(y*184|0)+116|0;j=c[k>>2]|0;cF(h+(y*184|0)+4|0,l|0,184)|0;c[k>>2]=j;g[m>>2]=z;g[n>>2]=A;g[e>>2]=B;c[x>>2]=d;i=l;return}else{mA(h,l)|0;i=l;return}}function uz(b,d,e,f,h,j,k,l,m,n){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;n=n|0;var 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.0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;b=i;i=i+4256|0;if(((c[e+4>>2]|0)+ -17|0)>>>0<2)r=((c[f+4>>2]|0)+ -17|0)>>>0<2;else r=0;o=0;do{vz();v=+g[13568+(o<<4)>>2];w=+g[13572+(o<<4)>>2];x=+g[13576+(o<<4)>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[b+1280+(o<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[b+1280+(o<<4)+4>>2]=z;g[b+1280+(o<<4)+8>>2]=y;g[b+1280+(o<<4)+12>>2]=0.0;y=v*+g[j+4>>2]+w*+g[j+20>>2]+x*+g[j+36>>2];z=v*+g[j+8>>2]+w*+g[j+24>>2]+x*+g[j+40>>2];g[b+288+(o<<4)>>2]=v*+g[j>>2]+w*+g[j+16>>2]+x*+g[j+32>>2];g[b+288+(o<<4)+4>>2]=y;g[b+288+(o<<4)+8>>2]=z;g[b+288+(o<<4)+12>>2]=0.0;o=o+1|0}while((o|0)!=42);A=Pb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((A|0)>0){B=0;o=42;while(1){rc[c[(c[e>>2]|0)+88>>2]&127](e,B,b+272|0);y=+g[b+272>>2];z=+g[b+276>>2];x=+g[b+280>>2];w=y*+g[h+16>>2]+z*+g[h+20>>2]+x*+g[h+24>>2];v=y*+g[h+32>>2]+z*+g[h+36>>2]+x*+g[h+40>>2];g[b+272>>2]=+g[h>>2]*y+ +g[h+4>>2]*z+ +g[h+8>>2]*x;g[b+276>>2]=w;g[b+280>>2]=v;g[b+284>>2]=0.0;vz();C=13568+(o<<4)|0;c[C+0>>2]=c[b+272>>2];c[C+4>>2]=c[b+276>>2];c[C+8>>2]=c[b+280>>2];c[C+12>>2]=c[b+284>>2];v=+g[b+272>>2];w=+g[b+276>>2];x=+g[b+280>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[b+1280+(o<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[b+1280+(o<<4)+4>>2]=z;g[b+1280+(o<<4)+8>>2]=y;g[b+1280+(o<<4)+12>>2]=0.0;y=v*+g[j+4>>2]+w*+g[j+20>>2]+x*+g[j+36>>2];z=v*+g[j+8>>2]+w*+g[j+24>>2]+x*+g[j+40>>2];g[b+288+(o<<4)>>2]=+g[j>>2]*v+ +g[j+16>>2]*w+ +g[j+32>>2]*x;g[b+288+(o<<4)+4>>2]=y;g[b+288+(o<<4)+8>>2]=z;g[b+288+(o<<4)+12>>2]=0.0;B=B+1|0;if((B|0)==(A|0))break;else o=o+1|0}o=A+42|0}else o=42;C=Pb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((C|0)>0){B=0;A=o;while(1){rc[c[(c[f>>2]|0)+88>>2]&127](f,B,b+256|0);y=+g[b+256>>2];z=+g[b+260>>2];x=+g[b+264>>2];w=y*+g[j+16>>2]+z*+g[j+20>>2]+x*+g[j+24>>2];v=y*+g[j+32>>2]+z*+g[j+36>>2]+x*+g[j+40>>2];g[b+256>>2]=+g[j>>2]*y+ +g[j+4>>2]*z+ +g[j+8>>2]*x;g[b+260>>2]=w;g[b+264>>2]=v;g[b+268>>2]=0.0;vz();D=13568+(A<<4)|0;c[D+0>>2]=c[b+256>>2];c[D+4>>2]=c[b+260>>2];c[D+8>>2]=c[b+264>>2];c[D+12>>2]=c[b+268>>2];v=+g[b+256>>2];w=+g[b+260>>2];x=+g[b+264>>2];z=+g[h+4>>2]*-v+ +g[h+20>>2]*-w+ +g[h+36>>2]*-x;y=+g[h+8>>2]*-v+ +g[h+24>>2]*-w+ +g[h+40>>2]*-x;g[b+1280+(A<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-w+ +g[h+32>>2]*-x;g[b+1280+(A<<4)+4>>2]=z;g[b+1280+(A<<4)+8>>2]=y;g[b+1280+(A<<4)+12>>2]=0.0;y=v*+g[j+4>>2]+w*+g[j+20>>2]+x*+g[j+36>>2];z=v*+g[j+8>>2]+w*+g[j+24>>2]+x*+g[j+40>>2];g[b+288+(A<<4)>>2]=+g[j>>2]*v+ +g[j+16>>2]*w+ +g[j+32>>2]*x;g[b+288+(A<<4)+4>>2]=y;g[b+288+(A<<4)+8>>2]=z;g[b+288+(A<<4)+12>>2]=0.0;B=B+1|0;if((B|0)==(C|0))break;else A=A+1|0}o=C+o|0}vc[c[(c[e>>2]|0)+76>>2]&127](e,b+1280|0,b+3264|0,o);vc[c[(c[f>>2]|0)+76>>2]&127](f,b+288|0,b+2272|0,o);if((o|0)>0)if(r){v=0.0;w=0.0;x=0.0;r=0;s=999999984306749400.0;while(1){vz();t=+g[13568+(r<<4)>>2];u=+g[13572+(r<<4)>>2];p=+g[13580+(r<<4)>>2];if(t*t+u*u+0.0>.01?(y=+g[b+3264+(r<<4)>>2],z=+g[b+3264+(r<<4)+4>>2],q=+g[b+3264+(r<<4)+8>>2],G=+g[b+2272+(r<<4)>>2],F=+g[b+2272+(r<<4)+4>>2],E=+g[b+2272+(r<<4)+8>>2],q=t*(G*+g[j>>2]+F*+g[j+4>>2]+E*+g[j+8>>2]+ +g[j+48>>2]-(y*+g[h>>2]+z*+g[h+4>>2]+q*+g[h+8>>2]+ +g[h+48>>2]))+u*(G*+g[j+16>>2]+F*+g[j+20>>2]+E*+g[j+24>>2]+ +g[j+52>>2]-(y*+g[h+16>>2]+z*+g[h+20>>2]+q*+g[h+24>>2]+ +g[h+52>>2]))+0.0,q>2];u=+g[13572+(r<<4)>>2];q=+g[13576+(r<<4)>>2];w=+g[13580+(r<<4)>>2];if(v*v+u*u+q*q>.01?(F=+g[b+3264+(r<<4)>>2],G=+g[b+3264+(r<<4)+4>>2],p=+g[b+3264+(r<<4)+8>>2],I=+g[b+2272+(r<<4)>>2],H=+g[b+2272+(r<<4)+4>>2],E=+g[b+2272+(r<<4)+8>>2],p=v*(I*+g[j>>2]+H*+g[j+4>>2]+E*+g[j+8>>2]+ +g[j+48>>2]-(F*+g[h>>2]+G*+g[h+4>>2]+p*+g[h+8>>2]+ +g[h+48>>2]))+u*(I*+g[j+16>>2]+H*+g[j+20>>2]+E*+g[j+24>>2]+ +g[j+52>>2]-(F*+g[h+16>>2]+G*+g[h+20>>2]+p*+g[h+24>>2]+ +g[h+52>>2]))+q*(I*+g[j+32>>2]+H*+g[j+36>>2]+E*+g[j+40>>2]+ +g[j+56>>2]-(F*+g[h+32>>2]+G*+g[h+36>>2]+p*+g[h+40>>2]+ +g[h+56>>2])),p>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+$b[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:+$b[c[(c[f>>2]|0)+48>>2]&15](f)}if(s<0.0){D=0;i=b;return D|0}switch(c[e+4>>2]|0){case 8:{v=+g[e+28>>2]*+g[e+12>>2];break};case 0:{v=+g[e+44>>2];break};case 1:{v=+g[e+44>>2];break};case 13:{v=+g[e+44>>2];break};case 11:{v=+g[e+44>>2];break};case 10:{v=+g[e+44>>2];break};case 4:case 5:{v=+g[e+44>>2];break};default:v=+$b[c[(c[e>>2]|0)+48>>2]&15](e)}o=c[f+4>>2]|0;switch(o|0){case 8:{w=+g[f+28>>2]*+g[f+12>>2];o=8;break};case 0:{w=+g[f+44>>2];o=0;break};case 1:{w=+g[f+44>>2];o=1;break};case 13:{w=+g[f+44>>2];o=13;break};case 11:{w=+g[f+44>>2];o=11;break};case 10:{w=+g[f+44>>2];o=10;break};case 4:case 5:{w=+g[f+44>>2];break};default:{w=+$b[c[(c[f>>2]|0)+48>>2]&15](f);o=c[f+4>>2]|0}}s=s+(v+w+.5);c[b+176>>2]=13392;g[b+180>>2]=0.0;g[b+184>>2]=1.0;g[b+188>>2]=0.0;g[b+192>>2]=0.0;c[b+196>>2]=0;c[b+200>>2]=d;c[b+204>>2]=e;c[b+208>>2]=f;c[b+212>>2]=c[e+4>>2];c[b+216>>2]=o;g[b+220>>2]=+$b[c[(c[e>>2]|0)+48>>2]&15](e);g[b+224>>2]=+$b[c[(c[f>>2]|0)+48>>2]&15](f);a[b+228>>0]=0;c[b+236>>2]=-1;c[b+248>>2]=1;c[b+252>>2]=1;G=+g[h+48>>2]+t*s;H=u*s+ +g[h+52>>2];I=q*s+ +g[h+56>>2];c[b+44>>2]=c[h+0>>2];c[b+48>>2]=c[h+4>>2];c[b+52>>2]=c[h+8>>2];c[b+56>>2]=c[h+12>>2];c[b+60>>2]=c[h+16>>2];c[b+64>>2]=c[h+20>>2];c[b+68>>2]=c[h+24>>2];c[b+72>>2]=c[h+28>>2];c[b+76>>2]=c[h+32>>2];c[b+80>>2]=c[h+36>>2];c[b+84>>2]=c[h+40>>2];c[b+88>>2]=c[h+44>>2];g[b+92>>2]=G;g[b+96>>2]=H;g[b+100>>2]=I;g[b+104>>2]=0.0;c[b+108>>2]=c[j+0>>2];c[b+112>>2]=c[j+4>>2];c[b+116>>2]=c[j+8>>2];c[b+120>>2]=c[j+12>>2];c[b+124>>2]=c[j+16>>2];c[b+128>>2]=c[j+20>>2];c[b+132>>2]=c[j+24>>2];c[b+136>>2]=c[j+28>>2];c[b+140>>2]=c[j+32>>2];c[b+144>>2]=c[j+36>>2];c[b+148>>2]=c[j+40>>2];c[b+152>>2]=c[j+44>>2];c[b+156>>2]=c[j+48>>2];c[b+160>>2]=c[j+52>>2];c[b+164>>2]=c[j+56>>2];c[b+168>>2]=c[j+60>>2];g[b+172>>2]=999999984306749400.0;c[b>>2]=14656;a[b+40>>0]=0;g[b+180>>2]=-t;g[b+184>>2]=-u;g[b+188>>2]=-q;g[b+192>>2]=0.0;qz(b+176|0,b+44|0,b,n,0);s=s- +g[b+36>>2];f=a[b+40>>0]|0;if(!(f<<24>>24==0)){H=+g[b+24>>2]-u*s;I=+g[b+28>>2]-q*s;g[l>>2]=+g[b+20>>2]-t*s;g[l+4>>2]=H;g[l+8>>2]=I;g[l+12>>2]=0.0;c[m+0>>2]=c[b+20>>2];c[m+4>>2]=c[b+24>>2];c[m+8>>2]=c[b+28>>2];c[m+12>>2]=c[b+32>>2];g[k>>2]=t;g[k+4>>2]=u;g[k+8>>2]=q;g[k+12>>2]=p}D=f<<24>>24!=0;i=b;return D|0}function vz(){var b=0;b=i;if((a[14560]|0)!=0){i=b;return}if((Ya(14560)|0)==0){i=b;return}g[3392]=0.0;g[3393]=-0.0;g[3394]=-1.0;g[3395]=0.0;g[3396]=.7236080169677734;g[3397]=-.5257250070571899;g[3398]=-.44721901416778564;g[3399]=0.0;g[3400]=-.2763879895210266;g[3401]=-.8506489992141724;g[3402]=-.44721901416778564;g[3403]=0.0;g[3404]=-.8944259881973267;g[3405]=-0.0;g[3406]=-.4472160041332245;g[3407]=0.0;g[3408]=-.2763879895210266;g[3409]=.8506489992141724;g[3410]=-.44721999764442444;g[3411]=0.0;g[3412]=.7236080169677734;g[3413]=.5257250070571899;g[3414]=-.44721901416778564;g[3415]=0.0;g[3416]=.2763879895210266;g[3417]=-.8506489992141724;g[3418]=.44721999764442444;g[3419]=0.0;g[3420]=-.7236080169677734;g[3421]=-.5257250070571899;g[3422]=.44721901416778564;g[3423]=0.0;g[3424]=-.7236080169677734;g[3425]=.5257250070571899;g[3426]=.44721901416778564;g[3427]=0.0;g[3428]=.2763879895210266;g[3429]=.8506489992141724;g[3430]=.44721901416778564;g[3431]=0.0;g[3432]=.8944259881973267;g[3433]=0.0;g[3434]=.4472160041332245;g[3435]=0.0;g[3436]=-0.0;g[3437]=0.0;g[3438]=1.0;g[3439]=0.0;g[3440]=.4253230094909668;g[3441]=-.3090110123157501;g[3442]=-.8506540060043335;g[3443]=0.0;g[3444]=-.16245600581169128;g[3445]=-.49999499320983887;g[3446]=-.8506540060043335;g[3447]=0.0;g[3448]=.2628690004348755;g[3449]=-.8090119957923889;g[3450]=-.525738000869751;g[3451]=0.0;g[3452]=.4253230094909668;g[3453]=.3090110123157501;g[3454]=-.8506540060043335;g[3455]=0.0;g[3456]=.8506479859352112;g[3457]=-0.0;g[3458]=-.5257359743118286;g[3459]=0.0;g[3460]=-.5257300138473511;g[3461]=-0.0;g[3462]=-.8506519794464111;g[3463]=0.0;g[3464]=-.6881899833679199;g[3465]=-.49999698996543884;g[3466]=-.5257359743118286;g[3467]=0.0;g[3468]=-.16245600581169128;g[3469]=.49999499320983887;g[3470]=-.8506540060043335;g[3471]=0.0;g[3472]=-.6881899833679199;g[3473]=.49999698996543884;g[3474]=-.5257359743118286;g[3475]=0.0;g[3476]=.2628690004348755;g[3477]=.8090119957923889;g[3478]=-.525738000869751;g[3479]=0.0;g[3480]=.9510579705238342;g[3481]=.3090130090713501;g[3482]=0.0;g[3483]=0.0;g[3484]=.9510579705238342;g[3485]=-.3090130090713501;g[3486]=0.0;g[3487]=0.0;g[3488]=.5877860188484192;g[3489]=-.80901700258255;g[3490]=0.0;g[3491]=0.0;g[3492]=0.0;g[3493]=-1.0;g[3494]=0.0;g[3495]=0.0;g[3496]=-.5877860188484192;g[3497]=-.80901700258255;g[3498]=0.0;g[3499]=0.0;g[3500]=-.9510579705238342;g[3501]=-.3090130090713501;g[3502]=-0.0;g[3503]=0.0;g[3504]=-.9510579705238342;g[3505]=.3090130090713501;g[3506]=-0.0;g[3507]=0.0;g[3508]=-.5877860188484192;g[3509]=.80901700258255;g[3510]=-0.0;g[3511]=0.0;g[3512]=-0.0;g[3513]=1.0;g[3514]=-0.0;g[3515]=0.0;g[3516]=.5877860188484192;g[3517]=.80901700258255;g[3518]=-0.0;g[3519]=0.0;g[3520]=.6881899833679199;g[3521]=-.49999698996543884;g[3522]=.5257359743118286;g[3523]=0.0;g[3524]=-.2628690004348755;g[3525]=-.8090119957923889;g[3526]=.525738000869751;g[3527]=0.0;g[3528]=-.8506479859352112;g[3529]=0.0;g[3530]=.5257359743118286;g[3531]=0.0;g[3532]=-.2628690004348755;g[3533]=.8090119957923889;g[3534]=.525738000869751;g[3535]=0.0;g[3536]=.6881899833679199;g[3537]=.49999698996543884;g[3538]=.5257359743118286;g[3539]=0.0;g[3540]=.5257300138473511;g[3541]=0.0;g[3542]=.8506519794464111;g[3543]=0.0;g[3544]=.16245600581169128;g[3545]=-.49999499320983887;g[3546]=.8506540060043335;g[3547]=0.0;g[3548]=-.4253230094909668;g[3549]=-.3090110123157501;g[3550]=.8506540060043335;g[3551]=0.0;g[3552]=-.4253230094909668;g[3553]=.3090110123157501;g[3554]=.8506540060043335;g[3555]=0.0;g[3556]=.16245600581169128;g[3557]=.49999499320983887;g[3558]=.8506540060043335;g[3559]=0.0;bb(14560);i=b;return}function wz(a){a=a|0;return}function xz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function yz(a){a=a|0;return}function zz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Az(a,b,c){a=a|0;b=b|0;c=c|0;return}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;return}function Cz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0;h=i;c[b+4>>2]=c[d+0>>2];c[b+8>>2]=c[d+4>>2];c[b+12>>2]=c[d+8>>2];c[b+16>>2]=c[d+12>>2];c[b+20>>2]=c[e+0>>2];c[b+24>>2]=c[e+4>>2];c[b+28>>2]=c[e+8>>2];c[b+32>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;i=h;return}function Dz(a){a=a|0;var b=0;b=i;CA(a);if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function Ez(a){a=a|0;var b=0;b=i;CA(a);i=b;return}function Fz(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;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.0,u=0.0,v=0,w=0,x=0,y=0;k=i;i=i+176|0;a[d+60>>0]=f&1;if(f){t=+g[h>>2]+-1.0;q=+g[h+4>>2]+-1.0;r=+g[h+8>>2]+-1.0;g[d+4>>2]=t;g[d+8>>2]=q;g[d+12>>2]=r;g[d+16>>2]=0.0;o=+g[j>>2]+1.0;m=+g[j+4>>2]+1.0;l=+g[j+8>>2]+1.0;g[d+20>>2]=o;g[d+24>>2]=m;g[d+28>>2]=l;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(o-t);g[d+40>>2]=65533.0/(m-q);g[d+44>>2]=65533.0/(l-r);g[d+48>>2]=0.0;a[d+60>>0]=1;n=t+ +(~~((t-t)*(65533.0/(o-t)))&65534)/(65533.0/(o-t))+-1.0;p=q+ +(~~((q-q)*(65533.0/(m-q)))&65534)/(65533.0/(m-q))+-1.0;s=r+ +(~~((r-r)*(65533.0/(l-r)))&65534)/(65533.0/(l-r))+-1.0;if(n>2]=n;else n=t;if(p>2]=p;else p=q;if(s>2]=s;else s=r;u=n+ +((~~((o-n)*(65533.0/(o-t))+1.0)&65535|1)&65535)/(65533.0/(o-t))+1.0;t=p+ +((~~((m-p)*(65533.0/(m-q))+1.0)&65535|1)&65535)/(65533.0/(m-q))+1.0;q=s+ +((~~((l-s)*(65533.0/(l-r))+1.0)&65535|1)&65535)/(65533.0/(l-r))+1.0;if(o>2]=u;o=u}if(m>2]=t;m=t}if(l>2]=q;l=q}g[d+36>>2]=65533.0/(o-n);g[d+40>>2]=65533.0/(m-p);g[d+44>>2]=65533.0/(l-s);g[d+48>>2]=0.0;c[k+152>>2]=15096;c[k+156>>2]=d+104;c[k+160>>2]=d;vc[c[(c[e>>2]|0)+8>>2]&127](e,k+152|0,d+4|0,d+20|0);e=c[d+108>>2]|0;c[k+136>>2]=0;c[k+140>>2]=0;c[k+144>>2]=0;c[k+148>>2]=0;j=c[d+128>>2]|0;if((j|0)<(e<<1|0)){if((c[d+132>>2]|0)<(e<<1|0)){if((e|0)==0){h=0;v=j}else{c[5004]=(c[5004]|0)+1;h=XE(e<<5|19)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}v=c[d+128>>2]|0}if((v|0)>0){f=0;do{y=h+(f<<4)|0;x=(c[d+136>>2]|0)+(f<<4)|0;c[y+0>>2]=c[x+0>>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];f=f+1|0}while((f|0)!=(v|0))}f=c[d+136>>2]|0;if((f|0)!=0){if((a[d+140>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=e<<1;h=d+136|0}else h=d+136|0;do{y=(c[h>>2]|0)+(j<<4)|0;c[y+0>>2]=c[k+136>>2];c[y+4>>2]=c[k+140>>2];c[y+8>>2]=c[k+144>>2];c[y+12>>2]=c[k+148>>2];j=j+1|0}while((j|0)!=(e<<1|0))}c[d+128>>2]=e<<1}else{c[k+128>>2]=14960;c[k+132>>2]=d+64;g[k+112>>2]=-999999984306749400.0;g[k+116>>2]=-999999984306749400.0;g[k+120>>2]=-999999984306749400.0;g[k+124>>2]=0.0;g[k+96>>2]=999999984306749400.0;g[k+100>>2]=999999984306749400.0;g[k+104>>2]=999999984306749400.0;g[k+108>>2]=0.0;vc[c[(c[e>>2]|0)+8>>2]&127](e,k+128|0,k+112|0,k+96|0);e=c[d+68>>2]|0;h=k+32|0;v=h+64|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(v|0));j=c[d+88>>2]|0;if((j|0)<(e<<1|0)){if((c[d+92>>2]|0)<(e<<1|0)){if((e|0)==0){w=0;x=j}else{c[5004]=(c[5004]|0)+1;h=XE(e<<7|19)|0;if((h|0)==0)w=0;else{c[(h+19&-16)+ -4>>2]=h;w=h+19&-16}x=c[d+88>>2]|0}if((x|0)>0){y=0;do{h=w+(y<<6)+0|0;f=(c[d+96>>2]|0)+(y<<6)+0|0;v=h+64|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(v|0));y=y+1|0}while((y|0)!=(x|0))}h=c[d+96>>2]|0;if((h|0)!=0){if((a[d+100>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=w;c[d+92>>2]=e<<1;w=d+96|0}else w=d+96|0;do{h=(c[w>>2]|0)+(j<<6)+0|0;f=k+32|0;v=h+64|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(v|0));j=j+1|0}while((j|0)!=(e<<1|0))}c[d+88>>2]=e<<1}c[d+56>>2]=0;AA(d,0,e);if((a[d+60>>0]|0)!=0?(c[d+152>>2]|0)==0:0){if((c[d+156>>2]|0)==0){c[5004]=(c[5004]|0)+1;e=XE(51)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}h=c[d+152>>2]|0;if((h|0)>0){j=0;do{y=e+(j<<5)|0;x=(c[d+160>>2]|0)+(j<<5)|0;c[y+0>>2]=c[x+0>>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];c[y+16>>2]=c[x+16>>2];c[y+20>>2]=c[x+20>>2];c[y+24>>2]=c[x+24>>2];c[y+28>>2]=c[x+28>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+160>>2]|0;if((j|0)!=0){if((a[d+164>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=e;c[d+156>>2]=1;j=(c[d+152>>2]|0)+1|0}else{j=1;e=c[d+160>>2]|0}c[d+152>>2]=j;c[e+0>>2]=c[k+0>>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[e+16>>2]=c[k+16>>2];c[e+20>>2]=c[k+20>>2];c[e+24>>2]=c[k+24>>2];c[e+28>>2]=c[k+28>>2];y=c[d+160>>2]|0;x=c[d+136>>2]|0;b[y>>1]=b[x>>1]|0;b[y+2>>1]=b[x+2>>1]|0;b[y+4>>1]=b[x+4>>1]|0;b[y+6>>1]=b[x+6>>1]|0;b[y+8>>1]=b[x+8>>1]|0;b[y+10>>1]=b[x+10>>1]|0;c[y+12>>2]=0;x=c[x+12>>2]|0;c[y+16>>2]=(x|0)>-1?1:0-x|0}c[d+168>>2]=c[d+152>>2];e=c[d+116>>2]|0;if((e|0)!=0){if((a[d+120>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[d+76>>2]|0;if((e|0)==0){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;y=d+72|0;c[y>>2]=0;i=k;return}if((a[d+80>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;y=d+72|0;c[y>>2]=0;i=k;return}function Gz(a){a=a|0;return 84}function Hz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;GA(a,b,c,d)|0;i=e;return 1}function Iz(a){a=a|0;return}function Jz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Kz(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,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0.0;l=i;i=i+32|0;m=+g[d>>2];h=m<999999984306749400.0?m:999999984306749400.0;n=+g[d+4>>2];j=n<999999984306749400.0?n:999999984306749400.0;o=+g[d+8>>2];k=o<999999984306749400.0?o:999999984306749400.0;p=+g[d+12>>2];r=p<0.0?p:0.0;m=m>-999999984306749400.0?m:-999999984306749400.0;n=n>-999999984306749400.0?n:-999999984306749400.0;o=o>-999999984306749400.0?o:-999999984306749400.0;p=p>0.0?p:0.0;x=+g[d+16>>2];h=x>2];j=y>2];k=z>2];r=A>2];h=A>2];j=z>2];k=y>2];r=x>2]|0;v=c[b+4>>2]|0;if((v|0)==(c[b+8>>2]|0)?(q=(v|0)==0?1:v<<1,(v|0)<(q|0)):0){if((q|0)==0)d=0;else{c[5004]=(c[5004]|0)+1;d=XE(q<<6|19)|0;if((d|0)==0)d=0;else{c[(d+19&-16)+ -4>>2]=d;d=d+19&-16}v=c[b+4>>2]|0}if((v|0)>0){w=0;do{s=d+(w<<6)+0|0;t=(c[b+12>>2]|0)+(w<<6)+0|0;u=s+64|0;do{c[s>>2]=c[t>>2];s=s+4|0;t=t+4|0}while((s|0)<(u|0));w=w+1|0}while((w|0)!=(v|0))}s=c[b+12>>2]|0;if((s|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[s+ -4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=d;c[b+8>>2]=q;v=c[b+4>>2]|0}w=c[b+12>>2]|0;g[w+(v<<6)>>2]=h;g[w+(v<<6)+4>>2]=j;g[w+(v<<6)+8>>2]=k;g[w+(v<<6)+12>>2]=r;g[w+(v<<6)+16>>2]=m;g[w+(v<<6)+20>>2]=n;g[w+(v<<6)+24>>2]=o;g[w+(v<<6)+28>>2]=p;c[w+(v<<6)+32>>2]=-1;c[w+(v<<6)+36>>2]=e;c[w+(v<<6)+40>>2]=f;w=w+(v<<6)+44|0;c[w+0>>2]=c[l+0>>2];c[w+4>>2]=c[l+4>>2];c[w+8>>2]=c[l+8>>2];c[w+12>>2]=c[l+12>>2];c[w+16>>2]=c[l+16>>2];c[b+4>>2]=(c[b+4>>2]|0)+1;i=l;return}function Lz(a){a=a|0;return}function Mz(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function Nz(d,e,f,h){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.0,r=0.0,s=0.0,t=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,G=0;j=i;q=+g[e>>2];v=q<999999984306749400.0?q:999999984306749400.0;r=+g[e+4>>2];w=r<999999984306749400.0?r:999999984306749400.0;s=+g[e+8>>2];u=s<999999984306749400.0?s:999999984306749400.0;q=q>-999999984306749400.0?q:-999999984306749400.0;r=r>-999999984306749400.0?r:-999999984306749400.0;s=s>-999999984306749400.0?s:-999999984306749400.0;z=+g[e+16>>2];v=z>2];w=A>2];u=B>2];v=B>2];w=A>2];u=z>2]|0;E=+g[e+4>>2];C=+g[e+8>>2];A=+g[e+12>>2];D=+g[e+36>>2];z=+g[e+40>>2];B=+g[e+44>>2];e=~~((v-E)*D)&65534;l=~~((w-C)*z)&65534;m=~~((u-A)*B)&65534;n=(~~((q-E)*D+1.0)&65535|1)&65535;o=(~~((r-C)*z+1.0)&65535|1)&65535;p=(~~((s-A)*B+1.0)&65535|1)&65535;d=c[d+4>>2]|0;y=c[d+4>>2]|0;if((y|0)==(c[d+8>>2]|0)?(k=(y|0)==0?1:y<<1,(y|0)<(k|0)):0){if((k|0)==0)t=0;else{c[5004]=(c[5004]|0)+1;t=XE((k<<4|3)+16|0)|0;if((t|0)==0)t=0;else{c[(t+19&-16)+ -4>>2]=t;t=t+19&-16}y=c[d+4>>2]|0}if((y|0)>0){x=0;do{F=t+(x<<4)|0;G=(c[d+12>>2]|0)+(x<<4)|0;c[F+0>>2]=c[G+0>>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];x=x+1|0}while((x|0)!=(y|0))}x=c[d+12>>2]|0;if((x|0)!=0){if((a[d+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[x+ -4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=t;c[d+8>>2]=k;y=c[d+4>>2]|0}G=c[d+12>>2]|0;b[G+(y<<4)>>1]=e;b[G+(y<<4)+2>>1]=l;b[G+(y<<4)+4>>1]=m;b[G+(y<<4)+6>>1]=n;b[G+(y<<4)+8>>1]=o;b[G+(y<<4)+10>>1]=p;c[G+(y<<4)+12>>2]=f<<21|h;c[d+4>>2]=(c[d+4>>2]|0)+1;i=j;return}function Oz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;c[b>>2]=15272;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[5004]=(c[5004]|0)+1;e=XE(51)|0;if((e|0)==0)e=0;else{c[(e+19&-16)+ -4>>2]=e;e=e+19&-16}f=c[b+8>>2]|0;if((f|0)>0){g=0;do{h=c[b+16>>2]|0;c[e+(g<<4)>>2]=c[h+(g<<4)>>2];c[e+(g<<4)+4>>2]=c[h+(g<<4)+4>>2];c[e+(g<<4)+8>>2]=c[h+(g<<4)+8>>2];c[e+(g<<4)+12>>2]=c[h+(g<<4)+12>>2];g=g+1|0}while((g|0)!=(f|0))}f=c[b+16>>2]|0;if((f|0)==0){a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=2;Pz(b);i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[f+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=2;Pz(b);i=d;return}function Pz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=c[b+12>>2]|0;d=c[b+36>>2]|0;if((d|0)>=(f|0)){i=e;return}if((d|0)<=(f|0)){if((c[b+40>>2]|0)<(f|0)){if((f|0)==0){g=0;j=d}else{c[5004]=(c[5004]|0)+1;g=XE((f<<2|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}j=c[b+36>>2]|0}if((j|0)>0){h=0;do{k=g+(h<<2)|0;if((k|0)!=0)c[k>>2]=c[(c[b+44>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[b+44>>2]|0;if((h|0)!=0){if((a[b+48>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[h+ -4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=g;c[b+40>>2]=f}else g=c[b+44>>2]|0;h=d;do{j=g+(h<<2)|0;if((j|0)!=0)c[j>>2]=0;h=h+1|0}while((h|0)!=(f|0))}c[b+36>>2]=f;g=c[b+56>>2]|0;if((g|0)<(f|0)){if((c[b+60>>2]|0)<(f|0)){if((f|0)==0){h=0;j=g}else{c[5004]=(c[5004]|0)+1;h=XE((f<<2|3)+16|0)|0;if((h|0)==0)h=0;else{c[(h+19&-16)+ -4>>2]=h;h=h+19&-16}j=c[b+56>>2]|0}if((j|0)>0){k=0;do{l=h+(k<<2)|0;if((l|0)!=0)c[l>>2]=c[(c[b+64>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}j=c[b+64>>2]|0;if((j|0)!=0){if((a[b+68>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=h;c[b+60>>2]=f}else h=c[b+64>>2]|0;do{j=h+(g<<2)|0;if((j|0)!=0)c[j>>2]=0;g=g+1|0}while((g|0)!=(f|0))}c[b+56>>2]=f;if((f|0)>0){$E(c[b+44>>2]|0,-1,f<<2|0)|0;$E(c[b+64>>2]|0,-1,f<<2|0)|0}if((d|0)<=0){i=e;return}h=c[b+16>>2]|0;g=c[b+44>>2]|0;f=c[b+64>>2]|0;j=0;do{l=c[(c[h+(j<<4)+4>>2]|0)+12>>2]<<16|c[(c[h+(j<<4)>>2]|0)+12>>2];l=(l+~(l<<15)>>10^l+~(l<<15))*9|0;l=g+((((l>>6^l)+~((l>>6^l)<<11)>>16^(l>>6^l)+~((l>>6^l)<<11))&(c[b+12>>2]|0)+ -1)<<2)|0;c[f+(j<<2)>>2]=c[l>>2];c[l>>2]=j;j=j+1|0}while((j|0)!=(d|0));i=e;return}function Qz(a){a=a|0;var b=0;b=i;Rz(a);YE(a);i=b;return}function Rz(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=15272;e=c[b+64>>2]|0;if((e|0)!=0){if((a[b+68>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+44>>2]|0;if((e|0)!=0){if((a[b+48>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -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;e=c[b+16>>2]|0;if((e|0)==0){a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}if((a[b+20>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[e+ -4>>2]|0)}c[b+16>>2]=0;a[b+20>>0]=1;c[b+16>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=0;i=d;return}function Sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;e=c[b+8>>2]|0;if((e|0)==0|(d|0)==0){i=a;return}Lb[c[c[e>>2]>>2]&511](e);Nb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;i=a;return}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=15576;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;rc[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function Uz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=15400;c[e+4>>2]=b;rc[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function Vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;c[3814]=(c[3814]|0)+1;h=(c[b+12>>2]|0)>(c[d+12>>2]|0);g=c[(h?d:b)+12>>2]|0;b=c[(h?b:d)+12>>2]|0;d=((b<<16|g)+~((b<<16|g)<<15)>>10^(b<<16|g)+~((b<<16|g)<<15))*9|0;d=((d>>6^d)+~((d>>6^d)<<11)>>16^(d>>6^d)+~((d>>6^d)<<11))&(c[a+12>>2]|0)+ -1;if((d|0)>=(c[a+36>>2]|0)){h=0;i=f;return h|0}h=c[(c[a+44>>2]|0)+(d<<2)>>2]|0;if((h|0)==-1){h=0;i=f;return h|0}d=c[a+16>>2]|0;while(1){if((c[(c[d+(h<<4)>>2]|0)+12>>2]|0)==(g|0)?(c[(c[d+(h<<4)+4>>2]|0)+12>>2]|0)==(b|0):0)break;h=c[(c[a+64>>2]|0)+(h<<2)>>2]|0;if((h|0)==-1){g=0;e=8;break}}if((e|0)==8){i=f;return g|0}h=d+(h<<4)|0;i=f;return h|0}function Wz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=i;d=c[b+4>>2]|0;if((d|0)!=(c[b+8>>2]|0)){j=d;j=j+1|0;c[b+4>>2]=j;j=b+12|0;j=c[j>>2]|0;j=j+(d<<4)|0;i=f;return j|0}e=(d|0)==0?1:d<<1;if((d|0)>=(e|0)){j=d;j=j+1|0;c[b+4>>2]=j;j=b+12|0;j=c[j>>2]|0;j=j+(d<<4)|0;i=f;return j|0}if((e|0)==0){g=0;h=d}else{c[5004]=(c[5004]|0)+1;g=XE((e<<4|3)+16|0)|0;if((g|0)==0)g=0;else{c[(g+19&-16)+ -4>>2]=g;g=g+19&-16}h=c[b+4>>2]|0}if((h|0)>0){j=0;do{k=c[b+12>>2]|0;c[g+(j<<4)>>2]=c[k+(j<<4)>>2];c[g+(j<<4)+4>>2]=c[k+(j<<4)+4>>2];c[g+(j<<4)+8>>2]=c[k+(j<<4)+8>>2];c[g+(j<<4)+12>>2]=c[k+(j<<4)+12>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[b+12>>2]|0;if((j|0)!=0){if((a[b+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[j+ -4>>2]|0);h=c[b+4>>2]|0}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=e;k=h;k=k+1|0;c[b+4>>2]=k;k=b+12|0;k=c[k>>2]|0;k=k+(d<<4)|0;i=f;return k|0}function Xz(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;g=i;c[3810]=(c[3810]|0)+1;j=(c[b+12>>2]|0)>(c[d+12>>2]|0);h=j?d:b;j=j?b:d;l=c[h+12>>2]|0;d=c[j+12>>2]|0;k=((d<<16|l)+~((d<<16|l)<<15)>>10^(d<<16|l)+~((d<<16|l)<<15))*9|0;k=((k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11))&(c[a+12>>2]|0)+ -1;m=c[(c[a+44>>2]|0)+(k<<2)>>2]|0;if((m|0)==-1){o=0;i=g;return o|0}b=c[a+16>>2]|0;while(1){if((c[(c[b+(m<<4)>>2]|0)+12>>2]|0)==(l|0)?(c[(c[b+(m<<4)+4>>2]|0)+12>>2]|0)==(d|0):0)break;m=c[(c[a+64>>2]|0)+(m<<2)>>2]|0;if((m|0)==-1){a=0;f=24;break}}if((f|0)==24){i=g;return a|0}d=b+(m<<4)|0;if((d|0)==0){o=0;i=g;return o|0}rc[c[(c[a>>2]|0)+32>>2]&127](a,d,e);b=c[b+(m<<4)+12>>2]|0;d=d-(c[a+16>>2]|0)>>4;k=(c[a+44>>2]|0)+(k<<2)|0;l=c[k>>2]|0;m=c[a+64>>2]|0;if((l|0)!=(d|0)){while(1){n=m+(l<<2)|0;o=c[n>>2]|0;if((o|0)==(d|0))break;else l=o}m=c[m+(d<<2)>>2]|0;if((l|0)==-1)f=12;else c[n>>2]=m}else{m=c[m+(d<<2)>>2]|0;f=12}if((f|0)==12)c[k>>2]=m;k=(c[a+8>>2]|0)+ -1|0;l=c[a+72>>2]|0;if((l|0)!=0)Tb[c[(c[l>>2]|0)+12>>2]&31](l,h,j,e)|0;if((k|0)==(d|0)){c[a+8>>2]=(c[a+8>>2]|0)+ -1;o=b;i=g;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;e=(c[a+44>>2]|0)+(h<<2)|0;m=c[e>>2]|0;n=c[a+64>>2]|0;if((m|0)!=(k|0)){while(1){l=n+(m<<2)|0;o=c[l>>2]|0;if((o|0)==(k|0))break;else m=o}n=c[n+(k<<2)>>2]|0;if((m|0)==-1)f=22;else c[l>>2]=n}else{n=c[n+(k<<2)>>2]|0;f=22}if((f|0)==22)c[e>>2]=n;c[j+(d<<4)+0>>2]=c[j+(k<<4)+0>>2];c[j+(d<<4)+4>>2]=c[j+(k<<4)+4>>2];c[j+(d<<4)+8>>2]=c[j+(k<<4)+8>>2];c[j+(d<<4)+12>>2]=c[j+(k<<4)+12>>2];o=(c[a+44>>2]|0)+(h<<2)|0;c[(c[a+64>>2]|0)+(d<<2)>>2]=c[o>>2];c[o>>2]=d;c[a+8>>2]=(c[a+8>>2]|0)+ -1;o=b;i=g;return o|0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;if((c[a+8>>2]|0)<=0){i=e;return}f=0;a:while(1){while(1){h=c[a+16>>2]|0;g=h+(f<<4)|0;if(!(gc[c[(c[b>>2]|0)+8>>2]&31](b,g)|0))break;Tb[c[(c[a>>2]|0)+12>>2]&31](a,c[g>>2]|0,c[h+(f<<4)+4>>2]|0,d)|0;c[3808]=(c[3808]|0)+ -1;if((f|0)>=(c[a+8>>2]|0)){a=7;break a}}f=f+1|0;if((f|0)>=(c[a+8>>2]|0)){a=7;break}}if((a|0)==7){i=e;return}}function Zz(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;e=i;i=i+32|0;a[e+16>>0]=1;c[e+12>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;m=c[b+8>>2]|0;if((m|0)>0){k=0;f=0;l=0;g=0;while(1){h=c[b+16>>2]|0;if((f|0)==(l|0)){j=(l|0)==0?1:l<<1;if((l|0)<(j|0)){if((j|0)!=0){c[5004]=(c[5004]|0)+1;k=XE((j<<4|3)+16|0)|0;if((k|0)==0){k=0;l=f}else{c[(k+19&-16)+ -4>>2]=k;k=k+19&-16;l=f}}else k=0;if((l|0)>0){m=0;do{n=c[e+12>>2]|0;c[k+(m<<4)>>2]=c[n+(m<<4)>>2];c[k+(m<<4)+4>>2]=c[n+(m<<4)+4>>2];c[k+(m<<4)+8>>2]=c[n+(m<<4)+8>>2];c[k+(m<<4)+12>>2]=c[n+(m<<4)+12>>2];m=m+1|0}while((m|0)!=(l|0))}m=c[e+12>>2]|0;if((m|0)==0)f=l;else{c[5006]=(c[5006]|0)+1;YE(c[m+ -4>>2]|0);c[e+12>>2]=0}a[e+16>>0]=1;c[e+12>>2]=k;c[e+8>>2]=j;m=c[b+8>>2]|0;l=f}else j=l}else{j=l;l=f}c[k+(l<<4)>>2]=c[h+(g<<4)>>2];c[k+(l<<4)+4>>2]=c[h+(g<<4)+4>>2];c[k+(l<<4)+8>>2]=c[h+(g<<4)+8>>2];c[k+(l<<4)+12>>2]=c[h+(g<<4)+12>>2];f=l+1|0;g=g+1|0;if((g|0)>=(m|0))break;else l=j}c[e+4>>2]=f;if((l|0)>-1){g=0;do{Tb[c[(c[b>>2]|0)+12>>2]&31](b,c[k+(g<<4)>>2]|0,c[k+(g<<4)+4>>2]|0,d)|0;g=g+1|0}while((g|0)<(f|0))}}else f=0;if((c[b+56>>2]|0)>0){d=c[b+64>>2]|0;g=0;do{c[d+(g<<2)>>2]=-1;g=g+1|0}while((g|0)<(c[b+56>>2]|0))}if((f|0)>1){es(e,0,f+ -1|0);f=c[e+4>>2]|0}if((f|0)>0){d=c[e+12>>2]|0;g=0;do{Yb[c[(c[b>>2]|0)+8>>2]&31](b,c[d+(g<<4)>>2]|0,c[d+(g<<4)+4>>2]|0)|0;g=g+1|0}while((g|0)<(f|0))}else d=c[e+12>>2]|0;if((d|0)==0){i=e;return}if((a[e+16>>0]|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}c[e+12>>2]=0;i=e;return}function _z(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;c[3812]=(c[3812]|0)+1;g=c[a+24>>2]|0;if((g|0)==0){if((b[e+6>>1]&b[d+4>>1])<<16>>16==0){m=0;i=f;return m|0}if((b[d+6>>1]&b[e+4>>1])<<16>>16==0){m=0;i=f;return m|0}}else if(!(Yb[c[(c[g>>2]|0)+8>>2]&31](g,d,e)|0)){m=0;i=f;return m|0}j=(c[d+12>>2]|0)>(c[e+12>>2]|0);g=j?e:d;e=j?d:e;j=c[g+12>>2]|0;l=c[e+12>>2]|0;d=((l<<16|j)+~((l<<16|j)<<15)>>10^(l<<16|j)+~((l<<16|j)<<15))*9|0;d=(d>>6^d)+~((d>>6^d)<<11)>>16^(d>>6^d)+~((d>>6^d)<<11);h=c[a+12>>2]|0;m=c[(c[a+44>>2]|0)+((d&h+ -1)<<2)>>2]|0;a:do if(!((m|0)==-1)){k=c[a+16>>2]|0;while(1){if((c[(c[k+(m<<4)>>2]|0)+12>>2]|0)==(j|0)?(c[(c[k+(m<<4)+4>>2]|0)+12>>2]|0)==(l|0):0)break;m=c[(c[a+64>>2]|0)+(m<<2)>>2]|0;if((m|0)==-1)break a}j=k+(m<<4)|0;if((j|0)!=0){m=j;i=f;return m|0}}while(0);k=c[a+8>>2]|0;j=Wz(a+4|0)|0;l=c[a+72>>2]|0;if((l|0)!=0)Yb[c[(c[l>>2]|0)+8>>2]&31](l,g,e)|0;if((h|0)<(c[a+12>>2]|0)){Pz(a);d=(c[a+12>>2]|0)+ -1&d}else d=d&h+ -1;if((c[g+12>>2]|0)<(c[e+12>>2]|0)){c[j>>2]=g;c[j+4>>2]=e}else{c[j>>2]=e;c[j+4>>2]=g}c[j+8>>2]=0;c[j+12>>2]=0;m=(c[a+44>>2]|0)+(d<<2)|0;c[(c[a+64>>2]|0)+(k<<2)>>2]=c[m>>2];c[m>>2]=k;m=j;i=f;return m|0}function $z(a){a=a|0;return c[a+16>>2]|0}function aA(a){a=a|0;return c[a+16>>2]|0}function bA(a){a=a|0;return a+4|0}function cA(a){a=a|0;return c[a+8>>2]|0}function dA(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function eA(a){a=a|0;return 0}function fA(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function gA(a){a=a|0;return}function hA(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function iA(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;if((c[b>>2]|0)==(a|0)){a=1;i=d;return a|0}a=(c[b+4>>2]|0)==(a|0);i=d;return a|0}function jA(a){a=a|0;return}function kA(a){a=a|0;var b=0;b=i;YE(a);i=b;return}function lA(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+4>>2]|0;if((c[b>>2]|0)!=(e|0)?(c[b+4>>2]|0)!=(e|0):0){i=d;return 0}e=c[a+8>>2]|0;rc[c[(c[e>>2]|0)+32>>2]&127](e,b,c[a+12>>2]|0);i=d;return 0}function mA(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=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,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;d=i;f=c[a+748>>2]|0;if((f|0)!=4){c[a+748>>2]=f+1;z=f;l=(z|0)<0;z=l?0:z;l=a+(z*184|0)+4|0;cF(l|0,b|0,184)|0;i=d;return z|0}e=+g[b+80>>2];y=+g[a+84>>2];x=y>2];v=w>2];l=+g[a+636>>2]<(u>31;e=+g[b>>2];if((z|0)!=0){m=+g[a+188>>2];p=+g[b+4>>2];n=+g[a+192>>2];k=+g[b+8>>2];o=+g[a+196>>2];u=+g[a+556>>2];t=+g[a+372>>2];w=+g[a+560>>2];v=+g[a+376>>2];q=+g[a+564>>2];s=+g[a+380>>2];h=((e-m)*(w-v)-(p-n)*(u-t))*((e-m)*(w-v)-(p-n)*(u-t))+(((p-n)*(q-s)-(k-o)*(w-v))*((p-n)*(q-s)-(k-o)*(w-v))+((k-o)*(u-t)-(e-m)*(q-s))*((k-o)*(u-t)-(e-m)*(q-s)));if((z|0)==1){j=+g[a+12>>2];y=q;q=0.0;r=+g[a+4>>2];x=+g[a+8>>2];f=7}else{y=q;f=6}}else{m=+g[a+188>>2];n=+g[a+192>>2];o=+g[a+196>>2];h=0.0;p=+g[b+4>>2];k=+g[b+8>>2];t=+g[a+372>>2];u=+g[a+556>>2];v=+g[a+376>>2];w=+g[a+560>>2];s=+g[a+380>>2];y=+g[a+564>>2];f=6}if((f|0)==6){r=+g[a+4>>2];x=+g[a+8>>2];D=p-x;j=+g[a+12>>2];B=k-j;A=u-t;C=w-v;q=y-s;q=((e-r)*C-D*A)*((e-r)*C-D*A)+((D*q-B*C)*(D*q-B*C)+(B*A-(e-r)*q)*(B*A-(e-r)*q));if((z|0)==2){u=x;w=0.0;f=8}else f=7}if((f|0)==7){D=e-r;E=p-x;B=k-j;C=u-m;A=w-n;w=y-o;w=(D*A-E*C)*(D*A-E*C)+((E*w-B*A)*(E*w-B*A)+(B*C-D*w)*(B*C-D*w));if(l)e=0.0;else{u=x;f=8}}if((f|0)==8){E=e-r;A=p-u;C=k-j;D=t-m;B=v-n;e=s-o;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=+P(+h);C=+P(+q);A=+P(+w);y=+P(+e);D=E>-999999984306749400.0?E:-999999984306749400.0;B=C>D?C:D;z=y>(A>B?A:B)?3:A>B?2:C>D?1:(E>-999999984306749400.0^1)<<31>>31;l=(z|0)<0;z=l?0:z;l=a+(z*184|0)+4|0;cF(l|0,b|0,184)|0;i=d;return z|0}function nA(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,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;f=i;h=c[b+748>>2]|0;if((h|0)<=0){i=f;return}do{h=h+ -1|0;q=+g[b+(h*184|0)+4>>2];r=+g[b+(h*184|0)+8>>2];j=+g[b+(h*184|0)+12>>2];p=q*+g[d>>2]+r*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];n=q*+g[d+16>>2]+r*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=q*+g[d+32>>2]+r*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[b+(h*184|0)+52>>2]=p;g[b+(h*184|0)+56>>2]=n;g[b+(h*184|0)+60>>2]=j;g[b+(h*184|0)+64>>2]=0.0;r=+g[b+(h*184|0)+20>>2];q=+g[b+(h*184|0)+24>>2];k=+g[b+(h*184|0)+28>>2];o=r*+g[e>>2]+q*+g[e+4>>2]+k*+g[e+8>>2]+ +g[e+48>>2];m=r*+g[e+16>>2]+q*+g[e+20>>2]+k*+g[e+24>>2]+ +g[e+52>>2];k=r*+g[e+32>>2]+q*+g[e+36>>2]+k*+g[e+40>>2]+ +g[e+56>>2];g[b+(h*184|0)+36>>2]=o;g[b+(h*184|0)+40>>2]=m;g[b+(h*184|0)+44>>2]=k;g[b+(h*184|0)+48>>2]=0.0;g[b+(h*184|0)+84>>2]=(p-o)*+g[b+(h*184|0)+68>>2]+(n-m)*+g[b+(h*184|0)+72>>2]+(j-k)*+g[b+(h*184|0)+76>>2];l=b+(h*184|0)+152|0;c[l>>2]=(c[l>>2]|0)+1}while((h|0)>0);d=c[b+748>>2]|0;if((d|0)<=0){i=f;return}e=d;do{d=d+ -1|0;h=b+(d*184|0)+4|0;k=+g[b+(d*184|0)+84>>2];j=+g[b+752>>2];if(k<=j){p=+g[b+(d*184|0)+36>>2]-(+g[b+(d*184|0)+52>>2]- +g[b+(d*184|0)+68>>2]*k);q=+g[b+(d*184|0)+40>>2]-(+g[b+(d*184|0)+56>>2]-k*+g[b+(d*184|0)+72>>2]);r=+g[b+(d*184|0)+44>>2]-(+g[b+(d*184|0)+60>>2]-k*+g[b+(d*184|0)+76>>2]);if(p*p+q*q+r*r>j*j){l=e+ -1|0;if((l|0)!=(d|0)){cF(h|0,b+(l*184|0)+4|0,184)|0;c[b+(l*184|0)+116>>2]=0;g[b+(l*184|0)+124>>2]=0.0;a[b+(l*184|0)+120>>0]=0;g[b+(l*184|0)+128>>2]=0.0;g[b+(l*184|0)+132>>2]=0.0;c[b+(l*184|0)+152>>2]=0;e=c[b+748>>2]|0}e=e+ -1|0;c[b+748>>2]=e}}else{l=e+ -1|0;if((l|0)!=(d|0)){cF(h|0,b+(l*184|0)+4|0,184)|0;c[b+(l*184|0)+116>>2]=0;g[b+(l*184|0)+124>>2]=0.0;a[b+(l*184|0)+120>>0]=0;g[b+(l*184|0)+128>>2]=0.0;g[b+(l*184|0)+132>>2]=0.0;c[b+(l*184|0)+152>>2]=0;e=c[b+748>>2]|0}e=e+ -1|0;c[b+748>>2]=e}}while((d|0)>0);i=f;return}function oA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)!=0){Lb[c[c[d>>2]>>2]&511](d);d=c[a+52>>2]|0;if((d|0)!=0){c[5006]=(c[5006]|0)+1;YE(c[d+ -4>>2]|0)}if((a|0)==0){i=b;return}}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return}function pA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=15736;d=c[a+52>>2]|0;if((d|0)==0){i=b;return}Lb[c[c[d>>2]>>2]&511](d);a=c[a+52>>2]|0;if((a|0)==0){i=b;return}c[5006]=(c[5006]|0)+1;YE(c[a+ -4>>2]|0);i=b;return} - - - -function PE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;h=c[a+4>>2]|0;if((h&1|0)==0)j=h>>8;else j=c[(c[d>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Jb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+j|0,(h&2|0)!=0?e:2,f);i=g;return}function QE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=h;return}if((c[d+28>>2]|0)==1){i=h;return}c[d+28>>2]=f;i=h;return}if((b|0)!=(c[d>>2]|0)){b=c[b+8>>2]|0;Jb[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);i=h;return}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){i=h;return}a[d+52>>0]=0;a[d+53>>0]=0;b=c[b+8>>2]|0;Zb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if((a[d+53>>0]|0)!=0){if((a[d+52>>0]|0)==0){f=1;j=13}}else{f=0;j=13}do if((j|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)break}else j=16;if((j|0)==16?f:0)break;c[d+44>>2]=4;i=h;return}while(0);c[d+44>>2]=3;i=h;return}if((f|0)!=1){i=h;return}c[d+32>>2]=1;i=h;return}function RE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){i=g;return}if((c[d+28>>2]|0)==1){i=g;return}c[d+28>>2]=f;i=g;return}if((c[d>>2]|0)!=(b|0)){i=g;return}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;i=g;return}if((f|0)!=1){i=g;return}c[d+32>>2]=1;i=g;return}function SE(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;if((b|0)==(c[d+8>>2]|0)){ME(d,e,f,g);i=j;return}k=a[d+52>>0]|0;l=a[d+53>>0]|0;m=c[b+12>>2]|0;a[d+52>>0]=0;a[d+53>>0]=0;OE(b+16|0,d,e,f,g,h);a:do if((m|0)>1){n=b+24|0;do{if((a[d+54>>0]|0)!=0)break a;if((a[d+52>>0]|0)==0){if((a[d+53>>0]|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|0)==0)break a}a[d+52>>0]=0;a[d+53>>0]=0;OE(n,d,e,f,g,h);n=n+8|0}while(n>>>0<(b+(m<<3)+16|0)>>>0)}while(0);a[d+52>>0]=k;a[d+53>>0]=l;i=j;return}function TE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;if((a|0)==(c[b+8>>2]|0)){ME(b,d,e,f);i=h;return}else{a=c[a+8>>2]|0;Zb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g);i=h;return}}function UE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[b+8>>2]|0)!=(a|0)){i=g;return}ME(b,d,e,f);i=g;return}function VE(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];b=Yb[c[(c[a>>2]|0)+16>>2]&31](a,b,e)|0;if(!b){i=e;return b&1|0}c[d>>2]=c[e>>2];i=e;return b&1|0}function WE(a){a=a|0;var b=0;b=i;if((a|0)==0)a=0;else a=(LE(a,20896)|0)!=0;i=b;return a&1|0}function XE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;b=i;do if(a>>>0<245){if(a>>>0<11)o=16;else o=a+11&-8;u=o>>>3;p=c[5286]|0;if((p>>>u&3|0)!=0){e=c[21184+(((p>>>u&1^1)+u<<1)+2<<2)>>2]|0;d=c[e+8>>2]|0;do if((21184+((p>>>u&1^1)+u<<1<<2)|0)!=(d|0)){if(d>>>0<(c[5290]|0)>>>0)zb();if((c[d+12>>2]|0)==(e|0)){c[d+12>>2]=21184+((p>>>u&1^1)+u<<1<<2);c[21184+(((p>>>u&1^1)+u<<1)+2<<2)>>2]=d;break}else zb()}else c[5286]=p&~(1<<(p>>>u&1^1)+u);while(0);c[e+4>>2]=(p>>>u&1^1)+u<<3|3;c[e+((p>>>u&1^1)+u<<3|4)>>2]=c[e+((p>>>u&1^1)+u<<3|4)>>2]|1;E=e+8|0;i=b;return E|0}if(o>>>0>(c[5288]|0)>>>0){if((p>>>u|0)!=0){e=(p>>>u<>>u<>>(e>>>12&16)>>>(e>>>(e>>>12&16)>>>5&8);g=d>>>(d>>>2&4)>>>(d>>>(d>>>2&4)>>>1&2);g=(e>>>(e>>>12&16)>>>5&8|e>>>12&16|d>>>2&4|d>>>(d>>>2&4)>>>1&2|g>>>1&1)+(g>>>(g>>>1&1))|0;d=c[21184+((g<<1)+2<<2)>>2]|0;e=c[d+8>>2]|0;do if((21184+(g<<1<<2)|0)!=(e|0)){if(e>>>0<(c[5290]|0)>>>0)zb();if((c[e+12>>2]|0)==(d|0)){c[e+12>>2]=21184+(g<<1<<2);c[21184+((g<<1)+2<<2)>>2]=e;break}else zb()}else c[5286]=p&~(1<>2]=o|3;e=d+o|0;c[d+(o|4)>>2]=f|1;c[d+(g<<3)>>2]=f;h=c[5288]|0;if((h|0)!=0){g=c[5291]|0;j=c[5286]|0;if((j&1<<(h>>>3)|0)!=0){j=c[21184+((h>>>3<<1)+2<<2)>>2]|0;if(j>>>0<(c[5290]|0)>>>0)zb();else{C=21184+((h>>>3<<1)+2<<2)|0;B=j}}else{c[5286]=j|1<<(h>>>3);C=21184+((h>>>3<<1)+2<<2)|0;B=21184+(h>>>3<<1<<2)|0}c[C>>2]=g;c[B+12>>2]=g;c[g+8>>2]=B;c[g+12>>2]=21184+(h>>>3<<1<<2)}c[5288]=f;c[5291]=e;E=d+8|0;i=b;return E|0}p=c[5287]|0;if((p|0)!=0){e=((p&0-p)+ -1|0)>>>(((p&0-p)+ -1|0)>>>12&16);d=e>>>(e>>>5&8)>>>(e>>>(e>>>5&8)>>>2&4);d=c[21448+((e>>>5&8|((p&0-p)+ -1|0)>>>12&16|e>>>(e>>>5&8)>>>2&4|d>>>1&2|d>>>(d>>>1&2)>>>1&1)+(d>>>(d>>>1&2)>>>(d>>>(d>>>1&2)>>>1&1))<<2)>>2]|0;e=(c[d+4>>2]&-8)-o|0;f=d;while(1){g=c[f+16>>2]|0;if((g|0)==0){g=c[f+20>>2]|0;if((g|0)==0)break}f=(c[g+4>>2]&-8)-o|0;E=f>>>0>>0;e=E?f:e;f=g;d=E?g:d}h=c[5290]|0;if(d>>>0>>0)zb();f=d+o|0;if(!(d>>>0>>0))zb();g=c[d+24>>2]|0;j=c[d+12>>2]|0;do if((j|0)==(d|0)){k=d+20|0;j=c[k>>2]|0;if((j|0)==0){k=d+16|0;j=c[k>>2]|0;if((j|0)==0){A=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if((m|0)!=0){j=m;k=l;continue}m=j+16|0;l=c[m>>2]|0;if((l|0)==0)break;else{j=l;k=m}}if(k>>>0>>0)zb();else{c[k>>2]=0;A=j;break}}else{k=c[d+8>>2]|0;if(k>>>0>>0)zb();if((c[k+12>>2]|0)!=(d|0))zb();if((c[j+8>>2]|0)==(d|0)){c[k+12>>2]=j;c[j+8>>2]=k;A=j;break}else zb()}while(0);do if((g|0)!=0){h=c[d+28>>2]|0;if((d|0)==(c[21448+(h<<2)>>2]|0)){c[21448+(h<<2)>>2]=A;if((A|0)==0){c[5287]=c[5287]&~(1<>>0<(c[5290]|0)>>>0)zb();if((c[g+16>>2]|0)==(d|0))c[g+16>>2]=A;else c[g+20>>2]=A;if((A|0)==0)break}if(A>>>0<(c[5290]|0)>>>0)zb();c[A+24>>2]=g;g=c[d+16>>2]|0;do if((g|0)!=0)if(g>>>0<(c[5290]|0)>>>0)zb();else{c[A+16>>2]=g;c[g+24>>2]=A;break}while(0);g=c[d+20>>2]|0;if((g|0)!=0)if(g>>>0<(c[5290]|0)>>>0)zb();else{c[A+20>>2]=g;c[g+24>>2]=A;break}}while(0);if(e>>>0<16){E=e+o|0;c[d+4>>2]=E|3;E=d+(E+4)|0;c[E>>2]=c[E>>2]|1}else{c[d+4>>2]=o|3;c[d+(o|4)>>2]=e|1;c[d+(e+o)>>2]=e;g=c[5288]|0;if((g|0)!=0){h=c[5291]|0;j=c[5286]|0;if((j&1<<(g>>>3)|0)!=0){j=c[21184+((g>>>3<<1)+2<<2)>>2]|0;if(j>>>0<(c[5290]|0)>>>0)zb();else{z=21184+((g>>>3<<1)+2<<2)|0;y=j}}else{c[5286]=j|1<<(g>>>3);z=21184+((g>>>3<<1)+2<<2)|0;y=21184+(g>>>3<<1<<2)|0}c[z>>2]=h;c[y+12>>2]=h;c[h+8>>2]=y;c[h+12>>2]=21184+(g>>>3<<1<<2)}c[5288]=e;c[5291]=f}E=d+8|0;i=b;return E|0}}}else if(!(a>>>0>4294967231)){o=a+11&-8;A=c[5287]|0;if((A|0)!=0){if(((a+11|0)>>>8|0)!=0)if(o>>>0>16777215)B=31;else{B=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);B=14-((B+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((B<<((B+520192|0)>>>16&4))+245760|0)>>>16&2)+(B<<((B+520192|0)>>>16&4)<<(((B<<((B+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;B=o>>>(B+7|0)&1|B<<1}else B=0;C=c[21448+(B<<2)>>2]|0;a:do if((C|0)==0){z=0-o|0;a=0;y=0}else{if((B|0)==31)y=0;else y=25-(B>>>1)|0;z=0-o|0;a=0;D=o<>2]&-8;if((E-o|0)>>>0>>0)if((E|0)==(o|0)){z=E-o|0;a=C;y=C;break a}else{z=E-o|0;y=C}E=c[C+20>>2]|0;C=c[C+(D>>>31<<2)+16>>2]|0;a=(E|0)==0|(E|0)==(C|0)?a:E;if((C|0)==0)break;else D=D<<1}}while(0);if((a|0)==0&(y|0)==0){B=2<>>(D>>>12&16)>>>(D>>>(D>>>12&16)>>>5&8);a=E>>>(E>>>2&4)>>>(E>>>(E>>>2&4)>>>1&2);a=c[21448+((D>>>(D>>>12&16)>>>5&8|D>>>12&16|E>>>2&4|E>>>(E>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0}if((a|0)!=0)while(1){E=(c[a+4>>2]&-8)-o|0;A=E>>>0>>0;z=A?E:z;y=A?a:y;A=c[a+16>>2]|0;if((A|0)!=0){a=A;continue}a=c[a+20>>2]|0;if((a|0)==0)break}if((y|0)!=0?z>>>0<((c[5288]|0)-o|0)>>>0:0){f=c[5290]|0;if(y>>>0>>0)zb();d=y+o|0;if(!(y>>>0>>0))zb();e=c[y+24>>2]|0;g=c[y+12>>2]|0;do if((g|0)==(y|0)){h=y+20|0;g=c[h>>2]|0;if((g|0)==0){h=y+16|0;g=c[h>>2]|0;if((g|0)==0){x=0;break}}while(1){k=g+20|0;j=c[k>>2]|0;if((j|0)!=0){g=j;h=k;continue}k=g+16|0;j=c[k>>2]|0;if((j|0)==0)break;else{g=j;h=k}}if(h>>>0>>0)zb();else{c[h>>2]=0;x=g;break}}else{h=c[y+8>>2]|0;if(h>>>0>>0)zb();if((c[h+12>>2]|0)!=(y|0))zb();if((c[g+8>>2]|0)==(y|0)){c[h+12>>2]=g;c[g+8>>2]=h;x=g;break}else zb()}while(0);do if((e|0)!=0){f=c[y+28>>2]|0;if((y|0)==(c[21448+(f<<2)>>2]|0)){c[21448+(f<<2)>>2]=x;if((x|0)==0){c[5287]=c[5287]&~(1<>>0<(c[5290]|0)>>>0)zb();if((c[e+16>>2]|0)==(y|0))c[e+16>>2]=x;else c[e+20>>2]=x;if((x|0)==0)break}if(x>>>0<(c[5290]|0)>>>0)zb();c[x+24>>2]=e;e=c[y+16>>2]|0;do if((e|0)!=0)if(e>>>0<(c[5290]|0)>>>0)zb();else{c[x+16>>2]=e;c[e+24>>2]=x;break}while(0);e=c[y+20>>2]|0;if((e|0)!=0)if(e>>>0<(c[5290]|0)>>>0)zb();else{c[x+20>>2]=e;c[e+24>>2]=x;break}}while(0);b:do if(!(z>>>0<16)){c[y+4>>2]=o|3;c[y+(o|4)>>2]=z|1;c[y+(z+o)>>2]=z;e=z>>>3;if(z>>>0<256){f=c[5286]|0;do if((f&1<>2]|0;if(!(f>>>0<(c[5290]|0)>>>0)){v=21184+((e<<1)+2<<2)|0;u=f;break}zb()}while(0);c[v>>2]=d;c[u+12>>2]=d;c[y+(o+8)>>2]=u;c[y+(o+12)>>2]=21184+(e<<1<<2);break}e=z>>>8;if((e|0)!=0)if(z>>>0>16777215)e=31;else{E=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(E+245760|0)>>>16&2)+(E<<((E+245760|0)>>>16&2)>>>15)|0;e=z>>>(e+7|0)&1|e<<1}else e=0;f=21448+(e<<2)|0;c[y+(o+28)>>2]=e;c[y+(o+20)>>2]=0;c[y+(o+16)>>2]=0;h=c[5287]|0;g=1<>2]=d;c[y+(o+24)>>2]=f;c[y+(o+12)>>2]=d;c[y+(o+8)>>2]=d;break}f=c[f>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;c:do if((c[f+4>>2]&-8|0)!=(z|0)){e=z<>>31<<2)+16|0;h=c[g>>2]|0;if((h|0)==0)break;if((c[h+4>>2]&-8|0)==(z|0)){p=h;break c}else{e=e<<1;f=h}}if(g>>>0<(c[5290]|0)>>>0)zb();else{c[g>>2]=d;c[y+(o+24)>>2]=f;c[y+(o+12)>>2]=d;c[y+(o+8)>>2]=d;break b}}else p=f;while(0);e=p+8|0;f=c[e>>2]|0;g=c[5290]|0;if(p>>>0>>0)zb();if(f>>>0>>0)zb();else{c[f+12>>2]=d;c[e>>2]=d;c[y+(o+8)>>2]=f;c[y+(o+12)>>2]=p;c[y+(o+24)>>2]=0;break}}else{E=z+o|0;c[y+4>>2]=E|3;E=y+(E+4)|0;c[E>>2]=c[E>>2]|1}while(0);E=y+8|0;i=b;return E|0}}}else o=-1;while(0);p=c[5288]|0;if(!(o>>>0>p>>>0)){d=p-o|0;e=c[5291]|0;if(d>>>0>15){c[5291]=e+o;c[5288]=d;c[e+(o+4)>>2]=d|1;c[e+p>>2]=d;c[e+4>>2]=o|3}else{c[5288]=0;c[5291]=0;c[e+4>>2]=p|3;c[e+(p+4)>>2]=c[e+(p+4)>>2]|1}E=e+8|0;i=b;return E|0}p=c[5289]|0;if(o>>>0

>>0){D=p-o|0;c[5289]=D;E=c[5292]|0;c[5292]=E+o;c[E+(o+4)>>2]=D|1;c[E+4>>2]=o|3;E=E+8|0;i=b;return E|0}do if((c[5404]|0)==0){p=nb(30)|0;if((p+ -1&p|0)==0){c[5406]=p;c[5405]=p;c[5407]=-1;c[5408]=-1;c[5409]=0;c[5397]=0;c[5404]=(Cb(0)|0)&-16^1431655768;break}else zb()}while(0);v=o+48|0;p=c[5406]|0;x=o+47|0;u=p+x&0-p;if(!(u>>>0>o>>>0)){E=0;i=b;return E|0}y=c[5396]|0;if((y|0)!=0?(E=c[5394]|0,(E+u|0)>>>0<=E>>>0|(E+u|0)>>>0>y>>>0):0){E=0;i=b;return E|0}d:do if((c[5397]&4|0)==0){y=c[5292]|0;e:do if((y|0)!=0){z=21592|0;while(1){A=c[z>>2]|0;if(!(A>>>0>y>>>0)?(w=z+4|0,(A+(c[w>>2]|0)|0)>>>0>y>>>0):0)break;z=c[z+8>>2]|0;if((z|0)==0){n=182;break e}}if((z|0)!=0){A=p+x-(c[5289]|0)&0-p;if(A>>>0<2147483647){p=gb(A|0)|0;z=(p|0)==((c[z>>2]|0)+(c[w>>2]|0)|0);w=p;y=A;p=z?p:-1;z=z?A:0;n=191}else z=0}else n=182}else n=182;while(0);do if((n|0)==182){z=gb(0)|0;if((z|0)!=(-1|0)){p=c[5405]|0;if((p+ -1&z|0)==0)A=u;else A=u-z+(p+ -1+z&0-p)|0;w=c[5394]|0;p=w+A|0;if(A>>>0>o>>>0&A>>>0<2147483647){E=c[5396]|0;if((E|0)!=0?p>>>0<=w>>>0|p>>>0>E>>>0:0){z=0;break}n=gb(A|0)|0;w=n;y=A;p=(n|0)==(z|0)?z:-1;z=(n|0)==(z|0)?A:0;n=191}else z=0}else z=0}while(0);f:do if((n|0)==191){n=0-y|0;if((p|0)!=(-1|0)){q=z;n=202;break d}do if((w|0)!=(-1|0)&y>>>0<2147483647&y>>>0>>0?(t=c[5406]|0,t=x-y+t&0-t,t>>>0<2147483647):0)if((gb(t|0)|0)==(-1|0)){gb(n|0)|0;break f}else{y=t+y|0;break}while(0);if((w|0)!=(-1|0)){p=w;q=y;n=202;break d}}while(0);c[5397]=c[5397]|4;n=199}else{z=0;n=199}while(0);if((((n|0)==199?u>>>0<2147483647:0)?(s=gb(u|0)|0,r=gb(0)|0,(r|0)!=(-1|0)&(s|0)!=(-1|0)&s>>>0>>0):0)?(q=(r-s|0)>>>0>(o+40|0)>>>0,q):0){p=s;q=q?r-s|0:z;n=202}if((n|0)==202){r=(c[5394]|0)+q|0;c[5394]=r;if(r>>>0>(c[5395]|0)>>>0)c[5395]=r;r=c[5292]|0;g:do if((r|0)!=0){w=21592|0;while(1){t=c[w>>2]|0;u=w+4|0;v=c[u>>2]|0;if((p|0)==(t+v|0)){n=214;break}s=c[w+8>>2]|0;if((s|0)==0)break;else w=s}if(((n|0)==214?(c[w+12>>2]&8|0)==0:0)?r>>>0>=t>>>0&r>>>0

>>0:0){c[u>>2]=v+q;e=(c[5289]|0)+q|0;if((r+8&7|0)==0)d=0;else d=0-(r+8)&7;E=e-d|0;c[5292]=r+d;c[5289]=E;c[r+(d+4)>>2]=E|1;c[r+(e+4)>>2]=40;c[5293]=c[5408];break}if(p>>>0<(c[5290]|0)>>>0)c[5290]=p;t=p+q|0;s=21592|0;while(1){if((c[s>>2]|0)==(t|0)){n=224;break}u=c[s+8>>2]|0;if((u|0)==0)break;else s=u}if((n|0)==224?(c[s+12>>2]&8|0)==0:0){c[s>>2]=p;h=s+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if((h&7|0)==0)h=0;else h=0-h&7;k=p+(q+8)|0;if((k&7|0)==0)r=0;else r=0-k&7;s=p+(r+q)|0;k=h+o|0;l=p+k|0;m=s-(p+h)-o|0;c[p+(h+4)>>2]=o|3;h:do if((s|0)!=(c[5292]|0)){if((s|0)==(c[5291]|0)){E=(c[5288]|0)+m|0;c[5288]=E;c[5291]=l;c[p+(k+4)>>2]=E|1;c[p+(E+k)>>2]=E;break}o=q+4|0;n=c[p+(o+r)>>2]|0;if((n&3|0)==1){i:do if(!(n>>>0<256)){j=c[p+((r|24)+q)>>2]|0;u=c[p+(q+12+r)>>2]|0;do if((u|0)==(s|0)){v=r|16;u=p+(o+v)|0;t=c[u>>2]|0;if((t|0)==0){u=p+(v+q)|0;t=c[u>>2]|0;if((t|0)==0){g=0;break}}while(1){v=t+20|0;w=c[v>>2]|0;if((w|0)!=0){t=w;u=v;continue}v=t+16|0;w=c[v>>2]|0;if((w|0)==0)break;else{t=w;u=v}}if(u>>>0<(c[5290]|0)>>>0)zb();else{c[u>>2]=0;g=t;break}}else{t=c[p+((r|8)+q)>>2]|0;if(t>>>0<(c[5290]|0)>>>0)zb();if((c[t+12>>2]|0)!=(s|0))zb();if((c[u+8>>2]|0)==(s|0)){c[t+12>>2]=u;c[u+8>>2]=t;g=u;break}else zb()}while(0);if((j|0)==0)break;t=c[p+(q+28+r)>>2]|0;do if((s|0)!=(c[21448+(t<<2)>>2]|0)){if(j>>>0<(c[5290]|0)>>>0)zb();if((c[j+16>>2]|0)==(s|0))c[j+16>>2]=g;else c[j+20>>2]=g;if((g|0)==0)break i}else{c[21448+(t<<2)>>2]=g;if((g|0)!=0)break;c[5287]=c[5287]&~(1<>>0<(c[5290]|0)>>>0)zb();c[g+24>>2]=j;j=r|16;s=c[p+(j+q)>>2]|0;do if((s|0)!=0)if(s>>>0<(c[5290]|0)>>>0)zb();else{c[g+16>>2]=s;c[s+24>>2]=g;break}while(0);j=c[p+(o+j)>>2]|0;if((j|0)==0)break;if(j>>>0<(c[5290]|0)>>>0)zb();else{c[g+20>>2]=j;c[j+24>>2]=g;break}}else{g=c[p+((r|8)+q)>>2]|0;o=c[p+(q+12+r)>>2]|0;do if((g|0)!=(21184+(n>>>3<<1<<2)|0)){if(g>>>0<(c[5290]|0)>>>0)zb();if((c[g+12>>2]|0)==(s|0))break;zb()}while(0);if((o|0)==(g|0)){c[5286]=c[5286]&~(1<<(n>>>3));break}do if((o|0)==(21184+(n>>>3<<1<<2)|0))j=o+8|0;else{if(o>>>0<(c[5290]|0)>>>0)zb();if((c[o+8>>2]|0)==(s|0)){j=o+8|0;break}zb()}while(0);c[g+12>>2]=o;c[j>>2]=g}while(0);s=p+((n&-8|r)+q)|0;m=(n&-8)+m|0}g=s+4|0;c[g>>2]=c[g>>2]&-2;c[p+(k+4)>>2]=m|1;c[p+(m+k)>>2]=m;g=m>>>3;if(m>>>0<256){d=c[5286]|0;do if((d&1<>2]|0;if(!(d>>>0<(c[5290]|0)>>>0)){f=21184+((g<<1)+2<<2)|0;e=d;break}zb()}while(0);c[f>>2]=l;c[e+12>>2]=l;c[p+(k+8)>>2]=e;c[p+(k+12)>>2]=21184+(g<<1<<2);break}e=m>>>8;do if((e|0)==0)e=0;else{if(m>>>0>16777215){e=31;break}E=e<<((e+1048320|0)>>>16&8)<<(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4);e=14-(((e<<((e+1048320|0)>>>16&8))+520192|0)>>>16&4|(e+1048320|0)>>>16&8|(E+245760|0)>>>16&2)+(E<<((E+245760|0)>>>16&2)>>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);j=21448+(e<<2)|0;c[p+(k+28)>>2]=e;c[p+(k+20)>>2]=0;c[p+(k+16)>>2]=0;f=c[5287]|0;g=1<>2]=l;c[p+(k+24)>>2]=j;c[p+(k+12)>>2]=l;c[p+(k+8)>>2]=l;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[f+4>>2]&-8|0)!=(m|0)){e=m<>>31<<2)+16|0;j=c[g>>2]|0;if((j|0)==0)break;if((c[j+4>>2]&-8|0)==(m|0)){d=j;break j}else{e=e<<1;f=j}}if(g>>>0<(c[5290]|0)>>>0)zb();else{c[g>>2]=l;c[p+(k+24)>>2]=f;c[p+(k+12)>>2]=l;c[p+(k+8)>>2]=l;break h}}else d=f;while(0);f=d+8|0;e=c[f>>2]|0;g=c[5290]|0;if(d>>>0>>0)zb();if(e>>>0>>0)zb();else{c[e+12>>2]=l;c[f>>2]=l;c[p+(k+8)>>2]=e;c[p+(k+12)>>2]=d;c[p+(k+24)>>2]=0;break}}else{E=(c[5289]|0)+m|0;c[5289]=E;c[5292]=l;c[p+(k+4)>>2]=E|1}while(0);E=p+(h|8)|0;i=b;return E|0}d=21592|0;while(1){e=c[d>>2]|0;if(!(e>>>0>r>>>0)?(m=c[d+4>>2]|0,(e+m|0)>>>0>r>>>0):0)break;d=c[d+8>>2]|0}if((e+(m+ -39)&7|0)==0)d=0;else d=0-(e+(m+ -39))&7;d=e+(m+ -47+d)|0;d=d>>>0<(r+16|0)>>>0?r:d;f=p+8|0;if((f&7|0)==0)f=0;else f=0-f&7;E=q+ -40-f|0;c[5292]=p+f;c[5289]=E;c[p+(f+4)>>2]=E|1;c[p+(q+ -36)>>2]=40;c[5293]=c[5408];c[d+4>>2]=27;c[d+8>>2]=c[5398];c[d+12>>2]=c[5399];c[d+16>>2]=c[5400];c[d+20>>2]=c[5401];c[5398]=p;c[5399]=q;c[5401]=0;c[5400]=d+8;c[d+28>>2]=7;if((d+32|0)>>>0<(e+m|0)>>>0){f=d+28|0;do{E=f;f=f+4|0;c[f>>2]=7}while((E+8|0)>>>0<(e+m|0)>>>0)}if((d|0)!=(r|0)){c[r+(d-r+4)>>2]=c[r+(d-r+4)>>2]&-2;c[r+4>>2]=d-r|1;c[r+(d-r)>>2]=d-r;if((d-r|0)>>>0<256){e=c[5286]|0;do if((e&1<<((d-r|0)>>>3)|0)==0){c[5286]=e|1<<((d-r|0)>>>3);l=21184+(((d-r|0)>>>3<<1)+2<<2)|0;k=21184+((d-r|0)>>>3<<1<<2)|0}else{e=c[21184+(((d-r|0)>>>3<<1)+2<<2)>>2]|0;if(!(e>>>0<(c[5290]|0)>>>0)){l=21184+(((d-r|0)>>>3<<1)+2<<2)|0;k=e;break}zb()}while(0);c[l>>2]=r;c[k+12>>2]=r;c[r+8>>2]=k;c[r+12>>2]=21184+((d-r|0)>>>3<<1<<2);break}if(((d-r|0)>>>8|0)!=0)if((d-r|0)>>>0>16777215)e=31;else{e=(d-r|0)>>>8<<((((d-r|0)>>>8)+1048320|0)>>>16&8);e=14-((e+520192|0)>>>16&4|(((d-r|0)>>>8)+1048320|0)>>>16&8|((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)+(e<<((e+520192|0)>>>16&4)<<(((e<<((e+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;e=(d-r|0)>>>(e+7|0)&1|e<<1}else e=0;j=21448+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[5287]|0;g=1<>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}g=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[g+4>>2]&-8|0)!=(d-r|0)){e=d-r<>>31<<2)+16|0;j=c[f>>2]|0;if((j|0)==0)break;if((c[j+4>>2]&-8|0)==(d-r|0)){h=j;break k}else{e=e<<1;g=j}}if(f>>>0<(c[5290]|0)>>>0)zb();else{c[f>>2]=r;c[r+24>>2]=g;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=g;while(0);e=h+8|0;d=c[e>>2]|0;f=c[5290]|0;if(h>>>0>>0)zb();if(d>>>0>>0)zb();else{c[d+12>>2]=r;c[e>>2]=r;c[r+8>>2]=d;c[r+12>>2]=h;c[r+24>>2]=0;break}}}else{E=c[5290]|0;if((E|0)==0|p>>>0>>0)c[5290]=p;c[5398]=p;c[5399]=q;c[5401]=0;c[5295]=c[5404];c[5294]=-1;d=0;do{E=d<<1;c[21184+(E+3<<2)>>2]=21184+(E<<2);c[21184+(E+2<<2)>>2]=21184+(E<<2);d=d+1|0}while((d|0)!=32);d=p+8|0;if((d&7|0)==0)d=0;else d=0-d&7;E=q+ -40-d|0;c[5292]=p+d;c[5289]=E;c[p+(d+4)>>2]=E|1;c[p+(q+ -36)>>2]=40;c[5293]=c[5408]}while(0);d=c[5289]|0;if(d>>>0>o>>>0){D=d-o|0;c[5289]=D;E=c[5292]|0;c[5292]=E+o;c[E+(o+4)>>2]=D|1;c[E+4>>2]=o|3;E=E+8|0;i=b;return E|0}}c[(vb()|0)>>2]=12;E=0;i=b;return E|0}function YE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if((a|0)==0){i=b;return}r=c[5290]|0;if((a+ -8|0)>>>0>>0)zb();h=c[a+ -4>>2]|0;if((h&3|0)==1)zb();k=a+((h&-8)+ -8)|0;do if((h&1|0)==0){o=c[a+ -8>>2]|0;if((h&3|0)==0){i=b;return}m=a+(-8-o)|0;n=o+(h&-8)|0;if(m>>>0>>0)zb();if((m|0)==(c[5291]|0)){if((c[a+((h&-8)+ -4)>>2]&3|0)!=3){d=m;p=n;break}c[5288]=n;c[a+((h&-8)+ -4)>>2]=c[a+((h&-8)+ -4)>>2]&-2;c[a+(-8-o+4)>>2]=n|1;c[k>>2]=n;i=b;return}if(o>>>0<256){p=c[a+(-8-o+8)>>2]|0;d=c[a+(-8-o+12)>>2]|0;if((p|0)!=(21184+(o>>>3<<1<<2)|0)){if(p>>>0>>0)zb();if((c[p+12>>2]|0)!=(m|0))zb()}if((d|0)==(p|0)){c[5286]=c[5286]&~(1<<(o>>>3));d=m;p=n;break}if((d|0)!=(21184+(o>>>3<<1<<2)|0)){if(d>>>0>>0)zb();if((c[d+8>>2]|0)!=(m|0))zb();else s=d+8|0}else s=d+8|0;c[p+12>>2]=d;c[s>>2]=p;d=m;p=n;break}s=c[a+(-8-o+24)>>2]|0;u=c[a+(-8-o+12)>>2]|0;do if((u|0)==(m|0)){u=c[a+(-8-o+20)>>2]|0;if((u|0)==0){u=c[a+(-8-o+16)>>2]|0;if((u|0)==0){q=0;break}else t=a+(-8-o+16)|0}else t=a+(-8-o+20)|0;while(1){w=u+20|0;v=c[w>>2]|0;if((v|0)!=0){u=v;t=w;continue}w=u+16|0;v=c[w>>2]|0;if((v|0)==0)break;else{u=v;t=w}}if(t>>>0>>0)zb();else{c[t>>2]=0;q=u;break}}else{t=c[a+(-8-o+8)>>2]|0;if(t>>>0>>0)zb();if((c[t+12>>2]|0)!=(m|0))zb();if((c[u+8>>2]|0)==(m|0)){c[t+12>>2]=u;c[u+8>>2]=t;q=u;break}else zb()}while(0);if((s|0)!=0){r=c[a+(-8-o+28)>>2]|0;if((m|0)==(c[21448+(r<<2)>>2]|0)){c[21448+(r<<2)>>2]=q;if((q|0)==0){c[5287]=c[5287]&~(1<>>0<(c[5290]|0)>>>0)zb();if((c[s+16>>2]|0)==(m|0))c[s+16>>2]=q;else c[s+20>>2]=q;if((q|0)==0){d=m;p=n;break}}if(q>>>0<(c[5290]|0)>>>0)zb();c[q+24>>2]=s;r=c[a+(-8-o+16)>>2]|0;do if((r|0)!=0)if(r>>>0<(c[5290]|0)>>>0)zb();else{c[q+16>>2]=r;c[r+24>>2]=q;break}while(0);o=c[a+(-8-o+20)>>2]|0;if((o|0)!=0)if(o>>>0<(c[5290]|0)>>>0)zb();else{c[q+20>>2]=o;c[o+24>>2]=q;d=m;p=n;break}else{d=m;p=n}}else{d=m;p=n}}else{d=a+ -8|0;p=h&-8}while(0);if(!(d>>>0>>0))zb();m=c[a+((h&-8)+ -4)>>2]|0;if((m&1|0)==0)zb();if((m&2|0)==0){if((k|0)==(c[5292]|0)){w=(c[5289]|0)+p|0;c[5289]=w;c[5292]=d;c[d+4>>2]=w|1;if((d|0)!=(c[5291]|0)){i=b;return}c[5291]=0;c[5288]=0;i=b;return}if((k|0)==(c[5291]|0)){w=(c[5288]|0)+p|0;c[5288]=w;c[5291]=d;c[d+4>>2]=w|1;c[d+w>>2]=w;i=b;return}p=(m&-8)+p|0;do if(!(m>>>0<256)){l=c[a+((h&-8)+16)>>2]|0;n=c[a+(h&-8|4)>>2]|0;do if((n|0)==(k|0)){n=c[a+((h&-8)+12)>>2]|0;if((n|0)==0){n=c[a+((h&-8)+8)>>2]|0;if((n|0)==0){j=0;break}else m=a+((h&-8)+8)|0}else m=a+((h&-8)+12)|0;while(1){o=n+20|0;q=c[o>>2]|0;if((q|0)!=0){n=q;m=o;continue}o=n+16|0;q=c[o>>2]|0;if((q|0)==0)break;else{n=q;m=o}}if(m>>>0<(c[5290]|0)>>>0)zb();else{c[m>>2]=0;j=n;break}}else{m=c[a+(h&-8)>>2]|0;if(m>>>0<(c[5290]|0)>>>0)zb();if((c[m+12>>2]|0)!=(k|0))zb();if((c[n+8>>2]|0)==(k|0)){c[m+12>>2]=n;c[n+8>>2]=m;j=n;break}else zb()}while(0);if((l|0)!=0){m=c[a+((h&-8)+20)>>2]|0;if((k|0)==(c[21448+(m<<2)>>2]|0)){c[21448+(m<<2)>>2]=j;if((j|0)==0){c[5287]=c[5287]&~(1<>>0<(c[5290]|0)>>>0)zb();if((c[l+16>>2]|0)==(k|0))c[l+16>>2]=j;else c[l+20>>2]=j;if((j|0)==0)break}if(j>>>0<(c[5290]|0)>>>0)zb();c[j+24>>2]=l;k=c[a+((h&-8)+8)>>2]|0;do if((k|0)!=0)if(k>>>0<(c[5290]|0)>>>0)zb();else{c[j+16>>2]=k;c[k+24>>2]=j;break}while(0);h=c[a+((h&-8)+12)>>2]|0;if((h|0)!=0)if(h>>>0<(c[5290]|0)>>>0)zb();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+(h&-8)>>2]|0;h=c[a+(h&-8|4)>>2]|0;if((j|0)!=(21184+(m>>>3<<1<<2)|0)){if(j>>>0<(c[5290]|0)>>>0)zb();if((c[j+12>>2]|0)!=(k|0))zb()}if((h|0)==(j|0)){c[5286]=c[5286]&~(1<<(m>>>3));break}if((h|0)!=(21184+(m>>>3<<1<<2)|0)){if(h>>>0<(c[5290]|0)>>>0)zb();if((c[h+8>>2]|0)!=(k|0))zb();else l=h+8|0}else l=h+8|0;c[j+12>>2]=h;c[l>>2]=j}while(0);c[d+4>>2]=p|1;c[d+p>>2]=p;if((d|0)==(c[5291]|0)){c[5288]=p;i=b;return}}else{c[a+((h&-8)+ -4)>>2]=m&-2;c[d+4>>2]=p|1;c[d+p>>2]=p}h=p>>>3;if(p>>>0<256){e=c[5286]|0;if((e&1<>2]|0;if(e>>>0<(c[5290]|0)>>>0)zb();else{f=21184+((h<<1)+2<<2)|0;g=e}}else{c[5286]=e|1<>2]=d;c[g+12>>2]=d;c[d+8>>2]=g;c[d+12>>2]=21184+(h<<1<<2);i=b;return}f=p>>>8;if((f|0)!=0)if(p>>>0>16777215)f=31;else{w=f<<((f+1048320|0)>>>16&8)<<(((f<<((f+1048320|0)>>>16&8))+520192|0)>>>16&4);f=14-(((f<<((f+1048320|0)>>>16&8))+520192|0)>>>16&4|(f+1048320|0)>>>16&8|(w+245760|0)>>>16&2)+(w<<((w+245760|0)>>>16&2)>>>15)|0;f=p>>>(f+7|0)&1|f<<1}else f=0;g=21448+(f<<2)|0;c[d+28>>2]=f;c[d+20>>2]=0;c[d+16>>2]=0;a=c[5287]|0;h=1<>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(p|0)){f=p<>>31<<2)+16|0;g=c[a>>2]|0;if((g|0)==0)break;if((c[g+4>>2]&-8|0)==(p|0)){e=g;break b}else{f=f<<1;h=g}}if(a>>>0<(c[5290]|0)>>>0)zb();else{c[a>>2]=d;c[d+24>>2]=h;c[d+12>>2]=d;c[d+8>>2]=d;break a}}else e=g;while(0);f=e+8|0;h=c[f>>2]|0;g=c[5290]|0;if(e>>>0>>0)zb();if(h>>>0>>0)zb();else{c[h+12>>2]=d;c[f>>2]=d;c[d+8>>2]=h;c[d+12>>2]=e;c[d+24>>2]=0;break}}else{c[5287]=a|h;c[g>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d}while(0);w=(c[5294]|0)+ -1|0;c[5294]=w;if((w|0)==0)d=21600|0;else{i=b;return}while(1){d=c[d>>2]|0;if((d|0)==0)break;else d=d+8|0}c[5294]=-1;i=b;return}function ZE(){}function _E(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(E=b,a-c>>>0|0)|0}function $E(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;h=b&3;g=d|d<<8|d<<16|d<<24;if(h){h=b+4-h|0;while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(f&~3|0)){c[b>>2]=g;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function aF(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function bF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return(E=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function cF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return rb(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)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 dF(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 cF(b,c,d)|0;return b|0}function eF(a){a=a|0;return(a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function fF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b<>>32-c;return a<>>c;return a>>>c|(b&(1<>>c-32|0}function hF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E=b>>c;return a>>>c|(b&(1<>c-32|0}function iF(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function jF(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 kF(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=aa(b&65535,a&65535)|0;e=(c>>>16)+(aa(b&65535,a>>>16)|0)|0;d=aa(b>>>16,a&65535)|0;return(E=(e>>>16)+(aa(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function lF(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;b=_E(g^a,e^b,g,e)|0;a=E;a=_E((qF(b,a,_E(h^c,f^d,h,f)|0,E,0)|0)^(h^g),E^(f^e),h^g,f^e)|0;return a|0}function mF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+8|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;b=_E(h^a,g^b,h,g)|0;a=E;qF(b,a,_E(k^d,j^e,k,j)|0,E,f|0)|0;a=_E(c[f>>2]^h,c[f+4>>2]^g,h,g)|0;b=E;i=f;return(E=b,a)|0}function nF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=kF(a,c)|0;f=E;return(E=(aa(b,c)|0)+(aa(d,a)|0)+f|f&0,e|0|0)|0}function oF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=qF(a,b,c,d,0)|0;return a|0}function pF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+8|0;qF(a,b,d,e,f|0)|0;i=f;return(E=c[f+4>>2]|0,c[f>>2]|0)|0}function qF(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|0)==0)if((e|0)==0){if((f|0)!=0){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}k=0;l=(a>>>0)/(d>>>0)>>>0;return(E=k,l)|0}else{if((f|0)==0){k=0;l=0;return(E=k,l)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;k=0;l=0;return(E=k,l)|0}do if((d|0)!=0){if((e|0)!=0){k=(iF(e|0)|0)-(iF(b|0)|0)|0;if(k>>>0<=31){i=k+1|0;g=a>>>((k+1|0)>>>0)&k-31>>31|b<<31-k;h=b>>>((k+1|0)>>>0)&k-31>>31;j=0;l=a<<31-k;break}if((f|0)==0){k=0;l=0;return(E=k,l)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;k=0;l=0;return(E=k,l)|0}if((d-1&d|0)!=0){l=(iF(d|0)|0)+33-(iF(b|0)|0)|0;i=l;g=32-l-1>>31&b>>>((l-32|0)>>>0)|(b<<32-l|a>>>(l>>>0))&l-32>>31;h=l-32>>31&b>>>(l>>>0);j=a<<64-l&32-l>>31;l=(b<<64-l|a>>>((l-32|0)>>>0))&32-l>>31|a<<32-l&l-33>>31;break}if((f|0)!=0){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){k=b|b&0;l=a|0|0;return(E=k,l)|0}else{l=jF(d|0)|0;k=b>>>(l>>>0)|0;l=b<<32-l|a>>>(l>>>0)|0;return(E=k,l)|0}}else{if((e|0)==0){if((f|0)!=0){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}k=0;l=(b>>>0)/(d>>>0)>>>0;return(E=k,l)|0}if((a|0)==0){if((f|0)!=0){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}k=0;l=(b>>>0)/(e>>>0)>>>0;return(E=k,l)|0}if((e-1&e|0)==0){if((f|0)!=0){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}k=0;l=b>>>((jF(e|0)|0)>>>0);return(E=k,l)|0}k=(iF(e|0)|0)-(iF(b|0)|0)|0;if(k>>>0<=30){i=k+1|0;g=b<<31-k|a>>>((k+1|0)>>>0);h=b>>>((k+1|0)>>>0);j=0;l=a<<31-k;break}if((f|0)==0){k=0;l=0;return(E=k,l)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;k=0;l=0;return(E=k,l)|0}while(0);if((i|0)==0){e=l;k=j;d=0;j=0}else{a=bF(d|0|0,e|e&0,-1,-1)|0;b=E;k=j;j=0;do{p=l;l=k>>>31|l<<1;k=j|k<<1;p=g<<1|p>>>31|0;o=g>>>31|h<<1|0;_E(a,b,p,o)|0;m=E;n=m>>31|((m|0)<0?-1:0)<<1;j=n&1;g=_E(p,o,n&(d|0),(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&(e|e&0))|0;h=E;i=i-1|0}while((i|0)!=0);e=l;d=0}if((f|0)!=0){c[f>>2]=g;c[f+4>>2]=h}o=(k|0)>>>31|e<<1|(0<<1|k>>>31)&0|d;p=(k<<1|0>>>31)&-2|j;return(E=o,p)|0}function rF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Jb[a&31](b|0,c|0,d|0,e|0,f|0)}function sF(a,b,c){a=a|0;b=b|0;c=+c;Kb[a&31](b|0,+c)}function tF(a,b){a=a|0;b=b|0;Lb[a&511](b|0)}function uF(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;Mb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function vF(a,b,c){a=a|0;b=b|0;c=c|0;Nb[a&127](b|0,c|0)}function wF(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 Ob[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function xF(a,b){a=a|0;b=b|0;return Pb[a&127](b|0)|0}function yF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Qb[a&7](b|0,c|0,+d,e|0)}function zF(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;Rb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function AF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Sb[a&0](b|0,+c,d|0,e|0)}function BF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Tb[a&31](b|0,c|0,d|0,e|0)|0}function CF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Ub[a&15](b|0,+c,d|0)}function DF(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+Vb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function EF(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;Wb[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function FF(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+Xb[a&15](b|0,c|0,d|0,e|0,f|0)}function GF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Yb[a&31](b|0,c|0,d|0)|0}function HF(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;Zb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function IF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return _b[a&7](b|0,c|0,+d)|0}function JF(a,b){a=a|0;b=b|0;return+$b[a&15](b|0)}function KF(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 ac[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function LF(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+bc[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function MF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;cc[a&0](b|0,c|0,+d,e|0,f|0)}function NF(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;dc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function OF(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;ec[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function PF(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;fc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function QF(a,b,c){a=a|0;b=b|0;c=c|0;return gc[a&31](b|0,c|0)|0}function RF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return+hc[a&15](b|0,c|0,d|0)}function SF(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+ic[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function TF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;jc[a&1](b|0,c|0,d|0,e|0,+f)}function UF(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+kc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function VF(a,b,c){a=a|0;b=b|0;c=+c;return+lc[a&1](b|0,+c)}function WF(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;mc[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function XF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return+nc[a&3](b|0,c|0,+d,e|0,f|0)}function YF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return+oc[a&1](b|0,c|0,d|0,e|0)}function ZF(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 pc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function _F(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;qc[a&15](b|0,c|0,d|0,+e)}function $F(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rc[a&127](b|0,c|0,d|0)}function aG(a){a=a|0;sc[a&3]()}function bG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;tc[a&7](b|0,c|0,+d)}function cG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return uc[a&1](b|0,+c,d|0,+e)|0}function dG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;vc[a&127](b|0,c|0,d|0,e|0)}function eG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ba(0)}function fG(a,b){a=a|0;b=+b;ba(1)}function gG(a){a=a|0;ba(2)}function hG(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 iG(a,b){a=a|0;b=b|0;ba(4)}function jG(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 kG(a){a=a|0;ba(6);return 0}function lG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ba(7)}function mG(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 nG(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ba(9)}function oG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(10);return 0}function pG(a,b,c){a=a|0;b=+b;c=c|0;ba(11)}function qG(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 rG(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 sG(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 tG(a,b,c){a=a|0;b=b|0;c=c|0;ba(15);return 0}function uG(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(16)}function vG(a,b,c){a=a|0;b=b|0;c=+c;ba(17);return 0}function wG(a){a=a|0;ba(18);return 0.0}function xG(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(19);return 0}function yG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ba(20);return 0.0}function zG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(21)}function AG(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(22)}function BG(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(23)}function CG(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(24)}function DG(a,b){a=a|0;b=b|0;ba(25);return 0}function EG(a,b,c){a=a|0;b=b|0;c=c|0;ba(26);return 0.0}function FG(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(27);return 0.0}function GG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ba(28)}function HG(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(29);return 0.0}function IG(a,b){a=a|0;b=+b;ba(30);return 0.0}function JG(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(31)}function KG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ba(32);return 0.0}function LG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(33);return 0.0}function MG(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(34);return 0}function NG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ba(35)}function OG(a,b,c){a=a|0;b=b|0;c=c|0;ba(36)}function PG(){ba(37)}function QG(){Hb()}function RG(a,b,c){a=a|0;b=b|0;c=+c;ba(38)}function SG(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ba(39);return 0}function TG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ba(40)} - +function uc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function vc(){return i|0}function wc(a){a=a|0;i=a}function xc(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function yc(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 zc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Ac(a){a=a|0;D=a}function Bc(){return D|0}function Cc(a){a=a|0;return 52}function Dc(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;var e=0.0,f=0.0,h=0.0;e=+R(+b);f=+R(+c);h=+R(+d);b=+S(+b);c=+S(+c);d=+S(+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 Ec(a,b){a=a|0;b=b|0;var c=0;c=i;Fc(a,b);i=c;return}function Fc(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,h=0,j=0.0,k=0,l=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){d=+P(+(d+e+f+1.0));g[h+12>>2]=d*.5;j=(+g[a+36>>2]-+g[a+24>>2])*(.5/d);g[h>>2]=j;f=(+g[a+8>>2]-+g[a+32>>2])*(.5/d);g[h+4>>2]=f;e=(+g[a+16>>2]-+g[a+4>>2])*(.5/d);g[h+8>>2]=e;d=d*.5;g[b>>2]=j;c=b+4|0;g[c>>2]=f;c=b+8|0;g[c>>2]=e;c=b+12|0;g[c>>2]=d;i=h;return}if(d>>0)%3|0;k=((c+2|0)>>>0)%3|0;j=+P(+(+g[a+(c<<4)+(c<<2)>>2]-+g[a+(l<<4)+(l<<2)>>2]-+g[a+(k<<4)+(k<<2)>>2]+1.0));g[h+(c<<2)>>2]=j*.5;g[h+12>>2]=(+g[a+(k<<4)+(l<<2)>>2]-+g[a+(l<<4)+(k<<2)>>2])*(.5/j);g[h+(l<<2)>>2]=(+g[a+(l<<4)+(c<<2)>>2]+ +g[a+(c<<4)+(l<<2)>>2])*(.5/j);g[h+(k<<2)>>2]=(+g[a+(k<<4)+(c<<2)>>2]+ +g[a+(c<<4)+(k<<2)>>2])*(.5/j);j=+g[h>>2];f=+g[h+4>>2];e=+g[h+8>>2];d=+g[h+12>>2];g[b>>2]=j;c=b+4|0;g[c>>2]=f;c=b+8|0;g[c>>2]=e;c=b+12|0;g[c>>2]=d;i=h;return}function Gc(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Hc(){var a=0,d=0,e=0;d=i;a=QE(8)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(8)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(0);e=a;c[e>>2]=0;c[e+4>>2]=0;b[a+4>>1]=1;b[a+6>>1]=-1;c[a>>2]=1032;i=d;return a|0}function Ic(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0.0,l=0;l=i;k=+Tb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,j);i=l;return +k}function Jc(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(95)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}sx(d,a,b,1);i=e;return d|0}function Lc(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;hb(a|0)|0;if(qb(20632,3)|0)lE(20640,b);a=ob(c[5156]|0)|0;if(((a|0)!=0?(d=c[a>>2]|0,(d|0)!=0):0)?((c[d+52>>2]|0)==1129074247?(c[d+48>>2]&-256|0)==1126902528:0):0)pE(c[d+12>>2]|0);a=c[5112]|0;c[5112]=a+0;pE(a)}function Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(95)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}sx(e,a,b,d);i=f;return e|0}function Nc(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Oc(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Pc(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Qc(){var a=0,b=0;b=i;a=QE(196)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(196)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(0);TB(a,0);i=b;return a|0}function Rc(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Sc(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Tc(){var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(215)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}c[b>>2]=3976;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;i=d;return b|0}function Uc(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Vc(a){a=a|0;return +(+g[a>>2])}function Wc(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Xc(a){a=a|0;return c[a+4>>2]|0}function Yc(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Zc(a){a=a|0;return c[a+8>>2]|0}function _c(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function $c(a){a=a|0;return +(+g[a+12>>2])}function ad(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function bd(b){b=b|0;return (a[b+16>>0]&1)!=0|0}function cd(b,c){b=b|0;c=c|0;a[b+16>>0]=c&1;return}function dd(b){b=b|0;return (a[b+24>>0]&1)!=0|0}function ed(b,c){b=b|0;c=c|0;a[b+24>>0]=c&1;return}function fd(b){b=b|0;return (a[b+25>>0]&1)!=0|0}function gd(b,c){b=b|0;c=c|0;a[b+25>>0]=c&1;return}function hd(b){b=b|0;return (a[b+26>>0]&1)!=0|0}function id(b,c){b=b|0;c=c|0;a[b+26>>0]=c&1;return}function jd(a){a=a|0;return +(+g[a+28>>2])}function kd(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function ld(b){b=b|0;return (a[b+32>>0]&1)!=0|0}function md(b,c){b=b|0;c=c|0;a[b+32>>0]=c&1;return}function nd(a){a=a|0;return +(+g[a+36>>2])}function od(a,b){a=a|0;b=+b;g[a+36>>2]=b;return}function pd(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function qd(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(75)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=14096;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;i=e;return d|0}function rd(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function sd(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function td(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function ud(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function vd(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(135)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}MA(d,a,b,16384,0,0);i=e;return d|0}function wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(135)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}MA(e,a,b,d&65535,0,0);i=f;return e|0}function xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;c[5108]=(c[5108]|0)+1;f=QE(135)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}MA(f,a,b,d&65535,e,0);i=g;return f|0}function yd(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;c[5108]=(c[5108]|0)+1;g=QE(135)|0;if(!g)g=0;else{c[(g+19&-16)+-4>>2]=g;g=g+19&-16}MA(g,a,b,d&65535,e,f);i=h;return g|0}function zd(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ad(){var b=0,d=0,e=0,f=0;e=i;c[5108]=(c[5108]|0)+1;b=QE(307)|0;if(!b)d=0;else{c[(b+19&-16)+-4>>2]=b;d=b+19&-16}g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;b=d+188|0;c[b+0>>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+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g[d+4>>2]=1.0;b=d+8|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g[d+24>>2]=1.0;b=d+28|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;g[d+44>>2]=1.0;b=d+48|0;c[b+0>>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]=5464;c[5108]=(c[5108]|0)+1;b=QE(95)|0;if(!b){f=0;b=d+284|0;c[b>>2]=f;i=e;return d|0}c[(b+19&-16)+-4>>2]=b;if(!(b+19&-16)){f=0;b=d+284|0;c[b>>2]=f;i=e;return d|0}wB(b+19&-16);f=b+19&-16;b=d+284|0;c[b>>2]=f;i=e;return d|0}function Bd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+164>>2]=c[b+0>>2];c[a+168>>2]=c[b+4>>2];c[a+172>>2]=c[b+8>>2];c[a+176>>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;b=a+180|0;c[b>>2]=d;i=e;return}b=a+180|0;c[b>>2]=d;i=e;return}function Cd(a){a=a|0;return c[a+192>>2]|0}function Dd(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Ed(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[a+216>>2]&-2|0)==4){i=d;return}c[a+216>>2]=b;i=d;return}function Fd(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Gd(a){a=a|0;var b=0;b=i;if(c[a+204>>2]&3){i=b;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function Hd(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function Id(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}function Jd(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function Kd(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function Ld(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function Md(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function Nd(a){a=a|0;return a+4|0}function Od(a){a=a|0;return c[a+204>>2]|0}function Pd(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Qd(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];return}function Rd(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function Sd(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function Td(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function Ud(a){a=a|0;return c[a+268>>2]|0}function Vd(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function Wd(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function Xd(b,d,e){b=+b;d=d|0;e=e|0;var f=0,h=0;h=i;f=QE(140)|0;a:do if(!f){while(1){f=c[5230]|0;c[5230]=f+0;if(!f)break;qc[f&3]();f=QE(140)|0;if(f)break a}f=yb(4)|0;c[f>>2]=20816;wb(f|0,20864,207)}while(0);g[f>>2]=b;c[f+4>>2]=d;c[f+72>>2]=e;d=f+76|0;c[d+0>>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;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;Sn(f+8|0);i=h;return f|0}function Yd(b,d,e,f){b=+b;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;h=QE(140)|0;a:do if(!h){while(1){h=c[5230]|0;c[5230]=h+0;if(!h)break;qc[h&3]();h=QE(140)|0;if(h)break a}h=yb(4)|0;c[h>>2]=20816;wb(h|0,20864,207)}while(0);g[h>>2]=b;c[h+4>>2]=d;c[h+72>>2]=e;d=h+76|0;c[d+0>>2]=c[f+0>>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];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;Sn(h+8|0);i=j;return h|0}function Zd(a){a=a|0;return +(+g[a+92>>2])}function _d(a,b){a=a|0;b=+b;g[a+92>>2]=b;return}function $d(a){a=a|0;return +(+g[a+96>>2])}function ae(a,b){a=a|0;b=+b;g[a+96>>2]=b;return}function be(a){a=a|0;return +(+g[a+100>>2])}function ce(a,b){a=a|0;b=+b;g[a+100>>2]=b;return}function de(a){a=a|0;return +(+g[a+104>>2])}function ee(a,b){a=a|0;b=+b;g[a+104>>2]=b;return}function fe(a){a=a|0;return +(+g[a+108>>2])}function ge(a,b){a=a|0;b=+b;g[a+108>>2]=b;return}function he(a){a=a|0;return +(+g[a+112>>2])}function ie(a,b){a=a|0;b=+b;g[a+112>>2]=b;return}function je(a){a=a|0;return +(+g[a+116>>2])}function ke(a,b){a=a|0;b=+b;g[a+116>>2]=b;return}function le(b){b=b|0;return (a[b+120>>0]&1)!=0|0}function me(b,c){b=b|0;c=c|0;a[b+120>>0]=c&1;return}function ne(a){a=a|0;return +(+g[a+124>>2])}function oe(a,b){a=a|0;b=+b;g[a+124>>2]=b;return}function pe(a){a=a|0;return +(+g[a+128>>2])}function qe(a,b){a=a|0;b=+b;g[a+128>>2]=b;return}function re(a){a=a|0;return +(+g[a+132>>2])}function se(a,b){a=a|0;b=+b;g[a+132>>2]=b;return}function te(a){a=a|0;return +(+g[a+136>>2])}function ue(a,b){a=a|0;b=+b;g[a+136>>2]=b;return}function ve(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function we(a){a=a|0;return a+48|0}function xe(a){a=a|0;return a+32|0}function ye(a){a=a|0;return +(+g[a+80>>2])}function ze(a){a=a|0;return a|0}function Ae(a,b){a=a|0;b=b|0;c[a+0>>2]=c[b+0>>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 Be(a){a=a|0;return a+16|0}function Ce(a,b){a=a|0;b=b|0;c[a+16>>2]=c[b+0>>2];c[a+20>>2]=c[b+4>>2];c[a+24>>2]=c[b+8>>2];c[a+28>>2]=c[b+12>>2];return}function De(a){a=a|0;return a+32|0}function Ee(a,b){a=a|0;b=b|0;c[a+32>>2]=c[b+0>>2];c[a+36>>2]=c[b+4>>2];c[a+40>>2]=c[b+8>>2];c[a+44>>2]=c[b+12>>2];return}function Fe(a){a=a|0;return a+48|0}function Ge(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b+0>>2];c[a+52>>2]=c[b+4>>2];c[a+56>>2]=c[b+8>>2];c[a+60>>2]=c[b+12>>2];return}function He(a){a=a|0;return a+64|0}function Ie(a,b){a=a|0;b=b|0;c[a+64>>2]=c[b+0>>2];c[a+68>>2]=c[b+4>>2];c[a+72>>2]=c[b+8>>2];c[a+76>>2]=c[b+12>>2];return}function Je(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(1331)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}Aq(e,a,b,d);i=f;return e|0}function Le(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;c[5108]=(c[5108]|0)+1;g=QE(1331)|0;if(!g)g=0;else{c[(g+19&-16)+-4>>2]=g;g=g+19&-16}zq(g,a,b,d,e,f);i=h;return g|0}function Me(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b+0>>2];c[a+684>>2]=c[b+4>>2];c[a+688>>2]=c[b+8>>2];c[a+692>>2]=c[b+12>>2];return}function Ne(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b+0>>2];c[a+700>>2]=c[b+4>>2];c[a+704>>2]=c[b+8>>2];c[a+708>>2]=c[b+12>>2];return}function Oe(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;d=0;while(1){if((d|0)==3)break;c=+SE(+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+(d<<6)+868>>2]=c;d=d+1|0}i=e;return}function Pe(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;d=0;while(1){if((d|0)==3)break;c=+SE(+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+(d<<6)+872>>2]=c;d=d+1|0}i=e;return}function Qe(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Re(a){a=a|0;return +(+g[a+16>>2])}function Se(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function Te(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ue(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ve(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function We(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+164>>2]=c[b+0>>2];c[a+168>>2]=c[b+4>>2];c[a+172>>2]=c[b+8>>2];c[a+176>>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;b=a+180|0;c[b>>2]=d;i=e;return}b=a+180|0;c[b>>2]=d;i=e;return}function Xe(a){a=a|0;return c[a+192>>2]|0}function Ye(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Ze(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[a+216>>2]&-2|0)==4){i=d;return}c[a+216>>2]=b;i=d;return}function _e(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function $e(a){a=a|0;var b=0;b=i;if(c[a+204>>2]&3){i=b;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function af(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function bf(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}function cf(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function df(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function ef(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function ff(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function gf(a){a=a|0;return a+4|0}function hf(a){a=a|0;return c[a+204>>2]|0}function jf(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function kf(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];return}function lf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function mf(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function nf(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function of(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function pf(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;m=i;c[5108]=(c[5108]|0)+1;f=QE(343)|0;if(!f)l=0;else{c[(f+19&-16)+-4>>2]=f;l=f+19&-16}a[l+20>>0]=1;c[l+16>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+24>>2]=b;g[l+28>>2]=0.0;c[l+32>>2]=0;c[l+36>>2]=1;g[l+40>>2]=1.0;a[l+44>>0]=1;c[l+48>>2]=0;a[l+52>>0]=0;a[l+53>>0]=1;a[l+54>>0]=1;g[l+56>>2]=.03999999910593033;a[l+60>>0]=0;g[l+64>>2]=0.0;c[l+68>>2]=d;c[l+72>>2]=0;a[l+76>>0]=1;c[l+80>>2]=0;c[l+84>>2]=0;c[l+88>>2]=0;g[l+92>>2]=.6000000238418579;g[l+96>>2]=1.0;g[l+100>>2]=.30000001192092896;g[l+104>>2]=.01666666753590107;g[l+108>>2]=0.0;g[l+116>>2]=20.0;c[l+112>>2]=10;g[l+124>>2]=.20000000298023224;g[l+128>>2]=.800000011920929;g[l+132>>2]=0.0;g[l+120>>2]=1.0;c[l+136>>2]=1;g[l+140>>2]=-.03999999910593033;g[l+144>>2]=.10000000149011612;g[l+148>>2]=0.0;g[l+152>>2]=.8500000238418579;c[l+156>>2]=260;c[l+160>>2]=2;c[l+164>>2]=128;g[l+168>>2]=100.0;g[l+172>>2]=1000000015047466219876688.0e6;c[l>>2]=1568;a[l+192>>0]=1;c[l+188>>2]=0;c[l+180>>2]=0;c[l+184>>2]=0;k=l+196|0;c[k>>2]=0;j=l+200|0;c[j>>2]=e;a[l+224>>0]=1;c[l+220>>2]=0;c[l+212>>2]=0;c[l+216>>2]=0;a[l+244>>0]=1;c[l+240>>2]=0;c[l+232>>2]=0;c[l+236>>2]=0;g[l+248>>2]=0.0;g[l+252>>2]=-10.0;f=l+256|0;a[l+274>>0]=0;a[l+275>>0]=0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[l+292>>0]=1;c[l+288>>2]=0;c[l+280>>2]=0;c[l+284>>2]=0;c[l+296>>2]=0;a[l+300>>0]=1;a[l+320>>0]=1;c[l+316>>2]=0;c[l+308>>2]=0;c[l+312>>2]=0;if(!e){c[5108]=(c[5108]|0)+1;f=QE(215)|0;if(!f)d=0;else{c[(f+19&-16)+-4>>2]=f;d=f+19&-16}c[d>>2]=3976;a[d+20>>0]=1;c[d+16>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;a[d+40>>0]=1;c[d+36>>2]=0;c[d+28>>2]=0;c[d+32>>2]=0;a[d+60>>0]=1;c[d+56>>2]=0;c[d+48>>2]=0;c[d+52>>2]=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;a[d+160>>0]=1;c[d+156>>2]=0;c[d+148>>2]=0;c[d+152>>2]=0;a[d+180>>0]=1;c[d+176>>2]=0;c[d+168>>2]=0;c[d+172>>2]=0;c[d+192>>2]=0;c[j>>2]=d;a[l+273>>0]=1}else a[l+273>>0]=0;c[5108]=(c[5108]|0)+1;f=QE(87)|0;if((f|0)!=0?(h=f+19&-16,c[h+-4>>2]=f,(f+19&-16|0)!=0):0){c[(f+19&-16)>>2]=6920;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;a[h+64>>0]=1;f=f+19&-16}else f=0;c[l+204>>2]=f;a[l+272>>0]=1;c[5108]=(c[5108]|0)+1;d=QE(107)|0;if(!d){f=0;c[k>>2]=f;i=m;return l|0}f=d+19&-16;c[f+-4>>2]=d;if(!(d+19&-16)){f=0;c[k>>2]=f;i=m;return l|0}e=c[j>>2]|0;c[(d+19&-16)>>2]=2376;c[f+4>>2]=0;c[f+8>>2]=e;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=b;a[f+44>>0]=1;c[f+40>>2]=0;c[f+32>>2]=0;c[f+36>>2]=0;a[f+64>>0]=1;c[f+60>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;a[f+84>>0]=1;c[f+80>>2]=0;c[f+72>>2]=0;c[f+76>>2]=0;f=d+19&-16;c[k>>2]=f;i=m;return l|0}function qf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+72>>2]&127](a,b);i=d;return}function rf(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[24]|0)==0?(Xa(24)|0)!=0:0)ab(24);Lb[c[(c[b>>2]|0)+76>>2]&127](d,b);c[2]=c[d+0>>2];c[3]=c[d+4>>2];c[4]=c[d+8>>2];c[5]=c[d+12>>2];i=d;return 8}function sf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+84>>2]&127](a,b);i=d;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+88>>2]&127](a,b,d,e);i=f;return}function uf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+92>>2]&127](a,b);i=d;return}function vf(a,b){a=a|0;b=b|0;var d=0;d=i;pc[c[(c[a>>2]|0)+56>>2]&127](a,b,0);i=d;return}function wf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;pc[c[(c[a>>2]|0)+56>>2]&127](a,b,d);i=e;return}function xf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+60>>2]&127](a,b);i=d;return}function yf(a,b){a=a|0;b=+b;var d=0;d=i;a=sc[c[(c[a>>2]|0)+52>>2]&1](a,b,1,.01666666753590107)|0;i=d;return a|0}function zf(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;d=sc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,.01666666753590107)|0;i=e;return d|0}function Af(a,b,d,e){a=a|0;b=+b;d=d|0;e=+e;var f=0;f=i;d=sc[c[(c[a>>2]|0)+52>>2]&1](a,b,d,e)|0;i=f;return d|0}function Bf(a){a=a|0;return c[a+24>>2]|0}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function Df(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Nb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function Ef(a){a=a|0;return a+28|0}function Ff(a,b){a=a|0;b=b|0;var d=0;d=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,2,-3);i=d;return}function Gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-3);i=e;return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function If(a){a=a|0;return c[a+68>>2]|0}function Jf(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;_u(a,b,c,d,e,f);i=g;return}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;$u(a,b,c,d);i=e;return}function Lf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function Mf(b){b=b|0;var d=0,e=0,f=0;f=i;if((a[120]|0)==0?(Xa(120)|0)!=0:0){g[8]=.6000000238418579;g[9]=1.0;g[10]=.30000001192092896;g[11]=.01666666753590107;g[12]=0.0;g[14]=20.0;c[13]=10;g[16]=.20000000298023224;g[17]=.800000011920929;g[18]=0.0;g[15]=1.0;c[19]=1;g[20]=-.03999999910593033;g[21]=.10000000149011612;g[22]=0.0;g[23]=.8500000238418579;c[24]=260;c[25]=2;c[26]=128;g[27]=100.0;g[28]=1000000015047466219876688.0e6;ab(120)}e=32;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));i=f;return 32}function Nf(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Of(b){b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(115)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+52>>2]=0;g[d+56>>2]=1.0;g[d+60>>2]=1.0;g[d+64>>2]=1.0;g[d+68>>2]=0.0;g[d+72>>2]=-1.0;g[d+76>>2]=-1.0;g[d+80>>2]=-1.0;g[d+84>>2]=0.0;a[d+88>>0]=0;c[d>>2]=14600;c[d+92>>2]=b;c[d+4>>2]=3;oy(d);i=e;return d|0}function Pf(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(115)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[e+8>>2]=0;g[e+12>>2]=1.0;g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+44>>2]=.03999999910593033;c[e+52>>2]=0;g[e+56>>2]=1.0;g[e+60>>2]=1.0;g[e+64>>2]=1.0;g[e+68>>2]=0.0;g[e+72>>2]=-1.0;g[e+76>>2]=-1.0;g[e+80>>2]=-1.0;g[e+84>>2]=0.0;a[e+88>>0]=0;c[e>>2]=14600;c[e+92>>2]=b;c[e+4>>2]=3;if(!d){i=f;return e|0}oy(e);i=f;return e|0}function Qf(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Rf(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Sf(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Tf(a){a=a|0;return +g[a+4>>2]<1.0|0}function Uf(a){a=a|0;return b[a+8>>1]|0}function Vf(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function Wf(a){a=a|0;return b[a+10>>1]|0}function Xf(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function Yf(a){a=a|0;return +(+g[a+4>>2])}function Zf(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function _f(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function $f(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;f=i;c[5108]=(c[5108]|0)+1;e=QE(379)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[e+4>>2]=3;c[e>>2]=256;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;ar();c[e+32>>2]=2960;g[e+36>>2]=0.0;g[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=2792;n=e+300|0;c[n+0>>2]=c[d+0>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];m=+g[d>>2];l=+g[d+4>>2];k=+g[d+8>>2];j=m*+g[b+20>>2]+l*+g[b+24>>2]+k*+g[b+28>>2]+ +g[b+56>>2];h=m*+g[b+36>>2]+l*+g[b+40>>2]+k*+g[b+44>>2]+ +g[b+60>>2];g[e+316>>2]=m*+g[b+4>>2]+l*+g[b+8>>2]+k*+g[b+12>>2]+ +g[b+52>>2];g[e+320>>2]=j;g[e+324>>2]=h;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;i=f;return e|0}function ag(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;c[5108]=(c[5108]|0)+1;h=QE(379)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-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]=2792;b=h+300|0;c[b+0>>2]=c[e+0>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=h+316|0;c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+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;i=j;return h|0}function bg(a,b){a=a|0;b=b|0;c[a+300>>2]=c[b+0>>2];c[a+304>>2]=c[b+4>>2];c[a+308>>2]=c[b+8>>2];c[a+312>>2]=c[b+12>>2];return}function cg(a,b){a=a|0;b=b|0;c[a+316>>2]=c[b+0>>2];c[a+320>>2]=c[b+4>>2];c[a+324>>2]=c[b+8>>2];c[a+328>>2]=c[b+12>>2];return}function dg(a){a=a|0;return a+300|0}function eg(a){a=a|0;return a+316|0}function fg(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function gg(a){a=a|0;return +(+g[a+16>>2])}function hg(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function ig(a){a=a|0;return a+348|0}function jg(a,b){a=a|0;b=b|0;c[a+348>>2]=c[b+0>>2];c[a+352>>2]=c[b+4>>2];c[a+356>>2]=c[b+8>>2];return}function kg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function lg(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+8>>2]&127](a,b);i=d;return}function mg(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function ng(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function og(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;h=i;i=i+64|0;c[5108]=(c[5108]|0)+1;f=QE(1147)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}ar();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;k=f+28|0;c[k>>2]=2960;j=f+32|0;c[j>>2]=b;g[f+36>>2]=0.0;g[f+40>>2]=.30000001192092896;c[f+44>>2]=0;c[f>>2]=3592;a[f+48>>0]=0;l=f+116|0;c[l+0>>2]=c[d+0>>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];m=f+132|0;c[m+0>>2]=c[d+16>>2];c[m+4>>2]=c[d+20>>2];c[m+8>>2]=c[d+24>>2];c[m+12>>2]=c[d+28>>2];m=f+148|0;c[m+0>>2]=c[d+32>>2];c[m+4>>2]=c[d+36>>2];c[m+8>>2]=c[d+40>>2];c[m+12>>2]=c[d+44>>2];m=f+164|0;c[m+0>>2]=c[d+48>>2];c[m+4>>2]=c[d+52>>2];c[m+8>>2]=c[d+56>>2];c[m+12>>2]=c[d+60>>2];a[f+180>>0]=e&1;d=f+52|0;ip(h,b+4|0,l);c[d+0>>2]=c[h+0>>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];b=f+68|0;c[b+0>>2]=c[h+16>>2];c[b+4>>2]=c[h+20>>2];c[b+8>>2]=c[h+24>>2];c[b+12>>2]=c[h+28>>2];b=f+84|0;c[b+0>>2]=c[h+32>>2];c[b+4>>2]=c[h+36>>2];c[b+8>>2]=c[h+40>>2];c[b+12>>2]=c[h+44>>2];b=f+100|0;c[b+0>>2]=c[h+48>>2];c[b+4>>2]=c[h+52>>2];c[b+8>>2]=c[h+56>>2];c[b+12>>2]=c[h+60>>2];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;b=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[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+12>>0]=0;a[f+49>>0]=1;cr(f,(c[k>>2]|0)+4|0,(c[j>>2]|0)+4|0);i=h;return f|0}function pg(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;k=i;c[5108]=(c[5108]|0)+1;j=QE(1147)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}c[j+4>>2]=7;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3402823466385288598117041.0e14;a[j+20>>0]=1;a[j+21>>0]=0;c[j+24>>2]=-1;l=j+28|0;c[l>>2]=b;b=j+32|0;c[b>>2]=d;g[j+36>>2]=0.0;g[j+40>>2]=.30000001192092896;c[j+44>>2]=0;c[j>>2]=3592;a[j+48>>0]=0;d=j+52|0;c[d+0>>2]=c[e+0>>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=j+68|0;c[d+0>>2]=c[e+16>>2];c[d+4>>2]=c[e+20>>2];c[d+8>>2]=c[e+24>>2];c[d+12>>2]=c[e+28>>2];d=j+84|0;c[d+0>>2]=c[e+32>>2];c[d+4>>2]=c[e+36>>2];c[d+8>>2]=c[e+40>>2];c[d+12>>2]=c[e+44>>2];d=j+100|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];d=j+116|0;c[d+0>>2]=c[f+0>>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=j+132|0;c[d+0>>2]=c[f+16>>2];c[d+4>>2]=c[f+20>>2];c[d+8>>2]=c[f+24>>2];c[d+12>>2]=c[f+28>>2];d=j+148|0;c[d+0>>2]=c[f+32>>2];c[d+4>>2]=c[f+36>>2];c[d+8>>2]=c[f+40>>2];c[d+12>>2]=c[f+44>>2];d=j+164|0;c[d+0>>2]=c[f+48>>2];c[d+4>>2]=c[f+52>>2];c[d+8>>2]=c[f+56>>2];c[d+12>>2]=c[f+60>>2];a[j+180>>0]=h&1;g[j+184>>2]=1.0;g[j+188>>2]=-1.0;g[j+192>>2]=0.0;g[j+196>>2]=0.0;g[j+200>>2]=1.0;g[j+204>>2]=.699999988079071;g[j+208>>2]=0.0;g[j+212>>2]=0.0;g[j+216>>2]=1.0;g[j+220>>2]=.699999988079071;g[j+224>>2]=0.0;g[j+228>>2]=0.0;g[j+264>>2]=1.0;g[j+268>>2]=.699999988079071;g[j+272>>2]=1.0;g[j+276>>2]=0.0;g[j+280>>2]=1.0;g[j+284>>2]=.699999988079071;g[j+288>>2]=1.0;g[j+292>>2]=0.0;g[j+232>>2]=1.0;g[j+236>>2]=.699999988079071;g[j+240>>2]=1.0;g[j+244>>2]=0.0;g[j+248>>2]=1.0;g[j+252>>2]=.699999988079071;g[j+256>>2]=1.0;g[j+260>>2]=0.0;a[j+1096>>0]=0;d=j+1100|0;g[j+1116>>2]=0.0;g[j+1120>>2]=0.0;g[j+1124>>2]=0.0;c[j+300>>2]=0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;a[d+12>>0]=0;a[j+49>>0]=1;cr(j,(c[l>>2]|0)+4|0,(c[b>>2]|0)+4|0);i=k;return j|0}function qg(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function rg(a,b){a=a|0;b=+b;g[a+188>>2]=b;return}function sg(a,b){a=a|0;b=+b;var c=0;c=i;b=+SE(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;i=c;return}function tg(a,b){a=a|0;b=+b;var c=0;c=i;b=+SE(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;i=c;return}function ug(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function vg(a){a=a|0;return +(+g[a+16>>2])}function wg(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function xg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function yg(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(627)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[e+4>>2]=5;c[e>>2]=256;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;ar();c[e+32>>2]=2960;g[e+36>>2]=0.0;g[e+40>>2]=.30000001192092896;c[e+44>>2]=0;c[e>>2]=3712;k=e+300|0;c[k+0>>2]=c[d+0>>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];j=e+316|0;c[j+0>>2]=c[d+16>>2];c[j+4>>2]=c[d+20>>2];c[j+8>>2]=c[d+24>>2];c[j+12>>2]=c[d+28>>2];h=e+332|0;c[h+0>>2]=c[d+32>>2];c[h+4>>2]=c[d+36>>2];c[h+8>>2]=c[d+40>>2];c[h+12>>2]=c[d+44>>2];b=e+348|0;c[b+0>>2]=c[d+48>>2];c[b+4>>2]=c[d+52>>2];c[b+8>>2]=c[d+56>>2];c[b+12>>2]=c[d+60>>2];b=e+364|0;a[e+527>>0]=0;c[b+0>>2]=c[k+0>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];b=e+380|0;c[b+0>>2]=c[j+0>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];c[b+12>>2]=c[j+12>>2];b=e+396|0;c[b+0>>2]=c[h+0>>2];c[b+4>>2]=c[h+4>>2];c[b+8>>2]=c[h+8>>2];c[b+12>>2]=c[h+12>>2];b=e+412|0;a[e+524>>0]=0;a[e+525>>0]=0;a[e+526>>0]=0;a[e+552>>0]=0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+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;i=f;return e|0}function zg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;c[5108]=(c[5108]|0)+1;h=QE(627)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-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]=3712;b=h+300|0;c[b+0>>2]=c[e+0>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=h+316|0;c[b+0>>2]=c[e+16>>2];c[b+4>>2]=c[e+20>>2];c[b+8>>2]=c[e+24>>2];c[b+12>>2]=c[e+28>>2];b=h+332|0;c[b+0>>2]=c[e+32>>2];c[b+4>>2]=c[e+36>>2];c[b+8>>2]=c[e+40>>2];c[b+12>>2]=c[e+44>>2];b=h+348|0;c[b+0>>2]=c[e+48>>2];c[b+4>>2]=c[e+52>>2];c[b+8>>2]=c[e+56>>2];c[b+12>>2]=c[e+60>>2];b=h+364|0;c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=h+380|0;c[b+0>>2]=c[f+16>>2];c[b+4>>2]=c[f+20>>2];c[b+8>>2]=c[f+24>>2];c[b+12>>2]=c[f+28>>2];b=h+396|0;c[b+0>>2]=c[f+32>>2];c[b+4>>2]=c[f+36>>2];c[b+8>>2]=c[f+40>>2];c[b+12>>2]=c[f+44>>2];b=h+412|0;c[b+0>>2]=c[f+48>>2];c[b+4>>2]=c[f+52>>2];c[b+8>>2]=c[f+56>>2];c[b+12>>2]=c[f+60>>2];b=h+524|0;a[h+552>>0]=0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=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;i=j;return h|0}function Ag(a,b,c){a=a|0;b=b|0;c=+c;var d=0;d=i;if((b|0)==3)g[a+452>>2]=c;else if((b|0)==4)g[a+448>>2]=c;else if((b|0)==5)g[a+444>>2]=c;i=d;return}function Bg(b,c){b=b|0;c=c|0;a[b+524>>0]=c&1;return}function Cg(a,b){a=a|0;b=+b;g[a+440>>2]=b;return}function Dg(b,c){b=b|0;c=c|0;a[b+552>>0]=c&1;return}function Eg(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=0;return}function Fg(b,c){b=b|0;c=+c;g[b+572>>2]=c;a[b+553>>0]=1;return}function Gg(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;Fc(a+364|0,c+16|0);h=-+g[c+16>>2];e=-+g[c+20>>2];m=-+g[c+24>>2];l=+g[c+28>>2];f=+g[b>>2];n=+g[b+12>>2];k=+g[b+8>>2];j=+g[b+4>>2];Fc(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+36>>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+40>>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+44>>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;qr(a,c+32|0);i=c;return}function Hg(a,b){a=a|0;b=b|0;var c=0;c=i;qr(a,b);i=c;return}function Ig(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Jg(a){a=a|0;return +(+g[a+16>>2])}function Kg(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function Lg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Mg(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(95)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d>>2]=11560;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/+P(+(a*a+b*b));i=e;return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Og(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Pg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Qg(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Rg(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Sg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Tg(){var a=0,b=0;b=i;i=i+32|0;a=QE(92)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(92)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=4096;c[b+12>>2]=4096;c[b+16>>2]=0;c[b+20>>2]=1;lt(a,b);i=b;return a|0}function Ug(a){a=a|0;var b=0,d=0;d=i;b=QE(92)|0;a:do if(!b){while(1){b=c[5230]|0;c[5230]=b+0;if(!b)break;qc[b&3]();b=QE(92)|0;if(b)break a}b=yb(4)|0;c[b>>2]=20816;wb(b|0,20864,207)}while(0);lt(b,a);i=d;return b|0}function Vg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Wg(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0.0,l=0;l=i;k=+Tb[c[(c[a>>2]|0)+12>>2]&1](a,b,d,e,f,g,h,j);i=l;return +k}function Xg(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Yg(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(95)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;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/+P(+(a*a+b*b));c[d>>2]=11664;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;i=e;return d|0}function Zg(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function _g(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function $g(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function ah(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(95)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;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/+P(+(a*a+b*b));c[d>>2]=11768;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;i=e;return d|0}function bh(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function ch(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function dh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function eh(){var a=0,b=0;b=i;c[5108]=(c[5108]|0)+1;a=QE(191)|0;if(!a){a=0;BA(a,1,1);i=b;return a|0}c[(a+19&-16)+-4>>2]=a;a=a+19&-16;BA(a,1,1);i=b;return a|0}function fh(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(191)|0;if(!b){b=0;BA(b,a,1);i=d;return b|0}c[(b+19&-16)+-4>>2]=b;b=b+19&-16;BA(b,a,1);i=d;return b|0}function gh(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(191)|0;if(!d){d=0;BA(d,a,b);i=e;return d|0}c[(d+19&-16)+-4>>2]=d;d=d+19&-16;BA(d,a,b);i=e;return d|0}function hh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=c[a+32>>2]|0;c[g>>2]=(c[g>>2]|0)+1;CA(a,DA(a,b,0)|0);CA(a,DA(a,d,0)|0);CA(a,DA(a,e,0)|0);i=f;return}function ih(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=c[a+32>>2]|0;c[h>>2]=(c[h>>2]|0)+1;CA(a,DA(a,b,f)|0);CA(a,DA(a,d,f)|0);CA(a,DA(a,e,f)|0);i=g;return}function jh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function kh(){var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(131)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}c[b+8>>2]=0;g[b+12>>2]=1.0;g[b+16>>2]=1.0;g[b+20>>2]=1.0;g[b+24>>2]=0.0;g[b+44>>2]=.03999999910593033;c[b+52>>2]=0;g[b+56>>2]=1.0;g[b+60>>2]=1.0;g[b+64>>2]=1.0;g[b+68>>2]=0.0;g[b+72>>2]=-1.0;g[b+76>>2]=-1.0;g[b+80>>2]=-1.0;g[b+84>>2]=0.0;a[b+88>>0]=0;c[b>>2]=13808;a[b+108>>0]=1;c[b+104>>2]=0;c[b+100>>2]=0;c[b+4>>2]=4;c[b+96>>2]=0;oy(b);i=d;return b|0}function lh(a,b){a=a|0;b=b|0;var c=0;c=i;Hy(a,b,1);i=c;return}function mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;Hy(a,b,c);i=d;return}function nh(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function oh(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function ph(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function qh(){var b=0,d=0,e=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(791)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}c[b>>2]=1025;c[b+116>>2]=0;a[b+120>>0]=0;e=b+124|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[b+300>>2]=0;a[b+304>>0]=0;e=b+308|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[b+484>>2]=0;a[b+488>>0]=0;e=b+492|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[b+668>>2]=0;a[b+672>>0]=0;e=b+676|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+768>>2]=0;i=d;return b|0}function rh(a){a=a|0;return c[a+740>>2]|0}function sh(a){a=a|0;return c[a+744>>2]|0}function th(a){a=a|0;return c[a+748>>2]|0}function uh(a,b){a=a|0;b=b|0;return a+(b*184|0)+4|0}function vh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function wh(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.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;n=i;c[5108]=(c[5108]|0)+1;b=QE(75)|0;if(!b)m=0;else{c[(b+19&-16)+-4>>2]=b;m=b+19&-16}c[m+8>>2]=0;j=m+12|0;g[j>>2]=1.0;k=m+16|0;g[k>>2]=1.0;l=m+20|0;g[l>>2]=1.0;g[m+24>>2]=0.0;h=m+44|0;g[h>>2]=.03999999910593033;c[m+52>>2]=0;c[m>>2]=14912;c[m+4>>2]=0;d=+g[a>>2];e=+g[a+4>>2];f=+g[a+8>>2];if(d>2]*.10000000149011612;if(d<.03999999910593033){r=+zu(m);f=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);s=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);p=m+28|0;r=r+ +g[p>>2];o=m+32|0;f=f+ +g[o>>2];b=m+36|0;s=s+ +g[b>>2];g[h>>2]=d;q=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);e=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);d=s-+Zb[c[(c[m>>2]|0)+48>>2]&15](m);g[p>>2]=r-q;g[o>>2]=f-e;g[b>>2]=d;g[m+40>>2]=0.0;b=c[m>>2]|0}else b=14912|0;q=+Zb[c[b+48>>2]&15](m);e=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);d=+Zb[c[(c[m>>2]|0)+48>>2]&15](m);e=+g[a+4>>2]*+g[k>>2]-e;d=+g[a+8>>2]*+g[l>>2]-d;g[m+28>>2]=+g[a>>2]*+g[j>>2]-q;g[m+32>>2]=e;g[m+36>>2]=d;g[m+40>>2]=0.0;i=n;return m|0}function xh(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function yh(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function zh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;d=QE(5260)|0;a:do if(!d){while(1){d=c[5230]|0;c[5230]=d+0;if(!d)break;qc[d&3]();d=QE(5260)|0;if(d)break a}d=yb(4)|0;c[d>>2]=20816;wb(d|0,20864,207)}while(0);c[d>>2]=5600;c[d+4>>2]=2;a[d+24>>0]=1;c[d+20>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+28>>2]=7888;f=d+5256|0;c[f>>2]=b;c[d+60>>2]=70;c[d+64>>2]=Nb[c[(c[b>>2]|0)+12>>2]&127](b)|0;c[d+68>>2]=Nb[c[(c[b>>2]|0)+8>>2]&127](b)|0;e=0;do{b=0;do{h=c[f>>2]|0;c[d+(e*144|0)+(b<<2)+72>>2]=Wb[c[(c[h>>2]|0)+16>>2]&63](h,e,b)|0;b=b+1|0}while((b|0)<36);e=e+1|0}while((e|0)<36);i=g;return d|0}function Bh(a){a=a|0;var b=0;b=i;a=Nb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function Ch(a,b){a=a|0;b=b|0;var d=0;d=i;b=ec[c[(c[a>>2]|0)+40>>2]&31](a,b)|0;i=d;return b|0}function Dh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Eh(){var a=0,b=0;b=i;a=QE(24)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(24)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(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;i=b;return a|0}function Fh(a){a=a|0;return +(+g[a>>2])}function Gh(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Hh(a){a=a|0;return +(+g[a+4>>2])}function Ih(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Jh(a){a=a|0;return +(+g[a+8>>2])}function Kh(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Lh(a){a=a|0;return +(+g[a+12>>2])}function Mh(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Nh(a){a=a|0;return +(+g[a+16>>2])}function Oh(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function Ph(a){a=a|0;return +(+g[a+20>>2])}function Qh(a,b){a=a|0;b=+b;g[a+20>>2]=b;return}function Rh(){var a=0,b=0;b=i;c[5108]=(c[5108]|0)+1;a=QE(111)|0;if(!a){a=0;Ew(a,1);i=b;return a|0}c[(a+19&-16)+-4>>2]=a;a=a+19&-16;Ew(a,1);i=b;return a|0}function Sh(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(111)|0;if(!b){b=0;Ew(b,a);i=d;return b|0}c[(b+19&-16)+-4>>2]=b;b=b+19&-16;Ew(b,a);i=d;return b|0}function Th(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+0>>2]=c[d+0>>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+20>>2]=c[d+20>>2];c[p+24>>2]=c[d+24>>2];c[p+28>>2]=c[d+28>>2];c[p+32>>2]=c[d+32>>2];c[p+36>>2]=c[d+36>>2];c[p+40>>2]=c[d+40>>2];c[p+44>>2]=c[d+44>>2];c[p+48>>2]=c[d+48>>2];c[p+52>>2]=c[d+52>>2];c[p+56>>2]=c[d+56>>2];c[p+60>>2]=c[d+60>>2];n=c[e+4>>2]|0;o=+Zb[c[(c[e>>2]|0)+48>>2]&15](e);tc[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+116>>2];if(+g[b+36>>2]>f)g[b+36>>2]=f;f=+g[p+100>>2];if(+g[b+52>>2]>2]=f;f=+g[p+120>>2];if(+g[b+40>>2]>f)g[b+40>>2]=f;f=+g[p+104>>2];if(+g[b+56>>2]>2]=f;l=c[b+64>>2]|0;if(!l){l=0;k=b+16|0}else{c[p+64>>2]=c[p+112>>2];c[p+68>>2]=c[p+116>>2];c[p+72>>2]=c[p+120>>2];c[p+76>>2]=c[p+124>>2];c[p+80>>2]=c[p+96>>2];c[p+84>>2]=c[p+100>>2];c[p+88>>2]=c[p+104>>2];c[p+92>>2]=c[p+108>>2];k=c[b+16>>2]|0;d=c[l+4>>2]|0;if(!d){c[5108]=(c[5108]|0)+1;h=QE(63)|0;if((h|0)!=0?(c[(h+19&-16)+-4>>2]=h,(h+19&-16|0)!=0):0){j=(h+19&-16)+0|0;d=j+44|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(d|0));d=h+19&-16}else d=0}else c[l+4>>2]=0;c[d+32>>2]=0;c[d+36>>2]=k;c[d+40>>2]=0;c[d+0>>2]=c[p+64>>2];c[d+4>>2]=c[p+68>>2];c[d+8>>2]=c[p+72>>2];c[d+12>>2]=c[p+76>>2];c[d+16>>2]=c[p+80>>2];c[d+20>>2]=c[p+84>>2];c[d+24>>2]=c[p+88>>2];c[d+28>>2]=c[p+92>>2];EC(l,c[l>>2]|0,d);c[l+12>>2]=(c[l+12>>2]|0)+1;l=d;k=b+16|0}d=c[k>>2]|0;if((d|0)==(c[b+20>>2]|0)?(m=(d|0)==0?1:d<<1,(d|0)<(m|0)):0){if(!m)h=0;else{c[5108]=(c[5108]|0)+1;d=QE((m*80|3)+16|0)|0;if(!d)h=0;else{c[(d+19&-16)+-4>>2]=d;h=d+19&-16}d=c[k>>2]|0}if((d|0)>0){j=0;do{q=h+(j*80|0)|0;r=c[b+24>>2]|0;s=r+(j*80|0)|0;c[q+0>>2]=c[s+0>>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=h+(j*80|0)+16|0;s=r+(j*80|0)+16|0;c[q+0>>2]=c[s+0>>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=h+(j*80|0)+32|0;s=r+(j*80|0)+32|0;c[q+0>>2]=c[s+0>>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=h+(j*80|0)+48|0;s=r+(j*80|0)+48|0;c[q+0>>2]=c[s+0>>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=h+(j*80|0)+64|0;r=r+(j*80|0)+64|0;c[q+0>>2]=c[r+0>>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];j=j+1|0}while((j|0)!=(d|0))}d=c[b+24>>2]|0;if(d){if(a[b+28>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=h;c[b+20>>2]=m;d=c[k>>2]|0}b=c[b+24>>2]|0;m=b+(d*80|0)|0;c[m+0>>2]=c[p+0>>2];c[m+4>>2]=c[p+4>>2];c[m+8>>2]=c[p+8>>2];c[m+12>>2]=c[p+12>>2];m=b+(d*80|0)+16|0;c[m+0>>2]=c[p+16>>2];c[m+4>>2]=c[p+20>>2];c[m+8>>2]=c[p+24>>2];c[m+12>>2]=c[p+28>>2];m=b+(d*80|0)+32|0;c[m+0>>2]=c[p+32>>2];c[m+4>>2]=c[p+36>>2];c[m+8>>2]=c[p+40>>2];c[m+12>>2]=c[p+44>>2];m=b+(d*80|0)+48|0;c[m+0>>2]=c[p+48>>2];c[m+4>>2]=c[p+52>>2];c[m+8>>2]=c[p+56>>2];c[m+12>>2]=c[p+60>>2];b=b+(d*80|0)+64|0;c[b>>2]=e;c[b+4>>2]=n;g[b+8>>2]=o;c[b+12>>2]=l;c[k>>2]=(c[k>>2]|0)+1;i=p;return}function Uh(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Vh(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Wh(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Xh(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;f=i;e=QE(80)|0;a:do if(!e){while(1){e=c[5230]|0;c[5230]=e+0;if(!e)break;qc[e&3]();e=QE(80)|0;if(e)break a}e=yb(4)|0;c[e>>2]=20816;wb(e|0,20864,207)}while(0);g[e+4>>2]=1.0;b[e+8>>1]=1;b[e+10>>1]=-1;c[e>>2]=880;h=e+12|0;c[h+0>>2]=c[a+0>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=e+28|0;c[a+0>>2]=c[d+0>>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];c[e+76>>2]=0;i=f;return e|0}function Yh(a){a=a|0;return +g[a+4>>2]<1.0|0}function Zh(a){a=a|0;return a+12|0}function _h(a,b){a=a|0;b=b|0;c[a+12>>2]=c[b+0>>2];c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+8>>2];c[a+24>>2]=c[b+12>>2];return}function $h(a){a=a|0;return a+28|0}function ai(a,b){a=a|0;b=b|0;c[a+28>>2]=c[b+0>>2];c[a+32>>2]=c[b+4>>2];c[a+36>>2]=c[b+8>>2];c[a+40>>2]=c[b+12>>2];return}function bi(a){a=a|0;return a+44|0}function ci(a,b){a=a|0;b=b|0;c[a+44>>2]=c[b+0>>2];c[a+48>>2]=c[b+4>>2];c[a+52>>2]=c[b+8>>2];c[a+56>>2]=c[b+12>>2];return}function di(a){a=a|0;return a+60|0}function ei(a,b){a=a|0;b=b|0;c[a+60>>2]=c[b+0>>2];c[a+64>>2]=c[b+4>>2];c[a+68>>2]=c[b+8>>2];c[a+72>>2]=c[b+12>>2];return}function fi(a){a=a|0;return b[a+8>>1]|0}function gi(a,c){a=a|0;c=c|0;b[a+8>>1]=c;return}function hi(a){a=a|0;return b[a+10>>1]|0}function ii(a,c){a=a|0;c=c|0;b[a+10>>1]=c;return}function ji(a){a=a|0;return +(+g[a+4>>2])}function ki(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function li(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function mi(){var a=0,b=0;b=i;c[5108]=(c[5108]|0)+1;a=QE(219)|0;if(!a)a=0;else{c[(a+19&-16)+-4>>2]=a;a=a+19&-16}ni();ni();oi(a,744,744);i=b;return a|0}function ni(){var b=0;b=i;if(a[808]|0){i=b;return}if(!(Xa(808)|0)){i=b;return}if((a[864]|0)==0?(Xa(864)|0)!=0:0){g[204]=1.0;c[205]=0;c[206]=0;c[207]=0;c[208]=0;g[209]=1.0;c[210]=0;c[211]=0;c[212]=0;c[213]=0;g[214]=1.0;g[215]=0.0;ab(864)};c[186]=c[204];c[187]=c[205];c[188]=c[206];c[189]=c[207];c[190]=c[208];c[191]=c[209];c[192]=c[210];c[193]=c[211];c[194]=c[212];c[195]=c[213];c[196]=c[214];c[197]=c[215];c[198]=0;c[199]=0;c[200]=0;c[201]=0;ab(808);i=b;return}function oi(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=664;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];c[a+68>>2]=c[d+0>>2];c[a+72>>2]=c[d+4>>2];c[a+76>>2]=c[d+8>>2];c[a+80>>2]=c[d+12>>2];c[a+84>>2]=c[d+16>>2];c[a+88>>2]=c[d+20>>2];c[a+92>>2]=c[d+24>>2];c[a+96>>2]=c[d+28>>2];c[a+100>>2]=c[d+32>>2];c[a+104>>2]=c[d+36>>2];c[a+108>>2]=c[d+40>>2];c[a+112>>2]=c[d+44>>2];c[a+116>>2]=c[d+48>>2];c[a+120>>2]=c[d+52>>2];c[a+124>>2]=c[d+56>>2];c[a+128>>2]=c[d+60>>2];c[a+132>>2]=c[b+0>>2];c[a+136>>2]=c[b+4>>2];c[a+140>>2]=c[b+8>>2];c[a+144>>2]=c[b+12>>2];c[a+148>>2]=c[b+16>>2];c[a+152>>2]=c[b+20>>2];c[a+156>>2]=c[b+24>>2];c[a+160>>2]=c[b+28>>2];c[a+164>>2]=c[b+32>>2];c[a+168>>2]=c[b+36>>2];c[a+172>>2]=c[b+40>>2];c[a+176>>2]=c[b+44>>2];c[a+180>>2]=c[b+48>>2];c[a+184>>2]=c[b+52>>2];c[a+188>>2]=c[b+56>>2];c[a+192>>2]=c[b+60>>2];c[a+196>>2]=0;return}function pi(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(219)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}ni();oi(b,a,744);i=d;return b|0}function qi(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(219)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}oi(d,a,b);i=e;return d|0}function ri(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+8>>2]&127](a,b);i=d;return}function si(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function ti(a){a=a|0;return a+4|0}function ui(a,b){a=a|0;b=b|0;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];return}function vi(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function wi(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function xi(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function yi(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function zi(a){a=a|0;var b=0;b=i;a=Nb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function Ai(a,b){a=a|0;b=b|0;var d=0;d=i;b=ec[c[(c[a>>2]|0)+40>>2]&31](a,b)|0;i=d;return b|0}function Bi(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ci(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;f=i;e=QE(84)|0;a:do if(!e){while(1){e=c[5230]|0;c[5230]=e+0;if(!e)break;qc[e&3]();e=QE(84)|0;if(e)break a}e=yb(4)|0;c[e>>2]=20816;wb(e|0,20864,207)}while(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]=528;h=e+20|0;c[h+0>>2]=c[a+0>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];a=e+36|0;c[a+0>>2]=c[d+0>>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];i=f;return e|0}function Di(a){a=a|0;return (c[a+8>>2]|0)!=0|0}function Ei(a){a=a|0;return a+20|0}function Fi(a,b){a=a|0;b=b|0;c[a+20>>2]=c[b+0>>2];c[a+24>>2]=c[b+4>>2];c[a+28>>2]=c[b+8>>2];c[a+32>>2]=c[b+12>>2];return}function Gi(a){a=a|0;return a+36|0}function Hi(a,b){a=a|0;b=b|0;c[a+36>>2]=c[b+0>>2];c[a+40>>2]=c[b+4>>2];c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];return}function Ii(a){a=a|0;return a+52|0}function Ji(a,b){a=a|0;b=b|0;c[a+52>>2]=c[b+0>>2];c[a+56>>2]=c[b+4>>2];c[a+60>>2]=c[b+8>>2];c[a+64>>2]=c[b+12>>2];return}function Ki(a){a=a|0;return a+68|0}function Li(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];return}function Mi(a){a=a|0;return b[a+12>>1]|0}function Ni(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function Oi(a){a=a|0;return b[a+14>>1]|0}function Pi(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function Qi(a){a=a|0;return c[a+8>>2]|0}function Ri(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Si(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ti(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function Ui(b){b=b|0;var d=0,e=0,f=0;f=i;if((a[216]|0)==0?(Xa(216)|0)!=0:0){g[32]=.6000000238418579;g[33]=1.0;g[34]=.30000001192092896;g[35]=.01666666753590107;g[36]=0.0;g[38]=20.0;c[37]=10;g[40]=.20000000298023224;g[41]=.800000011920929;g[42]=0.0;g[39]=1.0;c[43]=1;g[44]=-.03999999910593033;g[45]=.10000000149011612;g[46]=0.0;g[47]=.8500000238418579;c[48]=260;c[49]=2;c[50]=128;g[51]=100.0;g[52]=1000000015047466219876688.0e6;ab(216)}e=128;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));i=f;return 128}function Vi(a){a=a|0;return c[a+24>>2]|0}function Wi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function Xi(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Nb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function Yi(a){a=a|0;return a+28|0}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);i=d;return}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);i=e;return}function $i(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function aj(a){a=a|0;return c[a+68>>2]|0}function bj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;_u(a,b,c,d,e,f);i=g;return}function cj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;$u(a,b,c,d);i=e;return}function dj(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function ej(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(75)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=14200;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;i=e;return d|0}function fj(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function gj(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function hj(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function ij(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;h=i;f=QE(16)|0;a:do if(!f){while(1){f=c[5230]|0;c[5230]=f+0;if(!f)break;qc[f&3]();f=QE(16)|0;if(f)break a}f=yb(4)|0;c[f>>2]=20816;wb(f|0,20864,207)}while(0);g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;i=h;return f|0}function jj(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 kj(a){a=a|0;return +(+g[a>>2])}function lj(a){a=a|0;return +(+g[a+4>>2])}function mj(a){a=a|0;return +(+g[a+8>>2])}function nj(a){a=a|0;return +(+g[a+12>>2])}function oj(a,b){a=a|0;b=+b;g[a>>2]=b;return}function pj(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function qj(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function rj(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function sj(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function tj(a,b){a=+a;b=+b;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(75)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}c[d+8>>2]=0;g[d+12>>2]=1.0;g[d+16>>2]=1.0;g[d+20>>2]=1.0;g[d+24>>2]=0.0;g[d+44>>2]=.03999999910593033;c[d+4>>2]=10;c[d>>2]=14304;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;i=e;return d|0}function uj(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function vj(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function wj(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function xj(a){a=a|0;var b=0,d=0;d=i;b=QE(8)|0;a:do if(!b){while(1){b=c[5230]|0;c[5230]=b+0;if(!b)break;qc[b&3]();b=QE(8)|0;if(b)break a}b=yb(4)|0;c[b>>2]=20816;wb(b|0,20864,207)}while(0);c[b>>2]=4952;c[b+4>>2]=a;i=d;return b|0}function yj(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function zj(a){a=a|0;return (c[a+8>>2]|0)!=0|0}function Aj(a){a=a|0;return b[a+12>>1]|0}function Bj(a,c){a=a|0;c=c|0;b[a+12>>1]=c;return}function Cj(a){a=a|0;return b[a+14>>1]|0}function Dj(a,c){a=a|0;c=c|0;b[a+14>>1]=c;return}function Ej(a){a=a|0;return c[a+8>>2]|0}function Fj(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Gj(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Hj(a){a=a|0;return +(+g[a+216>>2])}function Ij(a,b){a=a|0;b=+b;g[a+216>>2]=b;return}function Jj(a){a=a|0;return +(+g[a+228>>2])}function Kj(a,b){a=a|0;b=+b;g[a+228>>2]=b;return}function Lj(a){a=a|0;return +(+g[a+244>>2])}function Mj(a,b){a=a|0;b=+b;g[a+244>>2]=b;return}function Nj(a){a=a|0;return +(+g[a+204>>2])}function Oj(a,b){a=a|0;b=+b;g[a+204>>2]=b;return}function Pj(a){a=a|0;return +(+g[a+212>>2])}function Qj(a,b){a=a|0;b=+b;g[a+212>>2]=b;return}function Rj(a){a=a|0;return +(+g[a+220>>2])}function Sj(a,b){a=a|0;b=+b;g[a+220>>2]=b;return}function Tj(a){a=a|0;return +(+g[a+224>>2])}function Uj(a,b){a=a|0;b=+b;g[a+224>>2]=b;return}function Vj(a){a=a|0;return +(+g[a+232>>2])}function Wj(a,b){a=a|0;b=+b;g[a+232>>2]=b;return}function Xj(a){a=a|0;return +(+g[a+248>>2])}function Yj(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function Zj(a){a=a|0;return +(+g[a+208>>2])}function _j(a,b){a=a|0;b=+b;g[a+208>>2]=b;return}function $j(a){a=a|0;return +(+g[a+276>>2])}function ak(a,b){a=a|0;b=+b;g[a+276>>2]=b;return}function bk(b){b=b|0;return (a[b+260>>0]&1)!=0|0}function ck(b,c){b=b|0;c=c|0;a[b+260>>0]=c&1;return}function dk(a){a=a|0;return a+156|0}function ek(a,b){a=a|0;b=b|0;c[a+156>>2]=c[b+0>>2];c[a+160>>2]=c[b+4>>2];c[a+164>>2]=c[b+8>>2];c[a+168>>2]=c[b+12>>2];return}function fk(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function gk(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function hk(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function ik(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function jk(){var a=0,b=0;b=i;c[5108]=(c[5108]|0)+1;a=QE(35)|0;if(!a){a=0;i=b;return a|0}c[(a+19&-16)+-4>>2]=a;a=a+19&-16;i=b;return a|0}function kk(a,b,d,e){a=+a;b=+b;d=+d;e=+e;var f=0,h=0;h=i;c[5108]=(c[5108]|0)+1;f=QE(35)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}g[f>>2]=a;g[f+4>>2]=b;g[f+8>>2]=d;g[f+12>>2]=e;i=h;return f|0}function lk(a){a=a|0;return +(+g[a+12>>2])}function mk(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 nk(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];b=+P(+(d*d+c*c+b*b));return +b}function ok(a){a=a|0;return +(+g[a>>2])}function pk(a){a=a|0;return +(+g[a+4>>2])}function qk(a){a=a|0;return +(+g[a+8>>2])}function rk(a,b){a=a|0;b=+b;g[a>>2]=b;return}function sk(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function tk(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function uk(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 vk(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function wk(b,d,e){b=b|0;d=d|0;e=+e;var f=0,h=0,j=0;h=i;c[5108]=(c[5108]|0)+1;f=QE(203)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}c[f>>2]=5024;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;j=f+60|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+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;i=h;return f|0}function xk(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var h=0,j=0;j=i;c[5108]=(c[5108]|0)+1;h=QE(203)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-16}c[h>>2]=5024;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;f=h+60|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+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;i=j;return h|0}function yk(a,b){a=a|0;b=b|0;if((b|0)<0)b=0;else b=(b|0)>2?2:b;c[a+176>>2]=b;return}function zk(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+16>>2]&127](a,b);i=d;return}function Ak(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;rc[c[(c[a>>2]|0)+20>>2]&7](a,b,d);i=e;return}function Bk(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+28>>2]&127](a,b);i=d;return}function Ck(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+32>>2]&127](a,b);i=d;return}function Dk(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;rc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);i=e;return}function Ek(a,b){a=a|0;b=+b;g[a+24>>2]=b;return}function Fk(a,b){a=a|0;b=+b;g[a+28>>2]=b;return}function Gk(a,b){a=a|0;b=+b;g[a+32>>2]=b;return}function Hk(a){a=a|0;var b=0;b=i;a=Nb[c[(c[a>>2]|0)+40>>2]&127](a)|0;i=b;return a|0}function Ik(a){a=a|0;var b=0;b=i;Jb[c[(c[a>>2]|0)+44>>2]&255](a);i=b;return}function Jk(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function Kk(a){a=a|0;return +(+g[a+44>>2])}function Lk(a,b){a=a|0;b=+b;g[a+36>>2]=b;g[a+40>>2]=+R(+b);return}function Mk(a){a=a|0;return +(+g[a+36>>2])}function Nk(a){a=a|0;return c[a+8>>2]|0}function Ok(b,c){b=b|0;c=c|0;a[b+170>>0]=c&1;return}function Pk(a){a=a|0;var b=0;b=i;a=Nb[c[(c[a>>2]|0)+48>>2]&127](a)|0;i=b;return a|0}function Qk(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Rk(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0;e=i;c[5108]=(c[5108]|0)+1;d=QE(103)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}f=d+4|0;c[f>>2]=35;c[d+8>>2]=0;g[d+12>>2]=0.0;c[d>>2]=13176;m=+g[a>>2];l=+g[a+4>>2];k=+g[a+8>>2];h=+g[a+12>>2];j=1.0/+P(+(m*m+l*l+k*k));g[d+48>>2]=m*j;g[d+52>>2]=l*j;g[d+56>>2]=k*j;g[d+60>>2]=h;g[d+64>>2]=b;a=d+68|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[f>>2]=28;i=e;return d|0}function Sk(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Tk(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Uk(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Vk(a){a=a|0;return (c[a+44>>2]|0)!=0|0}function Wk(a,b){a=a|0;b=b|0;c[a+44>>2]=b&1;return}function Xk(a){a=a|0;return ~~+g[a+48>>2]|0}function Yk(a,b){a=a|0;b=b|0;g[a+48>>2]=+(b|0);return}function Zk(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function _k(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+60>>2]&127](a,b);i=d;return}function $k(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function al(){var a=0,b=0;b=i;c[5108]=(c[5108]|0)+1;a=QE(35)|0;if(!a){a=0;i=b;return a|0}c[(a+19&-16)+-4>>2]=a;a=a+19&-16;i=b;return a|0}function bl(a,b,d){a=+a;b=+b;d=+d;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(35)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}g[e>>2]=a;g[e+4>>2]=b;g[e+8>>2]=d;g[e+12>>2]=0.0;i=f;return e|0}function cl(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];b=+P(+(d*d+c*c+b*b));return +b}function dl(a){a=a|0;return +(+g[a>>2])}function el(a){a=a|0;return +(+g[a+4>>2])}function fl(a){a=a|0;return +(+g[a+8>>2])}function gl(a,b){a=a|0;b=+b;g[a>>2]=b;return}function hl(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function il(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function jl(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 kl(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 ll(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function ml(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function nl(a){a=+a;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(71)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}c[b+8>>2]=0;g[b+12>>2]=1.0;g[b+16>>2]=1.0;g[b+20>>2]=1.0;g[b+24>>2]=0.0;c[b>>2]=12008;c[b+4>>2]=8;g[b+28>>2]=a;g[b+44>>2]=a;i=d;return b|0}function ol(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function pl(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function ql(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function rl(){var a=0,b=0;b=i;a=QE(24)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(24)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(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;i=b;return a|0}function sl(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function tl(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(783)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}yr(d,a,b,0);i=e;return d|0}function ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;c[5108]=(c[5108]|0)+1;e=QE(783)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}yr(e,a,b,d);i=f;return e|0}function vl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;c[5108]=(c[5108]|0)+1;h=QE(783)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-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]=3840;b=h+552|0;c[b+0>>2]=c[e+0>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=h+568|0;c[b+0>>2]=c[e+16>>2];c[b+4>>2]=c[e+20>>2];c[b+8>>2]=c[e+24>>2];c[b+12>>2]=c[e+28>>2];b=h+584|0;c[b+0>>2]=c[e+32>>2];c[b+4>>2]=c[e+36>>2];c[b+8>>2]=c[e+40>>2];c[b+12>>2]=c[e+44>>2];b=h+600|0;c[b+0>>2]=c[e+48>>2];c[b+4>>2]=c[e+52>>2];c[b+8>>2]=c[e+56>>2];c[b+12>>2]=c[e+60>>2];b=h+616|0;c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=h+632|0;c[b+0>>2]=c[f+16>>2];c[b+4>>2]=c[f+20>>2];c[b+8>>2]=c[f+24>>2];c[b+12>>2]=c[f+28>>2];b=h+648|0;c[b+0>>2]=c[f+32>>2];c[b+4>>2]=c[f+36>>2];c[b+8>>2]=c[f+40>>2];c[b+12>>2]=c[f+44>>2];b=h+664|0;c[b+0>>2]=c[f+48>>2];c[b+4>>2]=c[f+52>>2];c[b+8>>2]=c[f+56>>2];c[b+12>>2]=c[f+60>>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;i=j;return h|0}function wl(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;k=i;c[5108]=(c[5108]|0)+1;j=QE(783)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}c[j+4>>2]=4;c[j+8>>2]=-1;c[j+12>>2]=-1;g[j+16>>2]=3402823466385288598117041.0e14;a[j+20>>0]=1;a[j+21>>0]=0;c[j+24>>2]=-1;c[j+28>>2]=b;c[j+32>>2]=d;g[j+36>>2]=0.0;g[j+40>>2]=.30000001192092896;c[j+44>>2]=0;c[j>>2]=3840;b=j+552|0;c[b+0>>2]=c[e+0>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=j+568|0;c[b+0>>2]=c[e+16>>2];c[b+4>>2]=c[e+20>>2];c[b+8>>2]=c[e+24>>2];c[b+12>>2]=c[e+28>>2];b=j+584|0;c[b+0>>2]=c[e+32>>2];c[b+4>>2]=c[e+36>>2];c[b+8>>2]=c[e+40>>2];c[b+12>>2]=c[e+44>>2];b=j+600|0;c[b+0>>2]=c[e+48>>2];c[b+4>>2]=c[e+52>>2];c[b+8>>2]=c[e+56>>2];c[b+12>>2]=c[e+60>>2];b=j+616|0;c[b+0>>2]=c[f+0>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];b=j+632|0;c[b+0>>2]=c[f+16>>2];c[b+4>>2]=c[f+20>>2];c[b+8>>2]=c[f+24>>2];c[b+12>>2]=c[f+28>>2];b=j+648|0;c[b+0>>2]=c[f+32>>2];c[b+4>>2]=c[f+36>>2];c[b+8>>2]=c[f+40>>2];c[b+12>>2]=c[f+44>>2];b=j+664|0;c[b+0>>2]=c[f+48>>2];c[b+4>>2]=c[f+52>>2];c[b+8>>2]=c[f+56>>2];c[b+12>>2]=c[f+60>>2];g[j+688>>2]=0.0;g[j+692>>2]=-1.0;g[j+696>>2]=.8999999761581421;g[j+700>>2]=.30000001192092896;g[j+704>>2]=1.0;g[j+708>>2]=0.0;g[j+712>>2]=0.0;a[j+716>>0]=0;a[j+736>>0]=0;a[j+737>>0]=0;a[j+738>>0]=0;a[j+739>>0]=1;a[j+740>>0]=h&1;c[j+748>>2]=0;g[j+732>>2]=h?-1.0:1.0;i=k;return j|0}function xl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;c[5108]=(c[5108]|0)+1;h=QE(783)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-16}xr(h,a,b,d,e,f,g,0);i=j;return h|0}function yl(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;k=i;c[5108]=(c[5108]|0)+1;j=QE(783)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}xr(j,a,b,d,e,f,g,h);i=k;return j|0}function zl(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0;f=i;g[a+692>>2]=(c-b)*.5;b=+SE((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;i=f;return}function Al(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var h=0;h=i;g[a+692>>2]=(c-b)*.5;b=+SE((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;i=h;return}function Bl(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Cl(a){a=a|0;return +(+g[a+16>>2])}function Dl(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function El(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Fl(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Gl(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Hl(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Il(){var a=0,b=0;b=i;a=QE(12)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(12)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(0);g[a>>2]=.30000001192092896;g[a+4>>2]=1.0;g[a+8>>2]=0.0;i=b;return a|0}function Jl(a){a=a|0;return +(+g[a>>2])}function Kl(a,b){a=a|0;b=+b;g[a>>2]=b;return}function Ll(a){a=a|0;return +(+g[a+4>>2])}function Ml(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function Nl(a){a=a|0;return +(+g[a+8>>2])}function Ol(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function Pl(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Ql(){var b=0,d=0,e=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(303)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}g[b+164>>2]=1.0;g[b+168>>2]=1.0;g[b+172>>2]=1.0;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;e=b+188|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+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;e=b+248|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[b+4>>2]=1.0;e=b+8|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[b+24>>2]=1.0;e=b+28|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;g[b+44>>2]=1.0;e=b+48|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[b>>2]=5416;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;i=d;return b|0}function Rl(a){a=a|0;return c[a+268>>2]|0}function Sl(a,b){a=a|0;b=b|0;return c[(c[a+276>>2]|0)+(b<<2)>>2]|0}function Tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+164>>2]=c[b+0>>2];c[a+168>>2]=c[b+4>>2];c[a+172>>2]=c[b+8>>2];c[a+176>>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;b=a+180|0;c[b>>2]=d;i=e;return}b=a+180|0;c[b>>2]=d;i=e;return}function Ul(a){a=a|0;return c[a+192>>2]|0}function Vl(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function Wl(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[a+216>>2]&-2|0)==4){i=d;return}c[a+216>>2]=b;i=d;return}function Xl(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function Yl(a){a=a|0;var b=0;b=i;if(c[a+204>>2]&3){i=b;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function Zl(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function _l(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}function $l(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function am(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function bm(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function cm(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function dm(a){a=a|0;return a+4|0}function em(a){a=a|0;return c[a+204>>2]|0}function fm(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function gm(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];return}function hm(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function im(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function jm(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function km(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function lm(a){a=a|0;return c[a>>2]|0}function mm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function nm(a){a=a|0;return c[a+4>>2]|0}function om(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function pm(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function qm(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function rm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0;h=i;c[5108]=(c[5108]|0)+1;f=QE(1407)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}Aq(f,b,d,e);c[f>>2]=2640;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;i=h;return f|0}function sm(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;k=i;c[5108]=(c[5108]|0)+1;j=QE(1407)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}zq(j,b,d,e,f,h);c[j>>2]=2640;c[j+4>>2]=9;a[j+1309>>0]=0;g[j+1316>>2]=0.0;g[j+1340>>2]=0.0;g[j+1364>>2]=1.0;a[j+1310>>0]=0;g[j+1320>>2]=0.0;g[j+1344>>2]=0.0;g[j+1368>>2]=1.0;a[j+1311>>0]=0;g[j+1324>>2]=0.0;g[j+1348>>2]=0.0;g[j+1372>>2]=1.0;a[j+1312>>0]=0;g[j+1328>>2]=0.0;g[j+1352>>2]=0.0;g[j+1376>>2]=1.0;a[j+1313>>0]=0;g[j+1332>>2]=0.0;g[j+1356>>2]=0.0;g[j+1380>>2]=1.0;a[j+1314>>0]=0;g[j+1336>>2]=0.0;g[j+1360>>2]=0.0;g[j+1384>>2]=1.0;i=k;return j|0}function tm(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=i;a[b+c+1309>>0]=d&1;if((c|0)<3){a[b+c+788>>0]=d&1;i=e;return}else{a[b+(c+-3<<6)+912>>0]=d&1;i=e;return}}function um(a,b,c){a=a|0;b=b|0;c=+c;g[a+(b<<2)+1340>>2]=c;return}function vm(a,b,c){a=a|0;b=b|0;c=+c;g[a+(b<<2)+1364>>2]=c;return}function wm(a,b){a=a|0;b=b|0;c[a+680>>2]=c[b+0>>2];c[a+684>>2]=c[b+4>>2];c[a+688>>2]=c[b+8>>2];c[a+692>>2]=c[b+12>>2];return}function xm(a,b){a=a|0;b=b|0;c[a+696>>2]=c[b+0>>2];c[a+700>>2]=c[b+4>>2];c[a+704>>2]=c[b+8>>2];c[a+708>>2]=c[b+12>>2];return}function ym(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;d=0;while(1){if((d|0)==3)break;c=+SE(+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+(d<<6)+868>>2]=c;d=d+1|0}i=e;return}function zm(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=i;d=0;while(1){if((d|0)==3)break;c=+SE(+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+(d<<6)+872>>2]=c;d=d+1|0}i=e;return}function Am(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Bm(a){a=a|0;return +(+g[a+16>>2])}function Cm(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function Dm(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Em(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,j=0;j=i;h=QE(44)|0;a:do if(!h){while(1){h=c[5230]|0;c[5230]=h+0;if(!h)break;qc[h&3]();h=QE(44)|0;if(h)break a}h=yb(4)|0;c[h>>2]=20816;wb(h|0,20864,207)}while(0);c[h>>2]=a;c[h+4>>2]=b;a=h+8|0;c[a+0>>2]=c[d+0>>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];a=h+24|0;c[a+0>>2]=c[e+0>>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];g[h+40>>2]=f;i=j;return h|0}function Fm(a){a=a|0;return c[a>>2]|0}function Gm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function Hm(a){a=a|0;return c[a+4>>2]|0}function Im(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function Jm(a){a=a|0;return a+8|0}function Km(a,b){a=a|0;b=b|0;c[a+8>>2]=c[b+0>>2];c[a+12>>2]=c[b+4>>2];c[a+16>>2]=c[b+8>>2];c[a+20>>2]=c[b+12>>2];return}function Lm(a){a=a|0;return a+24|0}function Mm(a,b){a=a|0;b=b|0;c[a+24>>2]=c[b+0>>2];c[a+28>>2]=c[b+4>>2];c[a+32>>2]=c[b+8>>2];c[a+36>>2]=c[b+12>>2];return}function Nm(a){a=a|0;return +(+g[a+40>>2])}function Om(a,b){a=a|0;b=+b;g[a+40>>2]=b;return}function Pm(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Qm(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Rm(b){b=b|0;var d=0,e=0,f=0;e=i;c[5108]=(c[5108]|0)+1;d=QE(635)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}g[d+164>>2]=1.0;g[d+168>>2]=1.0;g[d+172>>2]=1.0;g[d+176>>2]=0.0;c[d+180>>2]=0;g[d+184>>2]=999999984306749440.0;f=d+188|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+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;f=d+248|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[d+4>>2]=1.0;f=d+8|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[d+24>>2]=1.0;f=d+28|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[d+44>>2]=1.0;f=d+48|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[d>>2]=1464;a[d+500>>0]=1;c[d+496>>2]=0;c[d+488>>2]=0;c[d+492>>2]=0;sp(d,b);i=e;return d|0}function Sm(a){a=a|0;return a+4|0}function Tm(a,b){a=a|0;b=b|0;var c=0;c=i;up(a,b);i=c;return}function Um(a,b,c){a=a|0;b=+b;c=+c;g[a+472>>2]=b;g[a+476>>2]=c;return}function Vm(a,b,c){a=a|0;b=+b;c=+c;if(b<0.0)b=0.0;else b=b>1.0?1.0:b;g[a+444>>2]=b;if(c<0.0)b=0.0;else b=c>1.0?1.0:c;g[a+448>>2]=b;return}function Wm(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0.0,h=0.0,i=0.0;e=c[a+204>>2]|0;if(b==0.0){c[a+204>>2]=e|1;i=0.0}else{c[a+204>>2]=e&-2;i=1.0/b}g[a+344>>2]=i;h=+g[a+384>>2]*b;f=+g[a+388>>2]*b;g[a+364>>2]=+g[a+380>>2]*b;g[a+368>>2]=h;g[a+372>>2]=f;g[a+376>>2]=0.0;b=+g[d>>2];if(b!=0.0)h=1.0/b;else h=0.0;b=+g[d+4>>2];if(b!=0.0)f=1.0/b;else f=0.0;b=+g[d+8>>2];if(b!=0.0)b=1.0/b;else b=0.0;g[a+396>>2]=h;g[a+400>>2]=f;g[a+404>>2]=b;g[a+408>>2]=0.0;f=i*+g[a+352>>2];b=i*+g[a+356>>2];g[a+560>>2]=+g[a+348>>2]*i;g[a+564>>2]=f;g[a+568>>2]=b;g[a+572>>2]=0.0;return}function Xm(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;c[a+348>>2]=c[b+0>>2];c[a+352>>2]=c[b+4>>2];c[a+356>>2]=c[b+8>>2];c[a+360>>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 Ym(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 Zm(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 _m(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 $m(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 an(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;bn(a,b,c);i=d;return}function bn(a,b,c){a=a|0;b=b|0;c=c|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.0;d=i;if(!(+g[a+344>>2]!=0.0)){i=d;return}dn(a,b);h=+g[b>>2]*+g[a+348>>2];k=+g[b+4>>2]*+g[a+352>>2];m=+g[b+8>>2]*+g[a+356>>2];j=+g[c+4>>2];n=+g[c+8>>2];l=+g[c>>2];f=(+g[a+280>>2]*(j*m-n*k)+ +g[a+284>>2]*(n*h-l*m)+ +g[a+288>>2]*(l*k-j*h))*+g[a+548>>2];e=(+g[a+296>>2]*(j*m-n*k)+ +g[a+300>>2]*(n*h-l*m)+ +g[a+304>>2]*(l*k-j*h))*+g[a+552>>2];g[a+328>>2]=+g[a+328>>2]+(+g[a+264>>2]*(j*m-n*k)+ +g[a+268>>2]*(n*h-l*m)+ +g[a+272>>2]*(l*k-j*h))*+g[a+544>>2];g[a+332>>2]=+g[a+332>>2]+f;g[a+336>>2]=+g[a+336>>2]+e;i=d;return}function cn(a,b){a=a|0;b=b|0;var c=0;c=i;dn(a,b);i=c;return}function dn(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 en(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*(n*h)+m*(m*e)+l*(l*c);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]=n*(h*k)+m*(e*j)+l*(c*i);g[a+284>>2]=k*(h*k)+j*(e*j)+i*(c*i);g[a+288>>2]=h*k*f+e*j*d+c*i*b;g[a+292>>2]=0.0;g[a+296>>2]=n*(h*f)+m*(e*d)+l*(c*b);g[a+300>>2]=k*(h*f)+j*(e*d)+i*(c*b);g[a+304>>2]=f*(h*f)+d*(e*d)+b*(c*b);g[a+308>>2]=0.0;return}function fn(a){a=a|0;return a+312|0}function gn(a){a=a|0;return a+328|0}function hn(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+312>>2]=c[b+0>>2];c[a+316>>2]=c[b+4>>2];c[a+320>>2]=c[b+8>>2];c[a+324>>2]=c[b+12>>2];return}function jn(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+328>>2]=c[b+0>>2];c[a+332>>2]=c[b+4>>2];c[a+336>>2]=c[b+8>>2];c[a+340>>2]=c[b+12>>2];return}function kn(a){a=a|0;return c[a+480>>2]|0}function ln(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+544>>2]=c[b+0>>2];c[a+548>>2]=c[b+4>>2];c[a+552>>2]=c[b+8>>2];c[a+556>>2]=c[b+12>>2];return}function mn(a,b){a=a|0;b=b|0;return ((c[b+236>>2]&2|0)==0?0:b)|0}function nn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+164>>2]=c[b+0>>2];c[a+168>>2]=c[b+4>>2];c[a+172>>2]=c[b+8>>2];c[a+176>>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;b=a+180|0;c[b>>2]=d;i=e;return}b=a+180|0;c[b>>2]=d;i=e;return}function on(a){a=a|0;return c[a+192>>2]|0}function pn(a,b){a=a|0;b=+b;g[a+184>>2]=b;return}function qn(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[a+216>>2]&-2|0)==4){i=d;return}c[a+216>>2]=b;i=d;return}function rn(a,b){a=a|0;b=b|0;c[a+216>>2]=b;return}function sn(a){a=a|0;var b=0;b=i;if(c[a+204>>2]&3){i=b;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=b;return}function tn(a,b){a=a|0;b=b|0;var d=0;d=i;if(!b?(c[a+204>>2]&3|0)!=0:0){i=d;return}if((c[a+216>>2]&-2|0)!=4)c[a+216>>2]=1;g[a+220>>2]=0.0;i=d;return}function un(a){a=a|0;a=c[a+216>>2]|0;return ((a|0)==2?0:(a|0)!=5)|0}function vn(a){a=a|0;return (c[a+204>>2]&2|0)!=0|0}function wn(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+228>>2]=b;return}function xn(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+224>>2]=b;return}function yn(a,b){a=a|0;b=+b;c[a+260>>2]=(c[a+260>>2]|0)+1;g[a+232>>2]=b;return}function zn(a){a=a|0;return a+4|0}function An(a){a=a|0;return c[a+204>>2]|0}function Bn(a,b){a=a|0;b=b|0;c[a+204>>2]=b;return}function Cn(a,b){a=a|0;b=b|0;c[a+260>>2]=(c[a+260>>2]|0)+1;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];c[a+20>>2]=c[b+16>>2];c[a+24>>2]=c[b+20>>2];c[a+28>>2]=c[b+24>>2];c[a+32>>2]=c[b+28>>2];c[a+36>>2]=c[b+32>>2];c[a+40>>2]=c[b+36>>2];c[a+44>>2]=c[b+40>>2];c[a+48>>2]=c[b+44>>2];c[a+52>>2]=c[b+48>>2];c[a+56>>2]=c[b+52>>2];c[a+60>>2]=c[b+56>>2];c[a+64>>2]=c[b+60>>2];return}function Dn(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=d;return}function En(a,b){a=a|0;b=+b;g[a+252>>2]=b;return}function Fn(a,b){a=a|0;b=+b;g[a+248>>2]=b;return}function Gn(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function Hn(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(75)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}dA(b,a);c[b>>2]=15552;c[b+52>>2]=0;i=d;return b|0}function In(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Jn(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Kn(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Ln(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(75)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}dA(b,a);c[b>>2]=15656;c[b+52>>2]=2;i=d;return b|0}function Mn(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Nn(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function On(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Pn(){var a=0,b=0,d=0;d=i;a=QE(64)|0;if(a){i=d;return a|0}while(1){a=c[5230]|0;c[5230]=a+0;if(!a){b=4;break}qc[a&3]();a=QE(64)|0;if(a){b=5;break}}if((b|0)==4){a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}else if((b|0)==5){i=d;return a|0}return 0}function Qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;d=QE(64)|0;a:do if(!d){while(1){d=c[5230]|0;c[5230]=d+0;if(!d)break;qc[d&3]();d=QE(64)|0;if(d)break a}d=yb(4)|0;c[d>>2]=20816;wb(d|0,20864,207)}while(0);f=d+48|0;Zo(d,a);c[f+0>>2]=c[b+0>>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];i=e;return d|0}function Rn(a){a=a|0;var b=0;b=i;Sn(a);i=b;return}function Sn(a){a=a|0;g[a>>2]=1.0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;g[a+20>>2]=1.0;c[a+24>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;g[a+40>>2]=1.0;g[a+44>>2]=0.0;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;return}function Tn(a,b){a=a|0;b=b|0;c[a+48>>2]=c[b+0>>2];c[a+52>>2]=c[b+4>>2];c[a+56>>2]=c[b+8>>2];c[a+60>>2]=c[b+12>>2];return}function Un(a,b){a=a|0;b=b|0;var c=0;c=i;Zo(a,b);i=c;return}function Vn(a){a=a|0;return a+48|0}function Wn(b){b=b|0;var d=0;d=i;i=i+16|0;if((a[240]|0)==0?(Xa(240)|0)!=0:0)ab(240);Fc(b,d);c[56]=c[d+0>>2];c[57]=c[d+4>>2];c[58]=c[d+8>>2];c[59]=c[d+12>>2];i=d;return 224}function Xn(a){a=a|0;return a|0}function Yn(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function Zn(a){a=a|0;return c[a+24>>2]|0}function _n(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+32>>2]&127](a,b,d,e);i=f;return}function $n(a){a=a|0;var b=0;b=i;a=c[a+68>>2]|0;a=Nb[c[(c[a>>2]|0)+36>>2]&127](a)|0;i=b;return a|0}function ao(a){a=a|0;return a+28|0}function bo(a,b){a=a|0;b=b|0;var d=0;d=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,1,-1);i=d;return}function co(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,-1);i=e;return}function eo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+36>>2]&127](a,b,d,e);i=f;return}function fo(a){a=a|0;return c[a+68>>2]|0}function go(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;var g=0;g=i;_u(a,b,c,d,e,f);i=g;return}function ho(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;$u(a,b,c,d);i=e;return}function io(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function jo(a){a=a|0;return +(+g[a>>2])}function ko(a){a=a|0;return +(+g[a+4>>2])}function lo(a){a=a|0;return +(+g[a+8>>2])}function mo(a){a=a|0;return +(+g[a+12>>2])}function no(a,b){a=a|0;b=+b;g[a>>2]=b;return}function oo(a,b){a=a|0;b=+b;g[a+4>>2]=b;return}function po(a,b){a=a|0;b=+b;g[a+8>>2]=b;return}function qo(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function ro(a){a=a|0;var b=0;b=i;if(a)RE(a);i=b;return}function so(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=i;b=QE(152)|0;a:do if(!b){while(1){b=c[5230]|0;c[5230]=b+0;if(!b)break;qc[b&3]();b=QE(152)|0;if(b)break a}b=yb(4)|0;c[b>>2]=20816;wb(b|0,20864,207)}while(0);c[b>>2]=4840;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;i=f;return b|0}function to(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 uo(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 vo(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)+92|0}function wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;fs(c[a+116>>2]|0,c[a+144>>2]|0,b,d);i=e;return}function xo(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.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;x=i;i=i+288|0;c[x+144>>2]=c[d+0>>2];c[x+148>>2]=c[d+4>>2];c[x+152>>2]=c[d+8>>2];c[x+156>>2]=c[d+12>>2];o=x+160|0;c[o+0>>2]=c[e+0>>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];p=x+176|0;c[p+0>>2]=c[f+0>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];s=+g[k>>2];t=+g[k+4>>2];u=+g[k+8>>2];v=+g[k+16>>2];w=+g[k+12>>2];r=+g[k+20>>2];c[x+0>>2]=c[x+144>>2];c[x+4>>2]=c[x+148>>2];c[x+8>>2]=c[x+152>>2];c[x+12>>2]=c[x+156>>2];c[x+16>>2]=c[o+0>>2];c[x+20>>2]=c[o+4>>2];c[x+24>>2]=c[o+8>>2];c[x+28>>2]=c[o+12>>2];c[x+32>>2]=c[p+0>>2];c[x+36>>2]=c[p+4>>2];c[x+40>>2]=c[p+8>>2];c[x+44>>2]=c[p+12>>2];f=c[b+136>>2]|0;if((f|0)==(c[b+140>>2]|0)?(q=(f|0)==0?1:f<<1,(f|0)<(q|0)):0){if(!q)e=0;else{c[5108]=(c[5108]|0)+1;f=QE((q*284|3)+16|0)|0;if(!f)e=0;else{c[(f+19&-16)+-4>>2]=f;e=f+19&-16}f=c[b+136>>2]|0}if((f|0)>0){m=0;do{k=e+(m*284|0)|0;if(k){d=c[b+144>>2]|0;n=k+0|0;o=d+(m*284|0)+0|0;p=n+92|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=e+(m*284|0)+92|0;o=d+(m*284|0)+92|0;c[n+0>>2]=c[o+0>>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];n=e+(m*284|0)+108|0;o=d+(m*284|0)+108|0;c[n+0>>2]=c[o+0>>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];n=e+(m*284|0)+124|0;o=d+(m*284|0)+124|0;c[n+0>>2]=c[o+0>>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];n=e+(m*284|0)+140|0;o=d+(m*284|0)+140|0;c[n+0>>2]=c[o+0>>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];n=e+(m*284|0)+156|0;o=d+(m*284|0)+156|0;p=n+128|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0))}m=m+1|0}while((m|0)!=(f|0))}f=c[b+144>>2]|0;if(f){if(a[b+148>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+144>>2]=0}a[b+148>>0]=1;c[b+144>>2]=e;c[b+140>>2]=q;f=c[b+136>>2]|0}k=c[b+144>>2]|0;e=k+(f*284|0)|0;if(!e){q=f;o=k;p=q+1|0;c[b+136>>2]=p;q=o+(q*284|0)|0;o=b+116|0;p=c[o>>2]|0;es(p,q,0);p=c[b+136>>2]|0;p=p+-1|0;o=c[o>>2]|0;l=c[b+144>>2]|0;fs(o,l,p,0);i=x;return q|0}n=e+0|0;o=x+48|0;p=n+92|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=k+(f*284|0)+92|0;c[n+0>>2]=c[x+240>>2];c[n+4>>2]=c[x+244>>2];c[n+8>>2]=c[x+248>>2];c[n+12>>2]=c[x+252>>2];n=k+(f*284|0)+108|0;c[n+0>>2]=c[x+224>>2];c[n+4>>2]=c[x+228>>2];c[n+8>>2]=c[x+232>>2];c[n+12>>2]=c[x+236>>2];n=k+(f*284|0)+124|0;c[n+0>>2]=c[x+208>>2];c[n+4>>2]=c[x+212>>2];c[n+8>>2]=c[x+216>>2];c[n+12>>2]=c[x+220>>2];n=k+(f*284|0)+140|0;c[n+0>>2]=c[x+192>>2];c[n+4>>2]=c[x+196>>2];c[n+8>>2]=c[x+200>>2];c[n+12>>2]=c[x+204>>2];k=k+(f*284|0)+156|0;n=k+0|0;o=x+0|0;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));g[k+48>>2]=h;g[k+52>>2]=w;g[k+56>>2]=j;g[k+60>>2]=s;g[k+64>>2]=t;g[k+68>>2]=u;g[k+72>>2]=v;g[k+76>>2]=0.0;g[k+80>>2]=0.0;g[k+84>>2]=0.0;g[k+88>>2]=.10000000149011612;g[k+92>>2]=r;g[k+96>>2]=0.0;g[k+100>>2]=0.0;a[k+104>>0]=l&1;n=k+105|0;o=x+256|0;p=n+23|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));q=c[b+136>>2]|0;o=c[b+144>>2]|0;p=q+1|0;c[b+136>>2]=p;q=o+(q*284|0)|0;o=b+116|0;p=c[o>>2]|0;es(p,q,0);p=c[b+136>>2]|0;p=p+-1|0;o=c[o>>2]|0;l=c[b+144>>2]|0;fs(o,l,p,0);i=x;return q|0}function yo(a){a=a|0;return c[a+136>>2]|0}function zo(a){a=a|0;return c[a+116>>2]|0}function Ao(a,b){a=a|0;b=b|0;return (c[a+144>>2]|0)+(b*284|0)|0}function Bo(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 Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e);i=f;return}function Do(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Eo(a){a=a|0;var b=0,d=0;d=i;c[5108]=(c[5108]|0)+1;b=QE(75)|0;if(!b)b=0;else{c[(b+19&-16)+-4>>2]=b;b=b+19&-16}dA(b,a);i=d;return b|0}function Fo(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=d;return}function Go(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;Sb[c[(c[a>>2]|0)+32>>2]&15](a,b,d);i=e;return}function Ho(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Io(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Jo(){var a=0,b=0,d=0;d=i;a=QE(4)|0;if(a){c[a>>2]=384;i=d;return a|0}while(1){a=c[5230]|0;c[5230]=a+0;if(!a){b=4;break}qc[a&3]();a=QE(4)|0;if(a){b=5;break}}if((b|0)==4){a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}else if((b|0)==5){c[a>>2]=384;i=d;return a|0}return 0}function Ko(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Lo(b,c){b=b|0;c=c|0;a[b+21>>0]=c&1;return}function Mo(a){a=a|0;return +(+g[a+16>>2])}function No(a,b){a=a|0;b=+b;g[a+16>>2]=b;return}function Oo(a){a=a|0;var b=0;b=i;if(!a){i=b;return}Jb[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Po(a){a=a|0;return}function Qo(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Ro(a){a=a|0;return}function So(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return}function To(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function Uo(a){a=a|0;return}function Vo(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Wo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;a=c[b>>2]|0;e=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;e=(c[e+236>>2]|0)==4?e:0;if(a)pc[c[(c[a>>2]|0)+28>>2]&127](a,d,b);if(!e){i=f;return 0}pc[c[(c[e>>2]|0)+28>>2]&127](e,b,d);i=f;return 0}function Xo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;a=c[b>>2]|0;f=c[d>>2]|0;a=(c[a+236>>2]|0)==4?a:0;f=(c[f+236>>2]|0)==4?f:0;if(a)tc[c[(c[a>>2]|0)+32>>2]&127](a,d,e,b);if(!f){i=g;return 0}tc[c[(c[f>>2]|0)+32>>2]&127](f,b,e,d);i=g;return 0}function Yo(a,b,c){a=a|0;b=b|0;c=c|0;return}function Zo(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 _o(a){a=a|0;return}function $o(a){a=a|0;return}function ap(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function bp(a,c){a=a|0;c=c|0;var d=0;d=i;if(!((b[c+4>>1]&b[a+14>>1])<<16>>16)){c=0;i=d;return c|0}c=(b[a+12>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function cp(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;g[a+4>>2]=+g[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+56>>2]=c[b+12>>2];c[a+60>>2]=c[b+16>>2];c[a+64>>2]=c[b+20>>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}f=+g[b+24>>2];g[a+68>>2]=(1.0-f)*+g[a+20>>2]+ +g[a+36>>2]*f;g[a+72>>2]=(1.0-f)*+g[a+24>>2]+f*+g[a+40>>2];g[a+76>>2]=(1.0-f)*+g[a+28>>2]+f*+g[a+44>>2];return +(+g[b+24>>2])}function dp(a){a=a|0;return}function ep(a){a=a|0;return}function fp(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function gp(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,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;d=i;i=i+176|0;r=+g[a+68>>2];g[d+128>>2]=r;q=+g[a+84>>2];g[d+132>>2]=q;p=+g[a+100>>2];g[d+136>>2]=p;g[d+140>>2]=0.0;o=+g[a+72>>2];g[d+144>>2]=o;n=+g[a+88>>2];g[d+148>>2]=n;m=+g[a+104>>2];g[d+152>>2]=m;g[d+156>>2]=0.0;l=+g[a+76>>2];g[d+160>>2]=l;j=+g[a+92>>2];g[d+164>>2]=j;f=+g[a+108>>2];g[d+168>>2]=f;g[d+172>>2]=0.0;k=-+g[a+116>>2];h=-+g[a+120>>2];e=-+g[a+124>>2];c[d+0>>2]=c[d+128>>2];c[d+4>>2]=c[d+132>>2];c[d+8>>2]=c[d+136>>2];c[d+12>>2]=c[d+140>>2];c[d+16>>2]=c[d+144>>2];c[d+20>>2]=c[d+148>>2];c[d+24>>2]=c[d+152>>2];c[d+28>>2]=c[d+156>>2];c[d+32>>2]=c[d+160>>2];c[d+36>>2]=c[d+164>>2];c[d+40>>2]=c[d+168>>2];c[d+44>>2]=c[d+172>>2];g[d+48>>2]=r*k+q*h+p*e;g[d+52>>2]=o*k+n*h+m*e;g[d+56>>2]=l*k+j*h+f*e;g[d+60>>2]=0.0;ip(d+64|0,d,a+4|0);c[b+0>>2]=c[d+64>>2];c[b+4>>2]=c[d+68>>2];c[b+8>>2]=c[d+72>>2];c[b+12>>2]=c[d+76>>2];c[b+16>>2]=c[d+80>>2];c[b+20>>2]=c[d+84>>2];c[b+24>>2]=c[d+88>>2];c[b+28>>2]=c[d+92>>2];c[b+32>>2]=c[d+96>>2];c[b+36>>2]=c[d+100>>2];c[b+40>>2]=c[d+104>>2];c[b+44>>2]=c[d+108>>2];c[b+48>>2]=c[d+112>>2];c[b+52>>2]=c[d+116>>2];c[b+56>>2]=c[d+120>>2];c[b+60>>2]=c[d+124>>2];i=d;return}function hp(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+64|0;ip(d,b,a+68|0);c[a+4>>2]=c[d+0>>2];c[a+8>>2]=c[d+4>>2];c[a+12>>2]=c[d+8>>2];c[a+16>>2]=c[d+12>>2];c[a+20>>2]=c[d+16>>2];c[a+24>>2]=c[d+20>>2];c[a+28>>2]=c[d+24>>2];c[a+32>>2]=c[d+28>>2];c[a+36>>2]=c[d+32>>2];c[a+40>>2]=c[d+36>>2];c[a+44>>2]=c[d+40>>2];c[a+48>>2]=c[d+44>>2];c[a+52>>2]=c[d+48>>2];c[a+56>>2]=c[d+52>>2];c[a+60>>2]=c[d+56>>2];c[a+64>>2]=c[d+60>>2];i=d;return}function ip(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];s=+g[b>>2];x=+g[d+16>>2];r=+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];n=+g[b+32>>2];l=+g[b+36>>2];f=+g[b+40>>2];g[e>>2]=y*s+x*r+w*j;g[e+4>>2]=v*s+u*r+t*j;g[e+8>>2]=k*s+m*r+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*n+x*l+w*f;g[e+36>>2]=v*n+u*l+t*f;g[e+40>>2]=k*n+m*l+o*f;g[e+44>>2]=0.0;o=+g[d+48>>2];m=+g[d+52>>2];k=+g[d+56>>2];j=o*s+m*r+k*j+ +g[b+48>>2];h=o*q+m*p+k*h+ +g[b+52>>2];f=o*n+m*l+k*f+ +g[b+56>>2];c[a+0>>2]=c[e+0>>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+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+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];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 jp(a){a=a|0;return}function kp(a){a=a|0;var b=0;b=i;RE(a);i=b;return} +function RD(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=20040;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}function SD(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 TD(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 UD(a){a=a|0;return (c[a+48>>2]|0)==1|0}function VD(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=c[b+0>>2];c[a+56>>2]=c[b+4>>2];c[a+60>>2]=c[b+8>>2];c[a+64>>2]=c[b+12>>2];c[a+68>>2]=c[d+0>>2];c[a+72>>2]=c[d+4>>2];c[a+76>>2]=c[d+8>>2];c[a+80>>2]=c[d+12>>2];c[a+48>>2]=1;return}function WD(a,b,d){a=a|0;b=b|0;d=d|0;c[b+0>>2]=c[a+52>>2];c[b+4>>2]=c[a+56>>2];c[b+8>>2]=c[a+60>>2];c[b+12>>2]=c[a+64>>2];c[d+0>>2]=c[a+68>>2];c[d+4>>2]=c[a+72>>2];c[d+8>>2]=c[a+76>>2];c[d+12>>2]=c[a+80>>2];return}function XD(a,b){a=a|0;b=b|0;return}function YD(a,b){a=a|0;b=b|0;return}function ZD(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,v=0;o=i;i=i+80|0;j=Nb[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((j|0)<=0){i=o;return}n=0;do{dc[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);f=c[o+64>>2]|0;do if(!f){f=c[o+60>>2]|0;if((f|0)==3){if((c[o+48>>2]|0)>0)f=0;else break;do{u=c[o+72>>2]|0;t=$(c[o+68>>2]|0,f)|0;s=c[o+76>>2]|0;r=c[o+56>>2]|0;v=$(e[u+t>>1]|0,r)|0;q=l*+g[s+(v+4)>>2];p=m*+g[s+(v+8)>>2];g[o>>2]=k*+g[s+v>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(e[u+(t+2)>>1]|0,r)|0;p=l*+g[s+(v+4)>>2];q=m*+g[s+(v+8)>>2];g[o+16>>2]=k*+g[s+v>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;r=$(e[u+(t+4)>>1]|0,r)|0;q=l*+g[s+(r+4)>>2];p=m*+g[s+(r+8)>>2];g[o+32>>2]=k*+g[s+r>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else if((f|0)==5){if((c[o+48>>2]|0)>0)f=0;else break;do{r=c[o+72>>2]|0;s=$(c[o+68>>2]|0,f)|0;t=c[o+76>>2]|0;u=c[o+56>>2]|0;v=$(d[r+s>>0]|0,u)|0;q=l*+g[t+(v+4)>>2];p=m*+g[t+(v+8)>>2];g[o>>2]=k*+g[t+v>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(d[r+(s+1)>>0]|0,u)|0;p=l*+g[t+(v+4)>>2];q=m*+g[t+(v+8)>>2];g[o+16>>2]=k*+g[t+v>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;u=$(d[r+(s+2)>>0]|0,u)|0;q=l*+g[t+(u+4)>>2];p=m*+g[t+(u+8)>>2];g[o+32>>2]=k*+g[t+u>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else if((f|0)==2){if((c[o+48>>2]|0)>0)f=0;else break;do{s=c[o+72>>2]|0;u=$(c[o+68>>2]|0,f)|0;t=c[o+76>>2]|0;r=c[o+56>>2]|0;v=$(r,c[s+u>>2]|0)|0;q=l*+g[t+(v+4)>>2];p=m*+g[t+(v+8)>>2];g[o>>2]=k*+g[t+v>>2];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(r,c[s+(u+4)>>2]|0)|0;p=l*+g[t+(v+4)>>2];q=m*+g[t+(v+8)>>2];g[o+16>>2]=k*+g[t+v>>2];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;u=$(r,c[s+(u+8)>>2]|0)|0;q=l*+g[t+(u+4)>>2];p=m*+g[t+(u+8)>>2];g[o+32>>2]=k*+g[t+u>>2];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else break}else if((f|0)==1){f=c[o+60>>2]|0;if((f|0)==3){if((c[o+48>>2]|0)>0)f=0;else break;do{r=c[o+72>>2]|0;s=$(c[o+68>>2]|0,f)|0;t=c[o+76>>2]|0;u=c[o+56>>2]|0;v=$(e[r+s>>1]|0,u)|0;q=l*+h[t+(v+8)>>3];p=m*+h[t+(v+16)>>3];g[o>>2]=k*+h[t+v>>3];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(e[r+(s+2)>>1]|0,u)|0;p=l*+h[t+(v+8)>>3];q=m*+h[t+(v+16)>>3];g[o+16>>2]=k*+h[t+v>>3];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;u=$(e[r+(s+4)>>1]|0,u)|0;q=l*+h[t+(u+8)>>3];p=m*+h[t+(u+16)>>3];g[o+32>>2]=k*+h[t+u>>3];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else if((f|0)==2){if((c[o+48>>2]|0)>0)f=0;else break;do{s=c[o+72>>2]|0;u=$(c[o+68>>2]|0,f)|0;t=c[o+76>>2]|0;r=c[o+56>>2]|0;v=$(r,c[s+u>>2]|0)|0;q=l*+h[t+(v+8)>>3];p=m*+h[t+(v+16)>>3];g[o>>2]=k*+h[t+v>>3];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(r,c[s+(u+4)>>2]|0)|0;p=l*+h[t+(v+8)>>3];q=m*+h[t+(v+16)>>3];g[o+16>>2]=k*+h[t+v>>3];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;u=$(r,c[s+(u+8)>>2]|0)|0;q=l*+h[t+(u+8)>>3];p=m*+h[t+(u+16)>>3];g[o+32>>2]=k*+h[t+u>>3];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else if((f|0)==5){if((c[o+48>>2]|0)>0)f=0;else break;do{r=c[o+72>>2]|0;s=$(c[o+68>>2]|0,f)|0;t=c[o+76>>2]|0;u=c[o+56>>2]|0;v=$(d[r+s>>0]|0,u)|0;q=l*+h[t+(v+8)>>3];p=m*+h[t+(v+16)>>3];g[o>>2]=k*+h[t+v>>3];g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;v=$(d[r+(s+1)>>0]|0,u)|0;p=l*+h[t+(v+8)>>3];q=m*+h[t+(v+16)>>3];g[o+16>>2]=k*+h[t+v>>3];g[o+20>>2]=p;g[o+24>>2]=q;g[o+28>>2]=0.0;u=$(d[r+(s+2)>>0]|0,u)|0;q=l*+h[t+(u+8)>>3];p=m*+h[t+(u+16)>>3];g[o+32>>2]=k*+h[t+u>>3];g[o+36>>2]=q;g[o+40>>2]=p;g[o+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,o,n,f);f=f+1|0}while((f|0)<(c[o+48>>2]|0))}else break}while(0);Lb[c[(c[a>>2]|0)+24>>2]&127](a,n);n=n+1|0}while((n|0)!=(j|0));i=o;return}function _D(d,e,f){d=d|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;w=i;i=i+32|0;j=Nb[c[(c[d>>2]|0)+28>>2]&127](d)|0;c[e+20>>2]=j;c[e>>2]=0;if(!j){s=e+4|0;r=d+4|0;x=+g[r>>2];g[s>>2]=x;s=d+8|0;x=+g[s>>2];s=e+8|0;g[s>>2]=x;s=d+12|0;x=+g[s>>2];s=e+12|0;g[s>>2]=x;s=d+16|0;x=+g[s>>2];s=e+16|0;g[s>>2]=x;i=w;return 20288}v=Wb[c[(c[f>>2]|0)+16>>2]&63](f,32,j)|0;j=c[v+8>>2]|0;c[e>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,j)|0;s=Nb[c[(c[d>>2]|0)+28>>2]&127](d)|0;if((s|0)>0){r=0;while(1){dc[c[(c[d>>2]|0)+16>>2]&3](d,w+28|0,w+4|0,w+16|0,w+8|0,w+24|0,w+20|0,w,w+12|0,r);c[j+24>>2]=c[w>>2];c[j+28>>2]=c[w+4>>2];p=j+8|0;o=j+12|0;n=j+16|0;q=j+4|0;c[j+0>>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;l=c[w+12>>2]|0;if((l|0)==3){k=c[w>>2]|0;if(k){k=Wb[c[(c[f>>2]|0)+16>>2]&63](f,8,k)|0;l=c[k+8>>2]|0;c[o>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;p=c[w>>2]|0;if((p|0)>0){o=c[w+24>>2]|0;n=c[w+20>>2]|0;m=0;do{y=$(n,m)|0;b[l+(m<<3)>>1]=b[o+y>>1]|0;b[l+(m<<3)+2>>1]=b[o+(y+2)>>1]|0;b[l+(m<<3)+4>>1]=b[o+(y+4)>>1]|0;m=m+1|0}while((m|0)!=(p|0))}Hb[c[(c[f>>2]|0)+20>>2]&31](f,k,20168,1497453121,c[k+8>>2]|0)}}else if((l|0)==5){k=c[w>>2]|0;if(k){m=Wb[c[(c[f>>2]|0)+16>>2]&63](f,4,k)|0;l=c[m+8>>2]|0;c[n>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;if((c[w>>2]|0)>0){k=0;do{o=c[w+24>>2]|0;p=$(c[w+20>>2]|0,k)|0;a[l+(k<<2)>>0]=a[o+p>>0]|0;a[l+(k<<2)+1>>0]=a[o+(p+1)>>0]|0;a[l+(k<<2)+2>>0]=a[o+(p+2)>>0]|0;k=k+1|0}while((k|0)<(c[w>>2]|0))}Hb[c[(c[f>>2]|0)+20>>2]&31](f,m,20200,1497453121,c[m+8>>2]|0)}}else if((l|0)==2?(u=c[w>>2]|0,(u|0)!=0):0){o=Wb[c[(c[f>>2]|0)+16>>2]&63](f,4,u*3|0)|0;l=c[o+8>>2]|0;c[p>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,l)|0;if((c[w>>2]|0)>0){k=c[w+24>>2]|0;m=0;do{n=$(c[w+20>>2]|0,m)|0;p=m*3|0;c[l+(p<<2)>>2]=c[k+n>>2];c[l+(p+1<<2)>>2]=c[k+(n+4)>>2];c[l+(p+2<<2)>>2]=c[k+(n+8)>>2];m=m+1|0}while((m|0)<(c[w>>2]|0))}Hb[c[(c[f>>2]|0)+20>>2]&31](f,o,20152,1497453121,c[o+8>>2]|0)}k=c[w+16>>2]|0;if(!k){k=c[w+4>>2]|0;if(k){o=Wb[c[(c[f>>2]|0)+16>>2]&63](f,16,k)|0;m=c[o+8>>2]|0;c[j>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,m)|0;l=c[w+4>>2]|0;if((l|0)>0){k=c[w+28>>2]|0;n=c[w+8>>2]|0;p=0;do{q=$(n,p)|0;g[m+(p<<4)>>2]=+g[k+q>>2];g[m+(p<<4)+4>>2]=+g[k+(q+4)>>2];g[m+(p<<4)+8>>2]=+g[k+(q+8)>>2];p=p+1|0}while((p|0)!=(l|0))}Hb[c[(c[f>>2]|0)+20>>2]&31](f,o,20224,1497453121,c[o+8>>2]|0)}}else if((k|0)==1?(t=c[w+4>>2]|0,(t|0)!=0):0){k=Wb[c[(c[f>>2]|0)+16>>2]&63](f,32,t)|0;o=c[k+8>>2]|0;c[q>>2]=ec[c[(c[f>>2]|0)+28>>2]&31](f,o)|0;n=c[w+4>>2]|0;if((n|0)>0){m=c[w+28>>2]|0;l=c[w+8>>2]|0;p=0;do{q=$(l,p)|0;h[o+(p<<5)>>3]=+h[m+q>>3];h[o+(p<<5)+8>>3]=+h[m+(q+8)>>3];h[o+(p<<5)+16>>3]=+h[m+(q+16)>>3];p=p+1|0}while((p|0)!=(n|0))}Hb[c[(c[f>>2]|0)+20>>2]&31](f,k,20248,1497453121,c[k+8>>2]|0)}Lb[c[(c[d>>2]|0)+24>>2]&127](d,r);r=r+1|0;if((r|0)==(s|0)){j=f;break}else j=j+32|0}}else j=f;Hb[c[(c[j>>2]|0)+20>>2]&31](f,v,20272,1497453121,c[v+8>>2]|0);s=e+4|0;r=d+4|0;x=+g[r>>2];g[s>>2]=x;s=d+8|0;x=+g[s>>2];s=e+8|0;g[s>>2]=x;s=d+12|0;x=+g[s>>2];s=e+12|0;g[s>>2]=x;s=d+16|0;x=+g[s>>2];s=e+16|0;g[s>>2]=x;i=w;return 20288}function $D(a){a=a|0;var b=0,d=0;d=i;do{c[a+4>>2]=0;g[a+8>>2]=0.0;b=c[a+24>>2]|0;if(b)$D(b);a=c[a+28>>2]|0}while((a|0)!=0);i=d;return}function aE(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=c[5104]|0;if((c[e>>2]|0)==(a|0))b=e;else{b=c[e+24>>2]|0;a:do if(!b)d=5;else while(1){if((c[b>>2]|0)==(a|0))break a;b=c[b+28>>2]|0;if(!b){d=5;break}}while(0);if((d|0)==5){b=QE(36)|0;b:do if(!b){while(1){b=c[5230]|0;c[5230]=b+0;if(!b)break;qc[b&3]();b=QE(36)|0;if(b)break b}b=yb(4)|0;c[b>>2]=20816;wb(b|0,20864,207)}while(0);c[b>>2]=a;d=b+4|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b+20>>2]=e;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;c[b+32>>2]=0;$D(b);c[d>>2]=c[e+24>>2];c[e+24>>2]=b}c[5104]=b}e=b+4|0;c[e>>2]=(c[e>>2]|0)+1;e=b+16|0;d=c[e>>2]|0;c[e>>2]=d+1;if(d){i=f;return}Cb(f|0,0)|0;d=c[5090]|0;c[b+12>>2]=(c[f+4>>2]|0)-(c[d+4>>2]|0)+(((c[f>>2]|0)-(c[d>>2]|0)|0)*1e6|0);i=f;return}function bE(){var a=0,b=0;b=i;a=QE(8)|0;a:do if(!a){while(1){a=c[5230]|0;c[5230]=a+0;if(!a)break;qc[a&3]();a=QE(8)|0;if(a)break a}a=yb(4)|0;c[a>>2]=20816;wb(a|0,20864,207)}while(0);c[5090]=a;Cb(a|0,0)|0;c[5092]=20408;c[5093]=0;c[5094]=0;c[5095]=0;c[5096]=0;c[5097]=0;c[5098]=0;c[5099]=0;c[5100]=0;$D(20368);i=b;return}function cE(a,b,c,d,e,f,g,h,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;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;o=i;if((e|0)!=(k|0)){d=e-k|0;i=o;return d|0}if(!e){d=0;i=o;return d|0}n=gF(h|0,0,a|0,0)|0;p=D;m=gF(j|0,0,a|0,0)|0;q=D;k=gF(h|0,0,b|0,0)|0;a=D;l=gF(j|0,0,b|0,0)|0;b=D;k=XE(m|0,0,k|0,0)|0;m=D;b=XE(q|0,0,l|0,b|0)|0;b=XE(b|0,D|0,a|0,0)|0;a=D;k=XE(n|0,p|0,0,k|0)|0;l=D;n=XE(b|0,a|0,(l>>>0

>>0|(l|0)==(p|0)&k>>>0>>0)&1|0,0)|0;m=XE(n|0,D|0,m|0,0)|0;n=D;a=gF(f|0,0,c|0,0)|0;p=D;b=gF(g|0,0,c|0,0)|0;q=D;j=gF(f|0,0,d|0,0)|0;c=D;h=gF(g|0,0,d|0,0)|0;d=D;j=XE(b|0,0,j|0,0)|0;b=D;d=XE(q|0,0,h|0,d|0)|0;c=XE(d|0,D|0,c|0,0)|0;d=D;j=XE(a|0,p|0,0,j|0)|0;h=D;a=XE(c|0,d|0,(h>>>0

>>0|(h|0)==(p|0)&j>>>0>>0)&1|0,0)|0;b=XE(a|0,D|0,b|0,0)|0;a=D;if(!(n>>>0>>0|(n|0)==(a|0)&m>>>0>>0))if(!(n>>>0>a>>>0|(n|0)==(a|0)&m>>>0>b>>>0))if(l>>>0>>0|(l|0)==(h|0)&k>>>0>>0)j=-1;else j=(l>>>0>h>>>0|(l|0)==(h|0)&k>>>0>j>>>0)&1;else j=1;else j=-1;d=$(j,e)|0;i=o;return d|0}function dE(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;l=i;e=c[a+56>>2]|0;if(!e){e=c[a+52>>2]|0;if(!e){c[5108]=(c[5108]|0)+1;g=QE(31)|0;if((g|0)!=0?(f=g+19&-16,c[f+-4>>2]=g,(g+19&-16|0)!=0):0){e=c[a+60>>2]|0;c[f+4>>2]=e;c[f+8>>2]=0;c[5108]=(c[5108]|0)+1;e=QE((e*24|3)+16|0)|0;if(!e)f=0;else{c[(e+19&-16)+-4>>2]=e;f=e+19&-16}c[(g+19&-16)>>2]=f;e=g+19&-16}else e=0;c[e+8>>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;f=c[e>>2]|0;if((h|0)>0){g=0;e=f;do{g=g+1|0;m=e;e=e+24|0;c[m>>2]=(g|0)<(h|0)?e:0}while((g|0)!=(h|0))}e=c[f>>2]|0;c[a+56>>2]=e;if(!f)f=0;else k=14}else{c[a+56>>2]=c[e>>2];f=e;k=14}if((k|0)==14){c[f+0>>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;e=c[a+56>>2]|0}if(!e){e=c[a+52>>2]|0;if(!e){c[5108]=(c[5108]|0)+1;g=QE(31)|0;if((g|0)!=0?(j=g+19&-16,c[j+-4>>2]=g,(g+19&-16|0)!=0):0){e=c[a+60>>2]|0;c[j+4>>2]=e;c[j+8>>2]=0;c[5108]=(c[5108]|0)+1;e=QE((e*24|3)+16|0)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[(g+19&-16)>>2]=e;e=g+19&-16}else e=0;c[e+8>>2]=c[a+48>>2];c[a+48>>2]=e}else c[a+52>>2]=c[e+8>>2];j=c[e+4>>2]|0;e=c[e>>2]|0;if((j|0)>0){g=0;h=e;do{g=g+1|0;m=h;h=h+24|0;c[m>>2]=(g|0)<(j|0)?h:0}while((g|0)!=(j|0))}c[a+56>>2]=c[e>>2];if(!e)e=0;else k=28}else{c[a+56>>2]=c[e>>2];k=28}if((k|0)==28){c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0}c[f+8>>2]=e;c[e+8>>2]=f;k=c[a+100>>2]|0;c[f+20>>2]=k;c[e+20>>2]=k;c[f+12>>2]=d;c[e+12>>2]=b;c[f+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)){i=l;return f|0}c[a+120>>2]=e+1;i=l;return f|0}function eE(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,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=i;i=i+144|0;do if((d-b|0)==1)f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;else if(!(d-b|0)){c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;i=K;return}else if((d-b|0)==2){f=c[(c[a+92>>2]|0)+(b<<2)>>2]|0;j=c[f+88>>2]|0;k=c[f+200>>2]|0;l=c[f+92>>2]|0;h=c[f+204>>2]|0;if((j|0)==(k|0)){if((l|0)==(h|0))if((c[f+96>>2]|0)==(c[f+208>>2]|0))break;else g=l;else g=h;if((l|0)==(g|0)){z=(c[f+96>>2]|0)>(c[f+208>>2]|0);g=z?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=z?f:f+112|0}else{h=0;J=9}}else{g=h;h=(l|0)==(h|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;z=(l-g|0)<0;y=(j-k|0)<0|(j|0)==(k|0)&z;c[e>>2]=y?f:f+112|0;c[e+4>>2]=y?f+112|0:f;if(z|h&(j-k|0)<0){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);z=dE(a,g,f)|0;c[z>>2]=z;c[z+4>>2]=z;c[g+8>>2]=z;z=c[z+8>>2]|0;c[z>>2]=z;c[z+4>>2]=z;c[f+8>>2]=z;i=K;return}else{n=((d-b|0)/2|0)+b|0;k=c[a+92>>2]|0;f=c[k+(n+-1<<2)>>2]|0;h=c[f+88>>2]|0;g=c[f+92>>2]|0;f=c[f+96>>2]|0;a:do if((n|0)<(d|0)){m=n;while(1){j=c[k+(m<<2)>>2]|0;if((c[j+88>>2]|0)!=(h|0)){l=m;break a}if((c[j+92>>2]|0)!=(g|0)){l=m;break a}l=m+1|0;if((c[j+96>>2]|0)!=(f|0)){l=m;break a}if((l|0)<(d|0))m=l;else break}}else l=n;while(0);eE(a,b,n,e);c[K+96>>2]=0;c[K+100>>2]=0;c[K+104>>2]=0;c[K+108>>2]=0;eE(a,l,d,K+96|0);f=c[K+100>>2]|0;if(!f){i=K;return}y=c[e+4>>2]|0;if(!y){c[e+0>>2]=c[K+96>>2];c[e+4>>2]=c[K+100>>2];c[e+8>>2]=c[K+104>>2];c[e+12>>2]=c[K+108>>2];i=K;return}c[a+100>>2]=(c[a+100>>2]|0)+-1;g=c[e+12>>2]|0;h=c[K+104>>2]|0;j=c[g+88>>2]|0;b:do if((j|0)==(c[h+88>>2]|0)?(c[g+92>>2]|0)==(c[h+92>>2]|0):0){m=c[h+4>>2]|0;if((m|0)==(h|0)){f=c[h+8>>2]|0;if(f){h=c[f+12>>2]|0;j=c[h+88>>2]|0}y=h;n=j+1|0;m=c[h+96>>2]|0;break}j=c[h>>2]|0;c[m>>2]=j;c[j+4>>2]=m;c:do if((h|0)==(c[K+96>>2]|0)){l=c[j+88>>2]|0;k=c[m+88>>2]|0;do if((l|0)>=(k|0)){if((l|0)==(k|0)?(c[j+92>>2]|0)<(c[m+92>>2]|0):0)break;c[K+96>>2]=m;break c}while(0);c[K+96>>2]=j}while(0);if((h|0)==(f|0)){l=c[j+88>>2]|0;k=c[m+88>>2]|0;do if((l|0)<=(k|0)){if((l|0)==(k|0)?(c[j+92>>2]|0)>(c[m+92>>2]|0):0)break;c[K+100>>2]=m;j=m;J=39;break b}while(0);c[K+100>>2]=j;J=39}else{j=f;J=39}}else{j=f;J=39}while(0);if((J|0)==39){v=c[e>>2]|0;w=c[K+96>>2]|0;b=0;x=1;d=y;G=0;n=j;h=0;d:while(1)while(1){s=c[d+88>>2]|0;o=$((c[n+88>>2]|0)-s|0,x)|0;e:do if((o|0)<=0){if((o|0)<0){u=(b|0)!=0;p=c[d+92>>2]|0;t=c[n+92>>2]|0;while(1){r=c[(u?n+4|0:n)>>2]|0;m=(r|0)==(n|0);s=n+88|0;while(1){q=d+88|0;l=t-p|0;if(!m?(z=c[r+88>>2]|0,E=$(z-(c[s>>2]|0)|0,x)|0,C=c[r+92>>2]|0,F=C-t|0,(F|0)>-1):0){if(!E)break;if((E|0)<0?($(F,o)|0)<=($(E,l)|0):0)break}k=c[(u?d+4|0:d)>>2]|0;if((k|0)==(d|0)){o=d;m=n;break e}A=c[k+88>>2]|0;g=$(A-(c[q>>2]|0)|0,x)|0;f=c[k+92>>2]|0;p=f-p|0;q=o;o=$((c[s>>2]|0)-A|0,x)|0;if(!((o|0)<0&(p|0)>0)){o=d;m=n;break e}if(!g){p=f;d=k;continue}if((g|0)>=0){o=d;m=n;break e}if(($(p,q)|0)>=($(g,l)|0)){o=d;m=n;break e}else{p=f;d=k}}t=C;o=$(z-(c[q>>2]|0)|0,x)|0;n=r}}m=c[d+92>>2]|0;q=(b|0)!=0;f:do if(q){o=d;while(1){l=c[o>>2]|0;if((l|0)==(d|0))break f;if((c[l+88>>2]|0)!=(s|0))break f;u=m;m=c[l+92>>2]|0;if((m|0)>(u|0))break;else o=l}}else{o=d;while(1){l=c[o+4>>2]|0;if((l|0)==(d|0))break f;if((c[l+88>>2]|0)!=(s|0))break f;u=m;m=c[l+92>>2]|0;if((m|0)>(u|0))break;else o=l}}while(0);l=c[n+92>>2]|0;if(q){m=n;while(1){d=c[m+4>>2]|0;if((d|0)==(n|0))break e;if((c[d+88>>2]|0)!=(s|0))break e;u=l;l=c[d+92>>2]|0;if((l|0)<(u|0))break;else m=d}}else{m=n;while(1){d=c[m>>2]|0;if((d|0)==(n|0))break e;if((c[d+88>>2]|0)!=(s|0))break e;u=l;l=c[d+92>>2]|0;if((l|0)<(u|0))break;else m=d}}}else{r=(b|0)!=0;m=c[n+92>>2]|0;while(1){A=n+88|0;g=d+88|0;q=c[d+92>>2]|0;k=m-q|0;p=c[(r?d:d+4|0)>>2]|0;g:do if((p|0)==(d|0)){f=o;o=g}else{u=c[d+88>>2]|0;B=p;f=o;l=k;while(1){p=u;u=c[B+88>>2]|0;p=$(u-p|0,x)|0;k=q;q=c[B+92>>2]|0;k=q-k|0;if((k|0)>=1){o=g;k=l;break g}if(p){if((p|0)>=0){o=g;k=l;break g}if(($(k,f)|0)>($(p,l)|0)){o=g;k=l;break g}}f=$((c[A>>2]|0)-u|0,x)|0;g=B+88|0;k=m-q|0;p=c[(r?B:B+4|0)>>2]|0;if((p|0)==(B|0)){o=g;d=B;break}else{d=B;B=p;l=k}}}while(0);g=c[(r?n:n+4|0)>>2]|0;if((g|0)==(n|0)){o=d;m=n;break e}u=c[g+88>>2]|0;q=$(u-(c[A>>2]|0)|0,x)|0;p=m;m=c[g+92>>2]|0;p=m-p|0;o=$(u-(c[o>>2]|0)|0,x)|0;if(!((o|0)>0&(p|0)<0)){o=d;m=n;break e}if(!q){n=g;continue}if((q|0)>=0){o=d;m=n;break e}if(($(p,f)|0)>=($(q,k)|0)){o=d;m=n;break}else n=g}}while(0);u=b;b=b+1|0;if(!u){x=-1;d=v;G=o;n=w;h=m;continue d}if((b|0)==2)break d;else{d=o;n=m}}c[o+4>>2]=m;c[m>>2]=o;c[G>>2]=h;c[h+4>>2]=G;if((c[w+88>>2]|0)<(c[v+88>>2]|0))c[e>>2]=w;if((c[j+88>>2]|0)>=(c[y+88>>2]|0))c[e+4>>2]=j;c[e+12>>2]=c[K+108>>2];d=c[h+88>>2]|0;l=c[G+88>>2]|0;v=c[h+92>>2]|0;w=c[G+92>>2]|0;x=c[h+96>>2]|0;m=c[G+96>>2]|0;y=((v-w|0)<0)<<31>>31;B=0-(d-l)|0;z=UE(0,0,B|0,((B|0)<0)<<31>>31|0)|0;z=gF(x-m|0,((x-m|0)<0)<<31>>31|0,z|0,D|0)|0;A=D;u=gF(x-m|0,((x-m|0)<0)<<31>>31|0,v-w|0,y|0)|0;t=D;g=gF(d-l|0,((d-l|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;r=D;s=gF(v-w|0,y|0,v-w|0,y|0)|0;s=UE(g|0,r|0,s|0,D|0)|0;r=D;g=c[G+8>>2]|0;c[K+140>>2]=0;if(!g)b=0;else{j=UE(0,0,v-w|0,y|0)|0;k=D;b=0;n=g;do{o=c[n+12>>2]|0;q=c[o+88>>2]|0;p=c[o+92>>2]|0;o=c[o+96>>2]|0;E=gF(p-w|0,((p-w|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;f=D;C=gF(q-l|0,((q-l|0)<0)<<31>>31|0,j|0,k|0)|0;h:do if((E|0)==(C|0)&(f|0)==(D|0)?(C=gF(q-l|0,((q-l|0)<0)<<31>>31|0,z|0,A|0)|0,E=D,f=gF(p-w|0,((p-w|0)<0)<<31>>31|0,u|0,t|0)|0,E=XE(f|0,D|0,C|0,E|0)|0,C=D,f=gF(o-m|0,((o-m|0)<0)<<31>>31|0,s|0,r|0)|0,f=XE(E|0,C|0,f|0,D|0)|0,C=D,(C|0)>0|(C|0)==0&f>>>0>0):0){do if(b){f=(c[b+4>>2]|0)==(n|0);if((c[b>>2]|0)!=(n|0))if(f)break;else break h;if(!f)break h;C=c[b+12>>2]|0;E=c[(c[n+8>>2]|0)+12>>2]|0;f=c[E+88>>2]|0;e=c[E+92>>2]|0;E=c[E+96>>2]|0;F=(c[C+96>>2]|0)-E|0;p=($(o-E|0,(c[C+92>>2]|0)-e|0)|0)-($(F,p-e|0)|0)|0;q=($(F,q-f|0)|0)-($(o-E|0,(c[C+88>>2]|0)-f|0)|0)|0;o=gF(p|0,((p|0)<0)<<31>>31|0,v-w|0,y|0)|0;p=D;q=gF(q|0,((q|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;q=XE(o|0,p|0,q|0,D|0)|0;p=D;if((p|0)>0|(p|0)==0&q>>>0>0)break h}while(0);c[K+140>>2]=n;b=n}while(0);n=c[n>>2]|0}while((n|0)!=(g|0))}j=c[h+8>>2]|0;c[K+136>>2]=0;if(!j)g=0;else{k=UE(0,0,v-w|0,y|0)|0;l=D;g=0;q=j;do{f=c[q+12>>2]|0;p=c[f+88>>2]|0;o=c[f+92>>2]|0;f=c[f+96>>2]|0;C=gF(o-v|0,((o-v|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;m=D;n=gF(p-d|0,((p-d|0)<0)<<31>>31|0,k|0,l|0)|0;do if((C|0)==(n|0)&(m|0)==(D|0)?(n=gF(p-d|0,((p-d|0)<0)<<31>>31|0,z|0,A|0)|0,C=D,m=gF(o-v|0,((o-v|0)<0)<<31>>31|0,u|0,t|0)|0,C=XE(m|0,D|0,n|0,C|0)|0,n=D,m=gF(f-x|0,((f-x|0)<0)<<31>>31|0,s|0,r|0)|0,m=XE(C|0,n|0,m|0,D|0)|0,n=D,(n|0)>0|(n|0)==0&m>>>0>0):0){if(g){if((c[g>>2]|0)!=(q|0))break;if((c[g+4>>2]|0)==(q|0)?(n=c[g+12>>2]|0,C=c[(c[q+8>>2]|0)+12>>2]|0,m=c[C+88>>2]|0,F=c[C+92>>2]|0,C=c[C+96>>2]|0,E=(c[n+96>>2]|0)-C|0,o=($(f-C|0,(c[n+92>>2]|0)-F|0)|0)-($(E,o-F|0)|0)|0,p=($(E,p-m|0)|0)-($(f-C|0,(c[n+88>>2]|0)-m|0)|0)|0,f=gF(o|0,((o|0)<0)<<31>>31|0,v-w|0,y|0)|0,o=D,p=gF(p|0,((p|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0,p=XE(f|0,o|0,p|0,D|0)|0,o=D,!((o|0)>0|(o|0)==0&p>>>0>0)):0)break}c[K+136>>2]=q;g=q}while(0);q=c[q>>2]|0}while((q|0)!=(j|0))}if((b|0)!=0|(g|0)!=0){gE(a,G,h,K+140|0,K+136|0);g=c[K+140>>2]|0;if(!g)g=G;else g=c[g+12>>2]|0;f=c[K+136>>2]|0;if(f)h=c[f+12>>2]|0}else g=G;y=h;n=c[h+88>>2]|0;m=(c[h+96>>2]|0)+1|0}f=c[y+92>>2]|0;o=f;x=g;v=y;l=0;h=0;q=1;k=0;d=0;B=0;r=0;j=0;b=0;while(1){A=x+88|0;s=(c[v+88>>2]|0)-(c[A>>2]|0)|0;z=x+92|0;t=o-(c[z>>2]|0)|0;p=x+96|0;C=(c[v+96>>2]|0)-(c[p>>2]|0)|0;c[K+120>>2]=s;c[K+124>>2]=t;c[K+128>>2]=C;c[K+132>>2]=-1;A=n-(c[A>>2]|0)|0;z=f-(c[z>>2]|0)|0;p=m-(c[p>>2]|0)|0;o=($(C,z)|0)-($(t,p)|0)|0;p=($(s,p)|0)-($(C,A)|0)|0;z=($(t,A)|0)-($(s,z)|0)|0;c[K+72>>2]=o;c[K+76>>2]=((o|0)<0)<<31>>31;c[K+80>>2]=p;c[K+84>>2]=((p|0)<0)<<31>>31;c[K+88>>2]=z;c[K+92>>2]=((z|0)<0)<<31>>31;A=gF(z|0,((z|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;w=D;u=gF(C|0,((C|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;u=UE(A|0,w|0,u|0,D|0)|0;w=D;C=gF(o|0,((o|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;A=D;z=gF(s|0,((s|0)<0)<<31>>31|0,z|0,((z|0)<0)<<31>>31|0)|0;z=UE(C|0,A|0,z|0,D|0)|0;A=D;p=gF(s|0,((s|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;s=D;t=gF(o|0,((o|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;t=UE(p|0,s|0,t|0,D|0)|0;c[K+48>>2]=u;c[K+52>>2]=w;c[K+56>>2]=z;c[K+60>>2]=A;c[K+64>>2]=t;c[K+68>>2]=D;c[K+24>>2]=0;c[K+28>>2]=0;c[K+32>>2]=0;c[K+36>>2]=0;c[K+40>>2]=0;t=fE(a,0,x,K+120|0,K+72|0,K+48|0,K+24|0)|0;c[K+0>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;c[K+16>>2]=0;A=fE(a,1,v,K+120|0,K+72|0,K+48|0,K)|0;if(!((t|0)!=0|(A|0)!=0)){J=119;break}if((t|0)!=0&(A|0)!=0)s=cE(c[K+24>>2]|0,c[K+28>>2]|0,c[K+32>>2]|0,c[K+36>>2]|0,c[K+40>>2]|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)|0;else s=(t|0)!=0?-1:1;do if(!q){if((s|0)>-1)if((c[K+16>>2]|0)<0&((c[K+8>>2]|0)==0&(c[K+12>>2]|0)==0)){J=132;break}else{J=127;break}if((c[K+40>>2]|0)<0&((c[K+32>>2]|0)==0&(c[K+36>>2]|0)==0)){c[K+116>>2]=t;c[K+112>>2]=A;u=v;w=h;p=f}else J=127}else J=127;while(0);if((J|0)==127){p=dE(a,x,v)|0;if(!B)k=p;else c[B+4>>2]=p;c[p>>2]=B;o=c[p+8>>2]|0;if(!r)d=o;else c[r>>2]=o;c[o+4>>2]=r;B=p;r=o;J=132}if((J|0)==132){J=0;c[K+116>>2]=t;c[K+112>>2]=A;if(!s){gE(a,x,v,K+116|0,K+112|0);q=c[K+112>>2]|0}else q=A;if((s|0)>-1&(q|0)!=0){p=(b|0)!=0;if(p?(H=c[b>>2]|0,(H|0)!=(A|0)):0){f=H;do{o=f;f=c[f>>2]|0;n=c[o+8>>2]|0;if((f|0)==(o|0))c[(c[n+12>>2]|0)+8>>2]=0;else{c[f+4>>2]=c[o+4>>2];c[c[o+4>>2]>>2]=f;c[(c[n+12>>2]|0)+8>>2]=f}m=c[n>>2]|0;if((m|0)==(n|0))c[(c[o+12>>2]|0)+8>>2]=0;else{c[m+4>>2]=c[n+4>>2];c[c[n+4>>2]>>2]=m;c[(c[o+12>>2]|0)+8>>2]=m};c[o+0>>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[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>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((f|0)!=(A|0))}if(!r)h=p?h:A;else{if(p){c[b>>2]=d;n=A+4|0}else{b=c[A+4>>2]|0;c[b>>2]=d;h=d;n=A+4|0}c[d+4>>2]=b;c[r>>2]=A;c[n>>2]=r;q=c[K+112>>2]|0;d=0}u=c[q+12>>2]|0;w=h;r=0;n=c[v+88>>2]|0;p=c[v+92>>2]|0;m=c[v+96>>2]|0;b=c[q+8>>2]|0}else{u=v;w=h;p=f}}q=c[K+116>>2]|0;if((s|0)<1&(q|0)!=0){p=(j|0)!=0;if(p?(I=c[j+4>>2]|0,(I|0)!=(t|0)):0){o=I;do{m=o+4|0;f=o;o=c[m>>2]|0;n=c[f>>2]|0;h=c[f+8>>2]|0;if((n|0)==(f|0))c[(c[h+12>>2]|0)+8>>2]=0;else{c[n+4>>2]=o;c[c[m>>2]>>2]=n;c[(c[h+12>>2]|0)+8>>2]=n}n=c[h>>2]|0;if((n|0)==(h|0))c[(c[f+12>>2]|0)+8>>2]=0;else{c[n+4>>2]=c[h+4>>2];c[c[h+4>>2]>>2]=n;c[(c[f+12>>2]|0)+8>>2]=n};c[f+0>>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]=c[a+56>>2];c[a+56>>2]=f;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h>>2]=c[a+56>>2];c[a+56>>2]=h;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((o|0)!=(t|0))}if(!B){o=q;l=p?l:t}else{if(p){c[j+4>>2]=k;h=t}else{j=c[t>>2]|0;c[j+4>>2]=k;l=k;h=t}c[k>>2]=j;c[h>>2]=B;c[B+4>>2]=t;o=c[K+116>>2]|0;k=0}q=c[o+12>>2]|0;s=l;t=k;B=0;n=c[x+88>>2]|0;p=c[x+92>>2]|0;m=c[x+96>>2]|0;A=c[o+8>>2]|0}else{q=x;s=l;t=k;A=j}if((q|0)==(g|0)&(u|0)==(y|0))break;o=c[u+92>>2]|0;x=q;v=u;l=s;h=w;q=0;k=t;f=p;j=A}if((J|0)==119){z=dE(a,x,v)|0;c[z>>2]=z;c[z+4>>2]=z;c[x+8>>2]=z;z=c[z+8>>2]|0;c[z>>2]=z;c[z+4>>2]=z;c[v+8>>2]=z;i=K;return}if(A){f=A+4|0;l=c[f>>2]|0;if((l|0)!=(s|0))do{j=l+4|0;g=l;l=c[j>>2]|0;k=c[g>>2]|0;h=c[g+8>>2]|0;if((k|0)==(g|0))c[(c[h+12>>2]|0)+8>>2]=0;else{c[k+4>>2]=l;c[c[j>>2]>>2]=k;c[(c[h+12>>2]|0)+8>>2]=k}k=c[h>>2]|0;if((k|0)==(h|0))c[(c[g+12>>2]|0)+8>>2]=0;else{c[k+4>>2]=c[h+4>>2];c[c[h+4>>2]>>2]=k;c[(c[g+12>>2]|0)+8>>2]=k};c[g+0>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g>>2]=c[a+56>>2];c[a+56>>2]=g;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h>>2]=c[a+56>>2];c[a+56>>2]=h;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((l|0)!=(s|0));if(B){c[t>>2]=A;c[f>>2]=t;c[s>>2]=B;c[B+4>>2]=s}}else{c[t>>2]=B;c[B+4>>2]=t;c[q+8>>2]=B}if(!b){c[r>>2]=d;c[d+4>>2]=r;c[y+8>>2]=r;i=K;return}g=c[b>>2]|0;if((g|0)!=(w|0))do{j=g;g=c[g>>2]|0;f=c[j+8>>2]|0;if((g|0)==(j|0))c[(c[f+12>>2]|0)+8>>2]=0;else{c[g+4>>2]=c[j+4>>2];c[c[j+4>>2]>>2]=g;c[(c[f+12>>2]|0)+8>>2]=g}h=c[f>>2]|0;if((h|0)==(f|0))c[(c[j+12>>2]|0)+8>>2]=0;else{c[h+4>>2]=c[f+4>>2];c[c[f+4>>2]>>2]=h;c[(c[j+12>>2]|0)+8>>2]=h};c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j>>2]=c[a+56>>2];c[a+56>>2]=j;c[f+0>>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]=c[a+56>>2];c[a+56>>2]=f;c[a+116>>2]=(c[a+116>>2]|0)+-1}while((g|0)!=(w|0));if(!r){i=K;return}c[b>>2]=d;c[d+4>>2]=b;c[r>>2]=w;c[w+4>>2]=r;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 fE(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=i;j=c[d+8>>2]|0;if(!j){d=0;i=A;return d|0}z=j;j=0;do{do if((c[z+20>>2]|0)>(c[a+100>>2]|0)){v=c[z+12>>2]|0;t=c[v+88>>2]|0;w=t-(c[d+88>>2]|0)|0;u=c[v+92>>2]|0;x=u-(c[d+92>>2]|0)|0;v=c[v+96>>2]|0;y=v-(c[d+96>>2]|0)|0;l=gF(w|0,((w|0)<0)<<31>>31|0,c[g>>2]|0,c[g+4>>2]|0)|0;q=D;k=gF(x|0,((x|0)<0)<<31>>31|0,c[g+8>>2]|0,c[g+12>>2]|0)|0;q=XE(k|0,D|0,l|0,q|0)|0;l=D;k=gF(y|0,((y|0)<0)<<31>>31|0,c[g+16>>2]|0,c[g+20>>2]|0)|0;k=XE(q|0,l|0,k|0,D|0)|0;l=D;q=gF(c[f>>2]|0,c[f+4>>2]|0,w|0,((w|0)<0)<<31>>31|0)|0;m=D;p=gF(c[f+8>>2]|0,c[f+12>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;m=XE(p|0,D|0,q|0,m|0)|0;q=D;p=gF(c[f+16>>2]|0,c[f+20>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;p=XE(m|0,q|0,p|0,D|0)|0;q=D;if((l|0)>0|(l|0)==0&k>>>0>0){s=l;o=1;r=k;l=1}else{r=UE(0,0,k|0,l|0)|0;s=(l|0)<0?D:0;o=(l|0)<0?-1:0;r=(l|0)<0?r:0;l=(l|0)<0?-1:0}if(!((q|0)>0|(q|0)==0&p>>>0>0)){if((q|0)<0){l=0-o|0;n=UE(0,0,p|0,q|0)|0;m=D;o=l;k=(p|0)==0&(q|0)==0}else{n=0;m=0;k=1}if((o|0)==0&k)break}else{n=p;m=q}if(!j){c[h>>2]=r;c[h+4>>2]=s;c[h+8>>2]=n;c[h+12>>2]=m;c[h+16>>2]=l;j=z;break}k=cE(r,s,n,m,l,c[h>>2]|0,c[h+4>>2]|0,c[h+8>>2]|0,c[h+12>>2]|0,c[h+16>>2]|0)|0;if((k|0)<0){c[h>>2]=r;c[h+4>>2]=s;c[h+8>>2]=n;c[h+12>>2]=m;c[h+16>>2]=l;j=z;break}if(!k){k=(c[j+4>>2]|0)==(z|0);if((c[j>>2]|0)==(z|0))if(k){n=c[e+8>>2]|0;l=$(n,x)|0;k=c[e+4>>2]|0;l=l-($(k,y)|0)|0;q=c[e>>2]|0;y=($(q,y)|0)-($(w,n)|0)|0;x=($(w,k)|0)-($(q,x)|0)|0;q=c[j+12>>2]|0;k=c[(c[z+8>>2]|0)+12>>2]|0;n=c[k+88>>2]|0;o=(c[q+88>>2]|0)-n|0;p=c[k+92>>2]|0;m=(c[q+92>>2]|0)-p|0;k=c[k+96>>2]|0;q=(c[q+96>>2]|0)-k|0;w=($(v-k|0,m)|0)-($(u-p|0,q)|0)|0;k=($(t-n|0,q)|0)-($(v-k|0,o)|0)|0;u=($(u-p|0,o)|0)-($(t-n|0,m)|0)|0;v=gF(w|0,((w|0)<0)<<31>>31|0,l|0,((l|0)<0)<<31>>31|0)|0;w=D;y=gF(k|0,((k|0)<0)<<31>>31|0,y|0,((y|0)<0)<<31>>31|0)|0;k=D;x=gF(u|0,((u|0)<0)<<31>>31|0,x|0,((x|0)<0)<<31>>31|0)|0;x=XE(v|0,w|0,x|0,D|0)|0;k=XE(x|0,D|0,y|0,k|0)|0;y=D;k=(y|0)>0|(y|0)==0&k>>>0>0?2:1}else k=2;else k=k&1;j=(k|0)==2^b?j:z}}while(0);z=c[z>>2]|0}while((z|0)!=(c[d+8>>2]|0));i=A;return j|0}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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0;da=i;Q=c[e>>2]|0;ca=c[f>>2]|0;if(Q)g=c[Q+12>>2]|0;else g=b;j=c[g+88>>2]|0;m=c[g+92>>2]|0;n=c[g+96>>2]|0;if(!ca)g=d;else g=c[ca+12>>2]|0;F=c[g+88>>2]|0;o=c[g+92>>2]|0;E=c[g+96>>2]|0;S=c[b+88>>2]|0;aa=(c[d+88>>2]|0)-S|0;B=c[b+92>>2]|0;ba=(c[d+92>>2]|0)-B|0;b=c[b+96>>2]|0;_=(c[d+96>>2]|0)-b|0;Z=c[((Q|0)!=0?Q:ca)+12>>2]|0;T=(c[Z+88>>2]|0)-S|0;P=(c[Z+92>>2]|0)-B|0;Z=(c[Z+96>>2]|0)-b|0;Y=($(P,_)|0)-($(Z,ba)|0)|0;Z=($(Z,aa)|0)-($(T,_)|0)|0;P=($(T,ba)|0)-($(P,aa)|0)|0;S=gF(Y|0,((Y|0)<0)<<31>>31|0,S|0,((S|0)<0)<<31>>31|0)|0;T=D;B=gF(Z|0,((Z|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;C=D;b=gF(P|0,((P|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=XE(S|0,T|0,b|0,D|0)|0;C=XE(b|0,D|0,B|0,C|0)|0;B=D;b=gF(P|0,((P|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;T=D;S=gF(Z|0,((Z|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;S=UE(b|0,T|0,S|0,D|0)|0;T=D;b=gF(Y|0,((Y|0)<0)<<31>>31|0,_|0,((_|0)<0)<<31>>31|0)|0;V=D;U=gF(P|0,((P|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;U=UE(b|0,V|0,U|0,D|0)|0;V=D;b=gF(Z|0,((Z|0)<0)<<31>>31|0,aa|0,((aa|0)<0)<<31>>31|0)|0;X=D;W=gF(Y|0,((Y|0)<0)<<31>>31|0,ba|0,((ba|0)<0)<<31>>31|0)|0;W=UE(b|0,X|0,W|0,D|0)|0;X=D;b=gF(S|0,T|0,j|0,((j|0)<0)<<31>>31|0)|0;O=D;d=gF(U|0,V|0,m|0,((m|0)<0)<<31>>31|0)|0;O=XE(d|0,D|0,b|0,O|0)|0;b=D;d=gF(W|0,X|0,n|0,((n|0)<0)<<31>>31|0)|0;d=XE(O|0,b|0,d|0,D|0)|0;b=D;if((Q|0)!=0?(c[Q+12>>2]|0)!=0:0){q=Q;r=j;p=m;while(1){q=c[(c[q+8>>2]|0)+4>>2]|0;m=q+12|0;j=c[m>>2]|0;h=c[j+88>>2]|0;N=gF(h|0,((h|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;M=D;g=c[j+92>>2]|0;O=gF(g|0,((g|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;M=XE(O|0,D|0,N|0,M|0)|0;N=D;j=c[j+96>>2]|0;O=gF(j|0,((j|0)<0)<<31>>31|0,P|0,((P|0)<0)<<31>>31|0)|0;O=XE(M|0,N|0,O|0,D|0)|0;N=D;if((N|0)<(B|0)|(N|0)==(B|0)&O>>>0>>0){j=r;g=p;h=n;break}if((c[q+20>>2]|0)==(c[a+100>>2]|0)){j=r;g=p;h=n;break}l=gF(h|0,((h|0)<0)<<31>>31|0,S|0,T|0)|0;O=D;k=gF(g|0,((g|0)<0)<<31>>31|0,U|0,V|0)|0;O=XE(k|0,D|0,l|0,O|0)|0;l=D;k=gF(j|0,((j|0)<0)<<31>>31|0,W|0,X|0)|0;k=XE(O|0,l|0,k|0,D|0)|0;l=D;if(!((l|0)>(b|0)|(l|0)==(b|0)&k>>>0>d>>>0)){j=r;g=p;h=n;break}c[e>>2]=q;O=c[m>>2]|0;j=c[O+88>>2]|0;g=c[O+92>>2]|0;h=c[O+96>>2]|0;if(!O){d=k;b=l;break}else{b=l;d=k;r=j;p=g;n=h}}r=c[f>>2]|0;G=g;n=h}else{r=ca;G=m}h=gF(S|0,T|0,F|0,((F|0)<0)<<31>>31|0)|0;O=D;g=gF(U|0,V|0,o|0,((o|0)<0)<<31>>31|0)|0;O=XE(g|0,D|0,h|0,O|0)|0;h=D;g=gF(W|0,X|0,E|0,((E|0)<0)<<31>>31|0)|0;g=XE(O|0,h|0,g|0,D|0)|0;h=D;a:do if(r)if(!(c[r+12>>2]|0)){O=r;l=F;N=E}else{t=r;p=F;r=E;while(1){q=c[c[t+8>>2]>>2]|0;m=c[q+12>>2]|0;k=c[m+88>>2]|0;N=gF(k|0,((k|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;M=D;l=c[m+92>>2]|0;O=gF(l|0,((l|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;M=XE(O|0,D|0,N|0,M|0)|0;N=D;m=c[m+96>>2]|0;O=gF(m|0,((m|0)<0)<<31>>31|0,P|0,((P|0)<0)<<31>>31|0)|0;O=XE(M|0,N|0,O|0,D|0)|0;N=D;if((N|0)<(B|0)|(N|0)==(B|0)&O>>>0>>0){O=t;l=p;N=r;break a}if((c[q+20>>2]|0)==(c[a+100>>2]|0)){O=t;l=p;N=r;break a}k=gF(k|0,((k|0)<0)<<31>>31|0,S|0,T|0)|0;O=D;N=gF(l|0,((l|0)<0)<<31>>31|0,U|0,V|0)|0;O=XE(N|0,D|0,k|0,O|0)|0;k=D;m=gF(m|0,((m|0)<0)<<31>>31|0,W|0,X|0)|0;m=XE(O|0,k|0,m|0,D|0)|0;k=D;if(!((k|0)>(h|0)|(k|0)==(h|0)&m>>>0>g>>>0)){O=t;l=p;N=r;break a}c[f>>2]=q;O=c[q+12>>2]|0;l=c[O+88>>2]|0;o=c[O+92>>2]|0;r=c[O+96>>2]|0;if(!O){g=m;h=k;O=q;N=r;break}else{t=q;h=k;g=m;p=l}}}else{O=0;l=F;N=E}while(0);h=UE(g|0,h|0,d|0,b|0)|0;M=D;if((M|0)>0|(M|0)==0&h>>>0>0){H=UE(0,0,P|0,((P|0)<0)<<31>>31|0)|0;I=D;b=h;g=M;J=j;K=G;L=n;r=l;q=o;p=N;b:while(1){c:while(1){B=($(q-K|0,ba)|0)+($(p-L|0,_)|0)+($(r-J|0,aa)|0)|0;z=c[e>>2]|0;do if(((z|0)!=0?(c[z+12>>2]|0)!=0:0)?(R=c[(c[z>>2]|0)+8>>2]|0,(c[R+20>>2]|0)>(c[a+100>>2]|0)):0){C=c[R+12>>2]|0;F=c[C+88>>2]|0;m=F-J|0;E=c[C+92>>2]|0;k=E-K|0;C=c[C+96>>2]|0;t=C-L|0;d=gF(m|0,((m|0)<0)<<31>>31|0,S|0,T|0)|0;u=D;s=gF(k|0,((k|0)<0)<<31>>31|0,U|0,V|0)|0;u=XE(s|0,D|0,d|0,u|0)|0;d=D;s=gF(t|0,((t|0)<0)<<31>>31|0,W|0,X|0)|0;s=XE(u|0,d|0,s|0,D|0)|0;d=D;t=($(k,ba)|0)+($(m,aa)|0)+($(t,_)|0)|0;if((s|0)==0&(d|0)==0)if((t|0)<0)break c;else break;if((d|0)<0){if((t|0)>0){k=1;y=t;A=((t|0)<0)<<31>>31;u=1}else{y=UE(0,0,t|0,((t|0)<0)<<31>>31|0)|0;k=(t|0)<0?-1:0;y=(t|0)<0?y:0;A=(t|0)<0?D:0;u=(t|0)<0?-1:0}if(!((d|0)>0|(d|0)==0&s>>>0>0)){s=UE(0,0,s|0,d|0)|0;d=D;u=0-k|0}if((B|0)>0){t=1;k=B;m=((B|0)<0)<<31>>31;v=1}else{k=UE(0,0,B|0,((B|0)<0)<<31>>31|0)|0;t=(B|0)<0?-1:0;k=(B|0)<0?k:0;m=(B|0)<0?D:0;v=(B|0)<0?-1:0}if(!((g|0)>0|(g|0)==0&b>>>0>0))if((g|0)<0){w=UE(0,0,b|0,g|0)|0;x=D;v=0-t|0}else{w=0;x=0}else{w=b;x=g}if((cE(y,A,s,d,u,k,m,w,x,v)|0)>-1)break c}}while(0);m=c[f>>2]|0;if(!m){d=97;break b}if(!(c[m+12>>2]|0)){d=97;break b}F=c[c[m+8>>2]>>2]|0;if((c[F+20>>2]|0)<=(c[a+100>>2]|0)){d=97;break b}E=c[F+12>>2]|0;k=c[E+88>>2]|0;t=k-r|0;d=c[E+92>>2]|0;s=d-q|0;q=c[E+96>>2]|0;r=q-p|0;E=gF(t|0,((t|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;m=D;C=gF(s|0,((s|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;m=XE(C|0,D|0,E|0,m|0)|0;E=D;C=gF(r|0,((r|0)<0)<<31>>31|0,H|0,I|0)|0;if(!((m|0)==(C|0)&(E|0)==(D|0))){d=97;break b}p=gF(t|0,((t|0)<0)<<31>>31|0,S|0,T|0)|0;w=D;u=gF(s|0,((s|0)<0)<<31>>31|0,U|0,V|0)|0;w=XE(u|0,D|0,p|0,w|0)|0;p=D;u=gF(r|0,((r|0)<0)<<31>>31|0,W|0,X|0)|0;u=XE(w|0,p|0,u|0,D|0)|0;p=D;t=($(s,ba)|0)+($(t,aa)|0)+($(r,_)|0)|0;w=k-J|0;C=d-K|0;x=q-L|0;w=gF(w|0,((w|0)<0)<<31>>31|0,S|0,T|0)|0;E=D;C=gF(C|0,((C|0)<0)<<31>>31|0,U|0,V|0)|0;E=XE(C|0,D|0,w|0,E|0)|0;w=D;x=gF(x|0,((x|0)<0)<<31>>31|0,W|0,X|0)|0;x=XE(E|0,w|0,x|0,D|0)|0;w=D;if(!((w|0)>0|(w|0)==0&x>>>0>0)){d=97;break b}if((u|0)==0&(p|0)==0){if((t|0)>=0){d=97;break b}}else{if((p|0)>=0){d=97;break b}if((t|0)>0){s=1;v=t;k=((t|0)<0)<<31>>31;t=1}else{v=UE(0,0,t|0,((t|0)<0)<<31>>31|0)|0;s=(t|0)<0?-1:0;v=(t|0)<0?v:0;k=(t|0)<0?D:0;t=(t|0)<0?-1:0}if((p|0)>0|(p|0)==0&u>>>0>0)d=p;else{u=UE(0,0,u|0,p|0)|0;d=D;t=0-s|0}if((B|0)>0){r=1;q=B;p=((B|0)<0)<<31>>31;s=1}else{q=UE(0,0,B|0,((B|0)<0)<<31>>31|0)|0;r=(B|0)<0?-1:0;q=(B|0)<0?q:0;p=(B|0)<0?D:0;s=(B|0)<0?-1:0}do if(!((g|0)>0|(g|0)==0&b>>>0>0)){if((g|0)>=0){b=0;g=0;break}b=UE(0,0,b|0,g|0)|0;g=D;s=0-r|0}while(0);if((cE(v,k,u,d,t,q,p,b,g,s)|0)<=0){d=97;break b}}c[f>>2]=F;p=c[F+12>>2]|0;g=w;b=x;r=c[p+88>>2]|0;q=c[p+92>>2]|0;p=c[p+96>>2]|0}g=r-F|0;K=q-E|0;b=p-C|0;g=gF(g|0,((g|0)<0)<<31>>31|0,S|0,T|0)|0;J=D;K=gF(K|0,((K|0)<0)<<31>>31|0,U|0,V|0)|0;J=XE(K|0,D|0,g|0,J|0)|0;g=D;b=gF(b|0,((b|0)<0)<<31>>31|0,W|0,X|0)|0;b=XE(J|0,g|0,b|0,D|0)|0;c[e>>2]=(z|0)==(Q|0)?0:R;g=D;J=F;K=E;L=C}if((d|0)==97){i=da;return}}if((M|0)>=0){i=da;return}L=UE(0,0,P|0,((P|0)<0)<<31>>31|0)|0;K=D;m=O;d=M;r=l;q=N;while(1){l=($(o-G|0,ba)|0)+($(q-n|0,_)|0)+($(r-j|0,aa)|0)|0;d:do if(!m){C=l;F=((l|0)<0)<<31>>31;m=d;w=l;z=r}else{A=m;C=l;F=((l|0)<0)<<31>>31;w=l;x=r;y=q;while(1){if(!(c[A+12>>2]|0)){m=d;z=x;q=y;break d}v=c[(c[A+4>>2]|0)+8>>2]|0;if((c[v+20>>2]|0)<=(c[a+100>>2]|0)){m=d;z=x;q=y;break d}E=c[v+12>>2]|0;z=c[E+88>>2]|0;R=z-x|0;B=c[E+92>>2]|0;Q=B-o|0;E=c[E+96>>2]|0;m=E-y|0;p=gF(R|0,((R|0)<0)<<31>>31|0,S|0,T|0)|0;P=D;l=gF(Q|0,((Q|0)<0)<<31>>31|0,U|0,V|0)|0;P=XE(l|0,D|0,p|0,P|0)|0;p=D;l=gF(m|0,((m|0)<0)<<31>>31|0,W|0,X|0)|0;l=XE(P|0,p|0,l|0,D|0)|0;p=D;m=($(Q,ba)|0)+($(R,aa)|0)+($(m,_)|0)|0;if((l|0)==0&(p|0)==0){if((m|0)<=0){m=d;z=x;q=y;break d}}else{if((p|0)>=0){m=d;z=x;q=y;break d}if((m|0)>0){q=1;t=m;u=((m|0)<0)<<31>>31;r=1}else{t=UE(0,0,m|0,((m|0)<0)<<31>>31|0)|0;q=(m|0)<0?-1:0;t=(m|0)<0?t:0;u=(m|0)<0?D:0;r=(m|0)<0?-1:0}if(!((p|0)>0|(p|0)==0&l>>>0>0)){l=UE(0,0,l|0,p|0)|0;p=D;r=0-q|0}if((w|0)>0){g=1;b=C;k=F;q=1}else{q=(w|0)<0;b=UE(0,0,C|0,F|0)|0;g=q?-1:0;b=q?b:0;k=q?D:0;q=q?-1:0}do if((d|0)>0|(d|0)==0&h>>>0>0){m=h;s=d}else{if((d|0)>=0){m=0;s=0;break}m=UE(0,0,h|0,d|0)|0;s=D;q=0-g|0}while(0);if((cE(t,u,l,p,r,b,k,m,s,q)|0)>=1){m=d;z=x;q=y;break d}}l=z-j|0;Q=B-G|0;R=E-n|0;d=gF(l|0,((l|0)<0)<<31>>31|0,S|0,T|0)|0;P=D;h=gF(Q|0,((Q|0)<0)<<31>>31|0,U|0,V|0)|0;P=XE(h|0,D|0,d|0,P|0)|0;d=D;h=gF(R|0,((R|0)<0)<<31>>31|0,W|0,X|0)|0;h=XE(P|0,d|0,h|0,D|0)|0;d=D;A=(A|0)==(ca|0)?0:v;c[f>>2]=A;l=($(Q,ba)|0)+($(R,_)|0)+($(l,aa)|0)|0;if(!A){C=l;F=((l|0)<0)<<31>>31;m=d;w=l;o=B;q=E;break}else{C=l;F=((l|0)<0)<<31>>31;w=l;x=z;o=B;y=E}}}while(0);d=c[e>>2]|0;if(!d){d=97;break}if(!(c[d+12>>2]|0)){d=97;break}x=c[(c[d+8>>2]|0)+4>>2]|0;if((c[x+20>>2]|0)<=(c[a+100>>2]|0)){d=97;break}k=c[x+12>>2]|0;g=c[k+88>>2]|0;d=g-j|0;b=c[k+92>>2]|0;l=b-G|0;k=c[k+96>>2]|0;j=k-n|0;R=gF(d|0,((d|0)<0)<<31>>31|0,Y|0,((Y|0)<0)<<31>>31|0)|0;P=D;Q=gF(l|0,((l|0)<0)<<31>>31|0,Z|0,((Z|0)<0)<<31>>31|0)|0;P=XE(Q|0,D|0,R|0,P|0)|0;R=D;Q=gF(j|0,((j|0)<0)<<31>>31|0,L|0,K|0)|0;if(!((P|0)==(Q|0)&(R|0)==(D|0))){d=97;break}r=gF(d|0,((d|0)<0)<<31>>31|0,S|0,T|0)|0;Q=D;p=gF(l|0,((l|0)<0)<<31>>31|0,U|0,V|0)|0;Q=XE(p|0,D|0,r|0,Q|0)|0;r=D;p=gF(j|0,((j|0)<0)<<31>>31|0,W|0,X|0)|0;p=XE(Q|0,r|0,p|0,D|0)|0;r=D;l=($(l,ba)|0)+($(d,aa)|0)+($(j,_)|0)|0;d=z-g|0;Q=o-b|0;t=q-k|0;d=gF(d|0,((d|0)<0)<<31>>31|0,S|0,T|0)|0;R=D;Q=gF(Q|0,((Q|0)<0)<<31>>31|0,U|0,V|0)|0;R=XE(Q|0,D|0,d|0,R|0)|0;d=D;t=gF(t|0,((t|0)<0)<<31>>31|0,W|0,X|0)|0;t=XE(R|0,d|0,t|0,D|0)|0;d=D;if((d|0)>=0){d=97;break}if((p|0)==0&(r|0)==0){if((l|0)<=0){d=97;break}}else{if((r|0)>=0){d=97;break}if((l|0)>0){k=1;s=l;n=((l|0)<0)<<31>>31;l=1}else{s=UE(0,0,l|0,((l|0)<0)<<31>>31|0)|0;k=(l|0)<0?-1:0;s=(l|0)<0?s:0;n=(l|0)<0?D:0;l=(l|0)<0?-1:0}if(!((r|0)>0|(r|0)==0&p>>>0>0)){p=UE(0,0,p|0,r|0)|0;r=D;l=0-k|0}if((w|0)>0){b=1;g=C;k=F;j=1}else{j=(w|0)<0;g=UE(0,0,C|0,F|0)|0;b=j?-1:0;g=j?g:0;k=j?D:0;j=j?-1:0}do if(!((m|0)>0|(m|0)==0&h>>>0>0)){if((m|0)>=0){h=0;m=0;break}h=UE(0,0,h|0,m|0)|0;m=D;j=0-b|0}while(0);if((cE(s,n,p,r,l,g,k,h,m,j)|0)>=0){d=97;break}}c[e>>2]=x;n=c[x+12>>2]|0;m=c[f>>2]|0;h=t;j=c[n+88>>2]|0;G=c[n+92>>2]|0;n=c[n+96>>2]|0;r=z}if((d|0)==97){i=da;return}}function hE(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,p=0.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,C=0,D=0,E=0,F=0,G=0,H=0;H=i;i=i+256|0;if((e|0)<1){f=c[b+12>>2]|0;if(f){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(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=H;return}c[H+88>>2]=0;c[H+92>>2]=0;r=H+96|0;c[r>>2]=0;c[H+100>>2]=256;c[H+104>>2]=0;c[H+108>>2]=0;c[H+112>>2]=0;c[H+116>>2]=256;c[H+120>>2]=0;c[H+124>>2]=0;c[H+128>>2]=0;c[H+132>>2]=256;a[H+152>>0]=1;E=H+148|0;c[E>>2]=0;c[H+140>>2]=0;c[H+144>>2]=0;t=1000000015047466219876688.0e6;u=1000000015047466219876688.0e6;x=-1000000015047466219876688.0e6;y=-1000000015047466219876688.0e6;z=-1000000015047466219876688.0e6;A=1000000015047466219876688.0e6;m=0;l=d;while(1){p=+g[l>>2];o=+g[l+4>>2];k=+g[l+8>>2];t=p>2]=p>2]=v>2]=n;q=c[w>>2]|0;if((n|0)==(q|0)){n=((n+1|0)>>>0)%3|0;c[H+160>>2]=n;q=c[w>>2]|0}q=3-q-n|0;c[H+164>>2]=q;if(((q+1|0)%3|0|0)==(c[w>>2]|0)){p=p*9.788566967472434e-05;o=o*9.788566967472434e-05;k=v*9.788566967472434e-05}else{p=-(p*9.788566967472434e-05);o=-(o*9.788566967472434e-05);k=-(v*9.788566967472434e-05)}g[H+56>>2]=k;g[H+60>>2]=p;g[H+64>>2]=o;g[H+68>>2]=0.0;if(k!=0.0)k=1.0/k;if(p!=0.0)p=1.0/p;if(o!=0.0)o=1.0/o;g[H+72>>2]=(t+x)*.5;g[H+76>>2]=(u+y)*.5;g[H+80>>2]=(A+z)*.5;g[H+84>>2]=0.0;D=H+248|0;a[D>>0]=1;B=H+244|0;c[B>>2]=0;C=H+236|0;c[C>>2]=0;c[H+240>>2]=0;if((e|0)>0){c[5108]=(c[5108]|0)+1;m=QE((e<<4|3)+16|0)|0;if(!m)m=0;else{c[(m+19&-16)+-4>>2]=m;m=m+19&-16}q=c[C>>2]|0;n=c[B>>2]|0;if((q|0)>0){j=0;do{l=m+(j<<4)|0;if(l){G=n+(j<<4)|0;c[l+0>>2]=c[G+0>>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]}j=j+1|0}while((j|0)!=(q|0))}if(n){if(a[D>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[n+-4>>2]|0)}c[B>>2]=0}a[D>>0]=1;c[B>>2]=m;c[H+240>>2]=e;l=0;while(1){n=m+(l<<4)|0;if(n){c[n+0>>2]=c[H+216>>2];c[n+4>>2]=c[H+220>>2];c[n+8>>2]=c[H+224>>2];c[n+12>>2]=c[H+228>>2]}n=l+1|0;if((n|0)==(e|0))break;m=c[B>>2]|0;l=n}c[C>>2]=e;l=c[B>>2]|0;t=+g[H+72>>2];u=+g[H+76>>2];v=+g[H+80>>2];j=H+200+(c[H+164>>2]<<2)|0;q=H+200+(c[w>>2]<<2)|0;n=H+200+(c[H+160>>2]<<2)|0;m=0;while(1){x=+g[d>>2];g[H+200>>2]=x;z=+g[d+4>>2];g[H+204>>2]=z;y=o*(+g[d+8>>2]-v);g[H+200>>2]=k*(x-t);g[H+204>>2]=p*(z-u);g[H+208>>2]=y;g[H+212>>2]=0.0;c[l+(m<<4)>>2]=~~+g[j>>2];c[l+(m<<4)+4>>2]=~~+g[q>>2];c[l+(m<<4)+8>>2]=~~+g[n>>2];c[l+(m<<4)+12>>2]=m;m=m+1|0;if((m|0)==(e|0))break;else d=d+16|0}if((e|0)>1)iE(H+232|0,0,e+-1|0)}else c[C>>2]=e;c[H+92>>2]=c[H+88>>2];c[r>>2]=0;c[H+100>>2]=e;j=c[H+140>>2]|0;if((j|0)<(e|0)){if((c[H+144>>2]|0)<(e|0)){if(!e){f=j;m=0}else{c[5108]=(c[5108]|0)+1;l=QE((e<<2|3)+16|0)|0;if(!l)m=0;else{c[(l+19&-16)+-4>>2]=l;m=l+19&-16}f=c[H+140>>2]|0}if((f|0)>0){h=0;do{l=m+(h<<2)|0;if(l)c[l>>2]=c[(c[E>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}l=c[E>>2]|0;if(l){if(a[H+152>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[E>>2]=0}a[H+152>>0]=1;c[E>>2]=m;c[H+144>>2]=e}do{l=(c[E>>2]|0)+(j<<2)|0;if(l)c[l>>2]=0;j=j+1|0}while((j|0)!=(e|0))}c[H+140>>2]=e;if((e|0)>0){d=0;do{l=c[r>>2]|0;if(!l){l=c[H+92>>2]|0;if(!l){c[5108]=(c[5108]|0)+1;j=QE(31)|0;if((j|0)!=0?(F=j+19&-16,c[F+-4>>2]=j,(j+19&-16|0)!=0):0){l=c[H+100>>2]|0;c[F+4>>2]=l;c[F+8>>2]=0;c[5108]=(c[5108]|0)+1;l=QE((l*112|3)+16|0)|0;if(!l)m=0;else{c[(l+19&-16)+-4>>2]=l;m=l+19&-16}c[(j+19&-16)>>2]=m;l=j+19&-16}else l=0;c[l+8>>2]=c[H+88>>2];c[H+88>>2]=l}else c[H+92>>2]=c[l+8>>2];h=c[l+4>>2]|0;l=c[l>>2]|0;if((h|0)>0){m=0;j=l;do{m=m+1|0;q=j;j=j+112|0;c[q>>2]=(m|0)<(h|0)?j:0}while((m|0)!=(h|0))}c[r>>2]=c[l>>2];if(!l)l=0;else s=83}else{c[r>>2]=c[l>>2];s=83}if((s|0)==83){s=0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;c[l+104>>2]=-1}c[l+8>>2]=0;q=l+88|0;n=(c[B>>2]|0)+(d<<4)|0;c[q+0>>2]=c[n+0>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[l+104>>2]=-1;c[(c[E>>2]|0)+(d<<2)>>2]=l;d=d+1|0}while((d|0)!=(e|0))}j=c[B>>2]|0;if(j){if(a[D>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[B>>2]=0}a[D>>0]=1;c[B>>2]=0;c[C>>2]=0;c[H+240>>2]=0;c[H+108>>2]=c[H+104>>2];c[H+112>>2]=0;c[H+116>>2]=e*6;c[H+172>>2]=0;c[H+176>>2]=0;c[H+156>>2]=-3;c[H+184>>2]=0;c[H+188>>2]=0;c[H+192>>2]=0;c[H+196>>2]=0;eE(H+56|0,0,e,H+184|0);c[H+180>>2]=c[H+184>>2];h=c[B>>2]|0;if(h){if(a[D>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[B>>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){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(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{d=(c[b+12>>2]|0)+(f<<4)|0;c[d+0>>2]=c[H+40>>2];c[d+4>>2]=c[H+44>>2];c[d+8>>2]=c[H+48>>2];c[d+12>>2]=c[H+52>>2];f=f+1|0}while((f|0)!=0)}c[b+4>>2]=0;c[H+24>>2]=0;c[H+28>>2]=0;c[H+32>>2]=0;h=c[b+24>>2]|0;if((h|0)<0){if((c[b+28>>2]|0)<0){f=c[b+32>>2]|0;if(f){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-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)+(h*12|0)|0;if(f){c[f+0>>2]=c[H+24>>2];c[f+4>>2]=c[H+28>>2];c[f+8>>2]=c[H+32>>2]}h=h+1|0}while((h|0)!=0)}c[b+24>>2]=0;f=c[b+44>>2]|0;if((f|0)<0){h=c[b+52>>2]|0;if((c[b+48>>2]|0)<0){if(h){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=0;c[b+48>>2]=0;h=0}do{j=h+(f<<2)|0;if(j)c[j>>2]=0;f=f+1|0}while((f|0)!=0)}c[b+44>>2]=0;h=c[H+180>>2]|0;if((c[h+104>>2]|0)<0){c[h+104>>2]=0;c[5108]=(c[5108]|0)+1;j=QE(23)|0;if(j){c[(j+19&-16)+-4>>2]=j;f=j+19&-16;if(j+19&-16)c[f>>2]=h}else f=0;d=1;G=0;j=1;while(1){q=c[f+(G<<2)>>2]|0;if((c[q+100>>2]|0)>-1){g[H+232+(c[H+164>>2]<<2)>>2]=+(c[q+88>>2]|0);g[H+232+(c[H+168>>2]<<2)>>2]=+(c[q+92>>2]|0);k=+(c[q+96>>2]|0)}else{k=+jE(q+24|0);k=k/+jE(q+72|0);g[H+232+(c[H+164>>2]<<2)>>2]=k;k=+jE(q+40|0);k=k/+jE(q+72|0);g[H+232+(c[H+168>>2]<<2)>>2]=k;k=+jE(q+56|0);k=k/+jE(q+72|0)}g[H+232+(c[H+160>>2]<<2)>>2]=k;k=+g[H+232>>2]*+g[H+56>>2]+ +g[H+72>>2];p=+g[H+236>>2]*+g[H+60>>2]+ +g[H+76>>2];o=+g[H+240>>2]*+g[H+64>>2]+ +g[H+80>>2];h=c[b+4>>2]|0;do if((h|0)==(c[b+8>>2]|0)){n=(h|0)==0?1:h<<1;if((h|0)>=(n|0))break;if(!n)m=0;else{c[5108]=(c[5108]|0)+1;l=QE((n<<4|3)+16|0)|0;if(!l)m=0;else{c[(l+19&-16)+-4>>2]=l;m=l+19&-16}h=c[b+4>>2]|0}if((h|0)>0){l=0;do{e=m+(l<<4)|0;s=(c[b+12>>2]|0)+(l<<4)|0;c[e+0>>2]=c[s+0>>2];c[e+4>>2]=c[s+4>>2];c[e+8>>2]=c[s+8>>2];c[e+12>>2]=c[s+12>>2];l=l+1|0}while((l|0)!=(h|0))}l=c[b+12>>2]|0;if(l){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=m;c[b+8>>2]=n;h=c[b+4>>2]|0}while(0);F=c[b+12>>2]|0;g[F+(h<<4)>>2]=k;g[F+(h<<4)+4>>2]=p;g[F+(h<<4)+8>>2]=o;g[F+(h<<4)+12>>2]=0.0;c[b+4>>2]=(c[b+4>>2]|0)+1;F=c[q+8>>2]|0;if(!F)h=d;else{D=d;e=F;l=-1;s=j;C=f;E=-1;while(1){B=e+20|0;j=c[B>>2]|0;if((j|0)<0){r=c[b+24>>2]|0;c[H+12>>2]=0;c[H+16>>2]=0;c[H+20>>2]=0;m=c[b+28>>2]|0;do if((r|0)==(m|0)){m=(r|0)==0?1:r<<1;if((r|0)>=(m|0)){j=r;m=r;break}if(!m){h=r;f=0}else{c[5108]=(c[5108]|0)+1;j=QE((m*12|3)+16|0)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}h=c[b+24>>2]|0;f=j}if((h|0)>0){j=0;do{n=f+(j*12|0)|0;if(n){d=(c[b+32>>2]|0)+(j*12|0)|0;c[n+0>>2]=c[d+0>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2]}j=j+1|0}while((j|0)!=(h|0))}j=c[b+32>>2]|0;if(j){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=f;c[b+28>>2]=m;j=c[b+24>>2]|0}else j=r;while(0);h=(c[b+32>>2]|0)+(j*12|0)|0;if(h){c[h+0>>2]=c[H+12>>2];c[h+4>>2]=c[H+16>>2];c[h+8>>2]=c[H+20>>2];j=c[b+24>>2]|0;m=c[b+28>>2]|0}j=j+1|0;c[b+24>>2]=j;c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;do if((j|0)==(m|0)){q=(m|0)==0?1:m<<1;if((m|0)>=(q|0))break;if(!q)j=0;else{c[5108]=(c[5108]|0)+1;m=QE((q*12|3)+16|0)|0;if(!m)j=0;else{c[(m+19&-16)+-4>>2]=m;j=m+19&-16}m=c[b+24>>2]|0}if((m|0)>0){h=0;do{n=j+(h*12|0)|0;if(n){d=(c[b+32>>2]|0)+(h*12|0)|0;c[n+0>>2]=c[d+0>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2]}h=h+1|0}while((h|0)!=(m|0))}m=c[b+32>>2]|0;if(m){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=j;c[b+28>>2]=q;m=c[b+24>>2]|0}else m=j;while(0);h=c[b+32>>2]|0;j=h+(m*12|0)|0;if(!j)w=h;else{c[j+0>>2]=c[H+0>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];m=c[b+24>>2]|0;w=c[b+32>>2]|0}c[b+24>>2]=m+1;c[B>>2]=r;c[(c[e+8>>2]|0)+20>>2]=r+1;c[w+(r*12|0)+4>>2]=1;c[w+((r+1|0)*12|0)+4>>2]=-1;d=c[e+12>>2]|0;m=c[d+104>>2]|0;if((m|0)<0){c[d+104>>2]=D;do if((D|0)==(s|0)){j=(s|0)==0?1:s<<1;if((s|0)>=(j|0)){j=s;f=C;break}do if(!j)f=0;else{c[5108]=(c[5108]|0)+1;m=QE((j<<2|3)+16|0)|0;if(!m){f=0;break}c[(m+19&-16)+-4>>2]=m;f=m+19&-16}while(0);if((s|0)>0){m=0;do{n=f+(m<<2)|0;if(n)c[n>>2]=c[C+(m<<2)>>2];m=m+1|0}while((m|0)!=(s|0))}if(!C)break;c[5110]=(c[5110]|0)+1;RE(c[C+-4>>2]|0)}else{j=s;f=C}while(0);m=f+(D<<2)|0;if(m)c[m>>2]=d;h=D+1|0;m=D}else{h=D;j=s;f=C}c[w+(r*12|0)+8>>2]=m;c[w+((r+1|0)*12|0)+8>>2]=G;n=c[B>>2]|0}else{n=j;h=D;j=s;f=C}if((E|0)>-1)c[(c[b+32>>2]|0)+(n*12|0)>>2]=E-n;else l=n;e=c[e>>2]|0;if((e|0)==(F|0))break;else{D=h;s=j;C=f;E=n}}c[(c[b+32>>2]|0)+(l*12|0)>>2]=n-l}w=G+1|0;if((w|0)<(h|0)){d=h;G=w}else break}if((G|0)>-1){s=0;do{d=c[(c[f+(s<<2)>>2]|0)+8>>2]|0;if(d){r=d;do{q=r+20|0;if((c[q>>2]|0)>-1){j=c[b+44>>2]|0;do if((j|0)==(c[b+48>>2]|0)){n=(j|0)==0?1:j<<1;if((j|0)>=(n|0))break;if(!n)l=0;else{c[5108]=(c[5108]|0)+1;j=QE((n<<2|3)+16|0)|0;if(!j)l=0;else{c[(j+19&-16)+-4>>2]=j;l=j+19&-16}j=c[b+44>>2]|0}if((j|0)>0){m=0;do{h=l+(m<<2)|0;if(h)c[h>>2]=c[(c[b+52>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(j|0))}j=c[b+52>>2]|0;if(j){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=l;c[b+48>>2]=n;j=c[b+44>>2]|0}while(0);h=(c[b+52>>2]|0)+(j<<2)|0;if(h){c[h>>2]=c[q>>2];j=c[b+44>>2]|0}c[b+44>>2]=j+1;j=r;do{c[j+20>>2]=-1;j=c[(c[j+8>>2]|0)+4>>2]|0}while((j|0)!=(r|0))}r=c[r>>2]|0}while((r|0)!=(d|0))}s=s+1|0}while((s|0)<(w|0))}if(f){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}}kE(H+56|0);i=H;return}function iE(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+0>>2]=c[e+0>>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+0>>2]=c[h+0>>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+0>>2]=c[m+0>>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))iE(a,b,f);if((e|0)>=(d|0)){i=m;return}iE(a,e,d);i=m;return}function jE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,j=0;f=i;i=i+16|0;d=c[a+8>>2]|0;e=c[a+12>>2]|0;b=c[a>>2]|0;a=c[a+4>>2]|0;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=(+(d>>>0)+4294967296.0*+(e>>>0))*18446744073709551616.0+(+(b>>>0)+4294967296.0*+(a>>>0));i=f;return +g}else{j=UE(0,0,b|0,a|0)|0;h=D;a=XE((b|0)==0&(a|0)==0&1|0,0,~d|0,~e|0)|0;c[f>>2]=j;c[f+4>>2]=h;c[f+8>>2]=a;c[f+12>>2]=D;g=-+jE(f);i=f;return +g}return 0.0}function kE(b){b=b|0;var d=0,e=0,f=0;f=i;d=c[b+92>>2]|0;if(d){if(a[b+96>>0]|0){c[5110]=(c[5110]|0)+1;RE(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)do{c[b+64>>2]=c[d+8>>2];e=c[d>>2]|0;if(e){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);d=c[b+64>>2]|0}while((d|0)!=0);d=c[b+48>>2]|0;if(d)do{c[b+48>>2]=c[d+8>>2];e=c[d>>2]|0;if(e){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);d=c[b+48>>2]|0}while((d|0)!=0);d=c[b+32>>2]|0;if(!d){i=f;return}do{c[b+32>>2]=c[d+8>>2];e=c[d>>2]|0;if(e){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);d=c[b+32>>2]|0}while((d|0)!=0);i=f;return}function lE(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[n>>2]|0;Za(b|0,a|0,d|0)|0;vb(10,b|0)|0;xb()}function mE(a){a=a|0;return}function nE(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function oE(a){a=a|0;return 20832}function pE(a){a=a|0;var b=0;b=i;i=i+16|0;qc[a&3]();lE(20880,b)}function qE(a){a=a|0;return}function rE(a){a=a|0;return}function sE(a){a=a|0;return}function tE(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function uE(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function vE(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function wE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+64|0;if((a|0)==(b|0)){b=1;i=g;return b|0}if(!b){b=0;i=g;return b|0}b=BE(b,21072)|0;if(!b){b=0;i=g;return b|0}e=g+0|0;f=e+56|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[g>>2]=b;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;tc[c[(c[b>>2]|0)+28>>2]&127](b,g,c[d>>2]|0,1);if((c[g+24>>2]|0)!=1){b=0;i=g;return b|0}c[d>>2]=c[g+16>>2];b=1;i=g;return b|0}function xE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;if((c[d+8>>2]|0)!=(b|0)){i=g;return}b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;i=g;return}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;i=g;return}if((c[d+24>>2]|0)!=2){i=g;return}c[d+24>>2]=f;i=g;return}function yE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;if((b|0)!=(c[d+8>>2]|0)){b=c[b+8>>2]|0;tc[c[(c[b>>2]|0)+28>>2]&127](b,d,e,f);i=g;return}b=c[d+16>>2]|0;if(!b){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;i=g;return}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;i=g;return}if((c[d+24>>2]|0)!=2){i=g;return}c[d+24>>2]=f;i=g;return}function zE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;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;tc[c[(c[a>>2]|0)+28>>2]&127](a,b,d+g|0,(f&2|0)!=0?e:2);i=h;return}function AE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;if((b|0)!=(c[d+8>>2]|0)){g=c[b+12>>2]|0;zE(b+16|0,d,e,f);if((g|0)<=1){i=j;return}h=b+24|0;while(1){zE(h,d,e,f);if(a[d+54>>0]|0){g=12;break}h=h+8|0;if(h>>>0>=(b+(g<<3)+16|0)>>>0){g=12;break}}if((g|0)==12){i=j;return}}g=c[d+16>>2]|0;if(!g){c[d+16>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;i=j;return}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;i=j;return}if((c[d+24>>2]|0)!=2){i=j;return}c[d+24>>2]=f;i=j;return}function BE(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+64|0;g=c[d>>2]|0;h=d+(c[g+-8>>2]|0)|0;g=c[g+-4>>2]|0;c[j>>2]=e;c[j+4>>2]=d;c[j+8>>2]=21016;d=j+12|0;f=d+40|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));b[j+52>>1]=0;a[j+54>>0]=0;if((g|0)==(e|0)){c[j+48>>2]=1;Xb[c[(c[g>>2]|0)+20>>2]&7](g,j,h,h,1,0);d=(c[j+24>>2]|0)==1?h:0;i=j;return d|0}Hb[c[(c[g>>2]|0)+24>>2]&31](g,j,h,1,0);d=c[j+36>>2]|0;if((d|0)==1){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;i=j;return d|0}d=c[j+16>>2]|0;i=j;return d|0}else if(!d){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;i=j;return d|0}else{d=0;i=j;return d|0}return 0}function CE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;a[b+53>>0]=1;if((c[b+4>>2]|0)!=(e|0)){i=g;return}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)){i=g;return}a[b+54>>0]=1;i=g;return}if((e|0)!=(d|0)){c[b+36>>2]=(c[b+36>>2]|0)+1;a[b+54>>0]=1;i=g;return}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)){i=g;return}a[b+54>>0]=1;i=g;return}function DE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=o;return}if((c[d+28>>2]|0)==1){i=o;return}c[d+28>>2]=f;i=o;return}if((b|0)!=(c[d>>2]|0)){k=c[b+12>>2]|0;FE(b+16|0,d,e,f,g);if((k|0)<=1){i=o;return}h=c[b+8>>2]|0;if((h&2|0)==0?(c[d+36>>2]|0)!=1:0){if(!(h&1)){j=b+24|0;while(1){if(a[d+54>>0]|0){j=43;break}if((c[d+36>>2]|0)==1){j=43;break}FE(j,d,e,f,g);j=j+8|0;if(j>>>0>=(b+(k<<3)+16|0)>>>0){j=43;break}}if((j|0)==43){i=o;return}}j=b+24|0;while(1){if(a[d+54>>0]|0){j=43;break}if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==1:0){j=43;break}FE(j,d,e,f,g);j=j+8|0;if(j>>>0>=(b+(k<<3)+16|0)>>>0){j=43;break}}if((j|0)==43){i=o;return}}j=b+24|0;while(1){if(a[d+54>>0]|0){j=43;break}FE(j,d,e,f,g);j=j+8|0;if(j>>>0>=(b+(k<<3)+16|0)>>>0){j=43;break}}if((j|0)==43){i=o;return}}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){i=o;return}k=c[b+12>>2]|0;a:do if((k|0)>0){j=0;h=0;l=b+16|0;b:do{a[d+52>>0]=0;a[d+53>>0]=0;EE(l,d,e,e,1,g);if(a[d+54>>0]|0)break;do if(a[d+53>>0]|0){if(!(a[d+52>>0]|0))if(!(c[b+8>>2]&1)){h=1;break b}else{h=1;break}if((c[d+24>>2]|0)==1){j=25;break a}if(!(c[b+8>>2]&2)){j=25;break a}else{j=1;h=1}}while(0);l=l+8|0}while(l>>>0<(b+(k<<3)+16|0)>>>0);if(j){n=h;j=24}else{m=h;j=21}}else{m=0;j=21}while(0);if((j|0)==21){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(m)j=25;else j=26}else{n=m;j=24}}if((j|0)==24)if(n)j=25;else j=26;if((j|0)==25){c[d+44>>2]=3;i=o;return}else if((j|0)==26){c[d+44>>2]=4;i=o;return}}if((f|0)!=1){i=o;return}c[d+32>>2]=1;i=o;return}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i;h=c[a+4>>2]|0;if(!(h&1))j=h>>8;else j=c[(c[e>>2]|0)+(h>>8)>>2]|0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+j|0,(h&2|0)!=0?f:2,g);i=k;return}function FE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;j=i;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;Hb[c[(c[a>>2]|0)+24>>2]&31](a,b,d+h|0,(g&2|0)!=0?e:2,f);i=j;return}function GE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=j;return}if((c[d+28>>2]|0)==1){i=j;return}c[d+28>>2]=f;i=j;return}if((b|0)!=(c[d>>2]|0)){b=c[b+8>>2]|0;Hb[c[(c[b>>2]|0)+24>>2]&31](b,d,e,f,g);i=j;return}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){i=j;return}a[d+52>>0]=0;a[d+53>>0]=0;f=c[b+8>>2]|0;Xb[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)){f=1;h=13}}else{f=0;h=13}do if((h|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)break}else h=16;if((h|0)==16?f:0)break;c[d+44>>2]=4;i=j;return}while(0);c[d+44>>2]=3;i=j;return}if((f|0)!=1){i=j;return}c[d+32>>2]=1;i=j;return}function HE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){i=g;return}if((c[d+28>>2]|0)==1){i=g;return}c[d+28>>2]=f;i=g;return}if((c[d>>2]|0)!=(b|0)){i=g;return}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;i=g;return}if((f|0)!=1){i=g;return}c[d+32>>2]=1;i=g;return}function IE(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;n=i;if((b|0)==(c[d+8>>2]|0)){CE(d,e,f,g);i=n;return}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;EE(b+16|0,d,e,f,g,h);a:do if((l|0)>1){m=b+24|0;do{if(a[d+54>>0]|0)break a;if(!(a[d+52>>0]|0)){if((a[d+53>>0]|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;EE(m,d,e,f,g,h);m=m+8|0}while(m>>>0<(b+(l<<3)+16|0)>>>0)}while(0);a[d+52>>0]=j;a[d+53>>0]=k;i=n;return}function JE(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;h=i;if((a|0)==(c[b+8>>2]|0)){CE(b,d,e,f);i=h;return}else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g);i=h;return}}function KE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[b+8>>2]|0)!=(a|0)){i=g;return}CE(b,d,e,f);i=g;return}function LE(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=Wb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(!a){i=e;return a&1|0}c[d>>2]=c[e>>2];i=e;return a&1|0}function ME(a){a=a|0;var b=0;b=i;if(!a)a=0;else a=(BE(a,21184)|0)!=0;i=b;return a&1|0}function NE(){var a=0,b=0,d=0,e=0;e=i;i=i+16|0;if(qb(20632,3)|0)lE(20640,e);a=ob(c[5156]|0)|0;if(!a)lE(20608,e);d=c[a>>2]|0;if(!d)lE(20608,e);a=c[d+48>>2]|0;b=c[d+52>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){c[e>>2]=20456;lE(20568,e)}if((a|0)==1126902529&(b|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e+12>>2]=a;b=c[d>>2]|0;a=c[b+4>>2]|0;if(wE(20944,b,e+12|0)|0){b=c[e+12>>2]|0;b=Nb[c[(c[b>>2]|0)+8>>2]&127](b)|0;c[e>>2]=20456;c[e+4>>2]=a;c[e+8>>2]=b;lE(20472,e)}else{c[e>>2]=20456;c[e+4>>2]=a;lE(20520,e)}}function OE(){var a=0;a=i;i=i+16|0;if(!(rb(20624,215)|0)){i=a;return}else lE(20696,a)}function PE(a){a=a|0;var b=0;b=i;i=i+16|0;RE(a);if(!(ub(c[5156]|0,0)|0)){i=b;return}else lE(20752,b)}function QE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,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;do if(a>>>0<245){if(a>>>0<11)n=16;else n=a+11&-8;a=n>>>3;h=c[5358]|0;if(h>>>a&3){b=c[21472+(((h>>>a&1^1)+a<<1)+2<<2)>>2]|0;d=c[b+8>>2]|0;do if((21472+((h>>>a&1^1)+a<<1<<2)|0)!=(d|0)){if(d>>>0<(c[5362]|0)>>>0)xb();if((c[d+12>>2]|0)==(b|0)){c[d+12>>2]=21472+((h>>>a&1^1)+a<<1<<2);c[21472+(((h>>>a&1^1)+a<<1)+2<<2)>>2]=d;break}else xb()}else c[5358]=h&~(1<<(h>>>a&1^1)+a);while(0);c[b+4>>2]=(h>>>a&1^1)+a<<3|3;c[b+((h>>>a&1^1)+a<<3|4)>>2]=c[b+((h>>>a&1^1)+a<<3|4)>>2]|1;x=b+8|0;i=I;return x|0}g=c[5360]|0;if(n>>>0>g>>>0){if(h>>>a){e=(h>>>a<>>a<>>(e>>>12&16)>>>(e>>>(e>>>12&16)>>>5&8);f=a>>>(a>>>2&4)>>>(a>>>(a>>>2&4)>>>1&2);f=(e>>>(e>>>12&16)>>>5&8|e>>>12&16|a>>>2&4|a>>>(a>>>2&4)>>>1&2|f>>>1&1)+(f>>>(f>>>1&1))|0;a=c[21472+((f<<1)+2<<2)>>2]|0;e=c[a+8>>2]|0;do if((21472+(f<<1<<2)|0)!=(e|0)){if(e>>>0<(c[5362]|0)>>>0)xb();if((c[e+12>>2]|0)==(a|0)){c[e+12>>2]=21472+(f<<1<<2);c[21472+((f<<1)+2<<2)>>2]=e;k=c[5360]|0;break}else xb()}else{c[5358]=h&~(1<>2]=n|3;b=a+n|0;c[a+(n|4)>>2]=g|1;c[a+(f<<3)>>2]=g;if(k){e=c[5363]|0;f=k>>>3;d=c[5358]|0;if(d&1<>2]|0;if(d>>>0<(c[5362]|0)>>>0)xb();else{j=21472+((f<<1)+2<<2)|0;l=d}}else{c[5358]=d|1<>2]=e;c[l+12>>2]=e;c[e+8>>2]=l;c[e+12>>2]=21472+(f<<1<<2)}c[5360]=g;c[5363]=b;x=a+8|0;i=I;return x|0}a=c[5359]|0;if(a){j=((a&0-a)+-1|0)>>>(((a&0-a)+-1|0)>>>12&16);k=j>>>(j>>>5&8)>>>(j>>>(j>>>5&8)>>>2&4);k=c[21736+((j>>>5&8|((a&0-a)+-1|0)>>>12&16|j>>>(j>>>5&8)>>>2&4|k>>>1&2|k>>>(k>>>1&2)>>>1&1)+(k>>>(k>>>1&2)>>>(k>>>(k>>>1&2)>>>1&1))<<2)>>2]|0;j=(c[k+4>>2]&-8)-n|0;f=k;while(1){d=c[f+16>>2]|0;if(!d){d=c[f+20>>2]|0;if(!d)break}f=(c[d+4>>2]&-8)-n|0;x=f>>>0>>0;j=x?f:j;f=d;k=x?d:k}a=c[5362]|0;if(k>>>0>>0)xb();h=k+n|0;if(k>>>0>=h>>>0)xb();b=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){e=k+20|0;f=c[e>>2]|0;if(!f){e=k+16|0;f=c[e>>2]|0;if(!f){m=0;break}}while(1){d=f+20|0;g=c[d>>2]|0;if(g){f=g;e=d;continue}d=f+16|0;g=c[d>>2]|0;if(!g)break;else{f=g;e=d}}if(e>>>0>>0)xb();else{c[e>>2]=0;m=f;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)xb();if((c[e+12>>2]|0)!=(k|0))xb();if((c[f+8>>2]|0)==(k|0)){c[e+12>>2]=f;c[f+8>>2]=e;m=f;break}else xb()}while(0);do if(b){e=c[k+28>>2]|0;if((k|0)==(c[21736+(e<<2)>>2]|0)){c[21736+(e<<2)>>2]=m;if(!m){c[5359]=c[5359]&~(1<>>0<(c[5362]|0)>>>0)xb();if((c[b+16>>2]|0)==(k|0))c[b+16>>2]=m;else c[b+20>>2]=m;if(!m)break}f=c[5362]|0;if(m>>>0>>0)xb();c[m+24>>2]=b;e=c[k+16>>2]|0;do if(e)if(e>>>0>>0)xb();else{c[m+16>>2]=e;c[e+24>>2]=m;break}while(0);d=c[k+20>>2]|0;if(d)if(d>>>0<(c[5362]|0)>>>0)xb();else{c[m+20>>2]=d;c[d+24>>2]=m;break}}while(0);if(j>>>0<16){x=j+n|0;c[k+4>>2]=x|3;x=k+(x+4)|0;c[x>>2]=c[x>>2]|1}else{c[k+4>>2]=n|3;c[k+(n|4)>>2]=j|1;c[k+(j+n)>>2]=j;e=c[5360]|0;if(e){b=c[5363]|0;d=c[5358]|0;if(d&1<<(e>>>3)){d=c[21472+((e>>>3<<1)+2<<2)>>2]|0;if(d>>>0<(c[5362]|0)>>>0)xb();else{q=21472+((e>>>3<<1)+2<<2)|0;p=d}}else{c[5358]=d|1<<(e>>>3);q=21472+((e>>>3<<1)+2<<2)|0;p=21472+(e>>>3<<1<<2)|0}c[q>>2]=b;c[p+12>>2]=b;c[b+8>>2]=p;c[b+12>>2]=21472+(e>>>3<<1<<2)}c[5360]=j;c[5363]=h}x=k+8|0;i=I;return x|0}}}else if(a>>>0<=4294967231){n=a+11&-8;j=c[5359]|0;if(j){if((a+11|0)>>>8)if(n>>>0>16777215)k=31;else{k=(a+11|0)>>>8<<((((a+11|0)>>>8)+1048320|0)>>>16&8);k=14-((k+520192|0)>>>16&4|(((a+11|0)>>>8)+1048320|0)>>>16&8|((k<<((k+520192|0)>>>16&4))+245760|0)>>>16&2)+(k<<((k+520192|0)>>>16&4)<<(((k<<((k+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;k=n>>>(k+7|0)&1|k<<1}else k=0;f=c[21736+(k<<2)>>2]|0;a:do if(!f){e=0-n|0;a=0;g=0}else{if((k|0)==31)g=0;else g=25-(k>>>1)|0;e=0-n|0;a=0;h=n<>2]&-8;if((d-n|0)>>>0>>0)if((d|0)==(n|0)){e=d-n|0;a=f;g=f;break a}else{e=d-n|0;g=f}q=c[f+20>>2]|0;f=c[f+(h>>>31<<2)+16>>2]|0;a=(q|0)==0|(q|0)==(f|0)?a:q;if(!f)break;else h=h<<1}}while(0);if((a|0)==0&(g|0)==0){a=2<>>(p>>>12&16)>>>(p>>>(p>>>12&16)>>>5&8);a=q>>>(q>>>2&4)>>>(q>>>(q>>>2&4)>>>1&2);a=c[21736+((p>>>(p>>>12&16)>>>5&8|p>>>12&16|q>>>2&4|q>>>(q>>>2&4)>>>1&2|a>>>1&1)+(a>>>(a>>>1&1))<<2)>>2]|0}if(!a){h=e;p=g}else while(1){q=(c[a+4>>2]&-8)-n|0;f=q>>>0>>0;e=f?q:e;g=f?a:g;f=c[a+16>>2]|0;if(f){a=f;continue}a=c[a+20>>2]|0;if(!a){h=e;p=g;break}}if((p|0)!=0?h>>>0<((c[5360]|0)-n|0)>>>0:0){a=c[5362]|0;if(p>>>0>>0)xb();m=p+n|0;if(p>>>0>=m>>>0)xb();b=c[p+24>>2]|0;f=c[p+12>>2]|0;do if((f|0)==(p|0)){g=p+20|0;f=c[g>>2]|0;if(!f){g=p+16|0;f=c[g>>2]|0;if(!f){r=0;break}}while(1){d=f+20|0;e=c[d>>2]|0;if(e){f=e;g=d;continue}d=f+16|0;e=c[d>>2]|0;if(!e)break;else{f=e;g=d}}if(g>>>0>>0)xb();else{c[g>>2]=0;r=f;break}}else{e=c[p+8>>2]|0;if(e>>>0>>0)xb();if((c[e+12>>2]|0)!=(p|0))xb();if((c[f+8>>2]|0)==(p|0)){c[e+12>>2]=f;c[f+8>>2]=e;r=f;break}else xb()}while(0);do if(b){f=c[p+28>>2]|0;if((p|0)==(c[21736+(f<<2)>>2]|0)){c[21736+(f<<2)>>2]=r;if(!r){c[5359]=c[5359]&~(1<>>0<(c[5362]|0)>>>0)xb();if((c[b+16>>2]|0)==(p|0))c[b+16>>2]=r;else c[b+20>>2]=r;if(!r)break}e=c[5362]|0;if(r>>>0>>0)xb();c[r+24>>2]=b;f=c[p+16>>2]|0;do if(f)if(f>>>0>>0)xb();else{c[r+16>>2]=f;c[f+24>>2]=r;break}while(0);e=c[p+20>>2]|0;if(e)if(e>>>0<(c[5362]|0)>>>0)xb();else{c[r+20>>2]=e;c[e+24>>2]=r;break}}while(0);b:do if(h>>>0>=16){c[p+4>>2]=n|3;c[p+(n|4)>>2]=h|1;c[p+(h+n)>>2]=h;f=h>>>3;if(h>>>0<256){d=c[5358]|0;do if(!(d&1<>2]|0;if(d>>>0>=(c[5362]|0)>>>0){s=21472+((f<<1)+2<<2)|0;t=d;break}xb()}while(0);c[s>>2]=m;c[t+12>>2]=m;c[p+(n+8)>>2]=t;c[p+(n+12)>>2]=21472+(f<<1<<2);break}d=h>>>8;if(d)if(h>>>0>16777215)b=31;else{b=d<<((d+1048320|0)>>>16&8)<<(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4|(d+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;f=21736+(b<<2)|0;c[p+(n+28)>>2]=b;c[p+(n+20)>>2]=0;c[p+(n+16)>>2]=0;e=c[5359]|0;d=1<>2]=m;c[p+(n+24)>>2]=f;c[p+(n+12)>>2]=m;c[p+(n+8)>>2]=m;break}e=c[f>>2]|0;if((b|0)==31)d=0;else d=25-(b>>>1)|0;c:do if((c[e+4>>2]&-8|0)!=(h|0)){b=h<>>31<<2)+16|0;d=c[f>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(h|0)){u=d;break c}else{b=b<<1;e=d}}if(f>>>0<(c[5362]|0)>>>0)xb();else{c[f>>2]=m;c[p+(n+24)>>2]=e;c[p+(n+12)>>2]=m;c[p+(n+8)>>2]=m;break b}}else u=e;while(0);b=u+8|0;d=c[b>>2]|0;x=c[5362]|0;if(u>>>0>=x>>>0&d>>>0>=x>>>0){c[d+12>>2]=m;c[b>>2]=m;c[p+(n+8)>>2]=d;c[p+(n+12)>>2]=u;c[p+(n+24)>>2]=0;break}else xb()}else{x=h+n|0;c[p+4>>2]=x|3;x=p+(x+4)|0;c[x>>2]=c[x>>2]|1}while(0);x=p+8|0;i=I;return x|0}}}else n=-1;while(0);a=c[5360]|0;if(a>>>0>=n>>>0){b=a-n|0;d=c[5363]|0;if(b>>>0>15){c[5363]=d+n;c[5360]=b;c[d+(n+4)>>2]=b|1;c[d+a>>2]=b;c[d+4>>2]=n|3}else{c[5360]=0;c[5363]=0;c[d+4>>2]=a|3;c[d+(a+4)>>2]=c[d+(a+4)>>2]|1}x=d+8|0;i=I;return x|0}a=c[5361]|0;if(a>>>0>n>>>0){w=a-n|0;c[5361]=w;x=c[5364]|0;c[5364]=x+n;c[x+(n+4)>>2]=w|1;c[x+4>>2]=n|3;x=x+8|0;i=I;return x|0}do if(!(c[5476]|0)){a=mb(30)|0;if(!(a+-1&a)){c[5478]=a;c[5477]=a;c[5479]=-1;c[5480]=-1;c[5481]=0;c[5469]=0;c[5476]=(Ab(0)|0)&-16^1431655768;break}else xb()}while(0);k=n+48|0;f=c[5478]|0;j=n+47|0;m=f+j&0-f;if(m>>>0<=n>>>0){x=0;i=I;return x|0}a=c[5468]|0;if((a|0)!=0?(u=c[5466]|0,(u+m|0)>>>0<=u>>>0|(u+m|0)>>>0>a>>>0):0){x=0;i=I;return x|0}d:do if(!(c[5469]&4)){g=c[5364]|0;e:do if(g){e=21880|0;while(1){a=c[e>>2]|0;if(a>>>0<=g>>>0?(o=e+4|0,(a+(c[o>>2]|0)|0)>>>0>g>>>0):0)break;a=c[e+8>>2]|0;if(!a){y=181;break e}else e=a}if(e){a=f+j-(c[5361]|0)&0-f;if(a>>>0<2147483647){g=fb(a|0)|0;if((g|0)==((c[e>>2]|0)+(c[o>>2]|0)|0))y=190;else y=191}else a=0}else y=181}else y=181;while(0);do if((y|0)==181){g=fb(0)|0;if((g|0)!=(-1|0)){a=c[5477]|0;if(!(a+-1&g))a=m;else a=m-g+(a+-1+g&0-a)|0;f=c[5466]|0;e=f+a|0;if(a>>>0>n>>>0&a>>>0<2147483647){u=c[5468]|0;if((u|0)!=0?e>>>0<=f>>>0|e>>>0>u>>>0:0){a=0;break}f=fb(a|0)|0;if((f|0)==(g|0))y=190;else{g=f;y=191}}else a=0}else a=0}while(0);f:do if((y|0)==190){if((g|0)!=(-1|0)){u=g;r=a;y=201;break d}}else if((y|0)==191){f=0-a|0;do if((g|0)!=(-1|0)&a>>>0<2147483647&k>>>0>a>>>0?(b=c[5478]|0,b=j-a+b&0-b,b>>>0<2147483647):0)if((fb(b|0)|0)==(-1|0)){fb(f|0)|0;a=0;break f}else{a=b+a|0;break}while(0);if((g|0)==(-1|0))a=0;else{u=g;r=a;y=201;break d}}while(0);c[5469]=c[5469]|4;y=198}else{a=0;y=198}while(0);if((((y|0)==198?m>>>0<2147483647:0)?(v=fb(m|0)|0,w=fb(0)|0,(v|0)!=(-1|0)&(w|0)!=(-1|0)&v>>>0>>0):0)?(x=(w-v|0)>>>0>(n+40|0)>>>0,x):0){u=v;r=x?w-v|0:a;y=201}if((y|0)==201){g=(c[5466]|0)+r|0;c[5466]=g;if(g>>>0>(c[5467]|0)>>>0)c[5467]=g;h=c[5364]|0;g:do if(h){d=21880|0;while(1){a=c[d>>2]|0;e=d+4|0;g=c[e>>2]|0;if((u|0)==(a+g|0)){y=213;break}f=c[d+8>>2]|0;if(!f)break;else d=f}if(((y|0)==213?(c[d+12>>2]&8|0)==0:0)?h>>>0>=a>>>0&h>>>0>>0:0){c[e>>2]=g+r;d=(c[5361]|0)+r|0;if(!(h+8&7))b=0;else b=0-(h+8)&7;x=d-b|0;c[5364]=h+b;c[5361]=x;c[h+(b+4)>>2]=x|1;c[h+(d+4)>>2]=40;c[5365]=c[5480];break}g=c[5362]|0;if(u>>>0>>0){c[5362]=u;g=u}f=u+r|0;e=21880|0;while(1){if((c[e>>2]|0)==(f|0)){y=223;break}a=c[e+8>>2]|0;if(!a)break;else e=a}if((y|0)==223?(c[e+12>>2]&8|0)==0:0){c[e>>2]=u;f=e+4|0;c[f>>2]=(c[f>>2]|0)+r;f=u+8|0;if(!(f&7))q=0;else q=0-f&7;f=u+(r+8)|0;if(!(f&7))l=0;else l=0-f&7;f=u+(l+r)|0;p=q+n|0;o=u+p|0;m=f-(u+q)-n|0;c[u+(q+4)>>2]=n|3;h:do if((f|0)!=(h|0)){if((f|0)==(c[5363]|0)){x=(c[5360]|0)+m|0;c[5360]=x;c[5363]=o;c[u+(p+4)>>2]=x|1;c[u+(x+p)>>2]=x;break}k=r+4|0;j=c[u+(k+l)>>2]|0;if((j&3|0)==1){i:do if(j>>>0>=256){h=c[u+((l|24)+r)>>2]|0;a=c[u+(r+12+l)>>2]|0;do if((a|0)==(f|0)){e=l|16;d=u+(k+e)|0;a=c[d>>2]|0;if(!a){e=u+(e+r)|0;a=c[e>>2]|0;if(!a){E=0;break}}else e=d;while(1){b=a+20|0;d=c[b>>2]|0;if(d){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)xb();else{c[e>>2]=0;E=a;break}}else{e=c[u+((l|8)+r)>>2]|0;if(e>>>0>>0)xb();if((c[e+12>>2]|0)!=(f|0))xb();if((c[a+8>>2]|0)==(f|0)){c[e+12>>2]=a;c[a+8>>2]=e;E=a;break}else xb()}while(0);if(!h)break;a=c[u+(r+28+l)>>2]|0;do if((f|0)!=(c[21736+(a<<2)>>2]|0)){if(h>>>0<(c[5362]|0)>>>0)xb();if((c[h+16>>2]|0)==(f|0))c[h+16>>2]=E;else c[h+20>>2]=E;if(!E)break i}else{c[21736+(a<<2)>>2]=E;if(E)break;c[5359]=c[5359]&~(1<>>0>>0)xb();c[E+24>>2]=h;g=l|16;a=c[u+(g+r)>>2]|0;do if(a)if(a>>>0>>0)xb();else{c[E+16>>2]=a;c[a+24>>2]=E;break}while(0);g=c[u+(k+g)>>2]|0;if(!g)break;if(g>>>0<(c[5362]|0)>>>0)xb();else{c[E+20>>2]=g;c[g+24>>2]=E;break}}else{a=c[u+((l|8)+r)>>2]|0;e=c[u+(r+12+l)>>2]|0;do if((a|0)!=(21472+(j>>>3<<1<<2)|0)){if(a>>>0>>0)xb();if((c[a+12>>2]|0)==(f|0))break;xb()}while(0);if((e|0)==(a|0)){c[5358]=c[5358]&~(1<<(j>>>3));break}do if((e|0)==(21472+(j>>>3<<1<<2)|0))C=e+8|0;else{if(e>>>0>>0)xb();if((c[e+8>>2]|0)==(f|0)){C=e+8|0;break}xb()}while(0);c[a+12>>2]=e;c[C>>2]=a}while(0);f=u+((j&-8|l)+r)|0;a=(j&-8)+m|0}else a=m;f=f+4|0;c[f>>2]=c[f>>2]&-2;c[u+(p+4)>>2]=a|1;c[u+(a+p)>>2]=a;f=a>>>3;if(a>>>0<256){d=c[5358]|0;do if(!(d&1<>2]|0;if(d>>>0>=(c[5362]|0)>>>0){F=21472+((f<<1)+2<<2)|0;G=d;break}xb()}while(0);c[F>>2]=o;c[G+12>>2]=o;c[u+(p+8)>>2]=G;c[u+(p+12)>>2]=21472+(f<<1<<2);break}d=a>>>8;do if(!d)b=0;else{if(a>>>0>16777215){b=31;break}b=d<<((d+1048320|0)>>>16&8)<<(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4);b=14-(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4|(d+1048320|0)>>>16&8|(b+245760|0)>>>16&2)+(b<<((b+245760|0)>>>16&2)>>>15)|0;b=a>>>(b+7|0)&1|b<<1}while(0);e=21736+(b<<2)|0;c[u+(p+28)>>2]=b;c[u+(p+20)>>2]=0;c[u+(p+16)>>2]=0;f=c[5359]|0;d=1<>2]=o;c[u+(p+24)>>2]=e;c[u+(p+12)>>2]=o;c[u+(p+8)>>2]=o;break}f=c[e>>2]|0;if((b|0)==31)e=0;else e=25-(b>>>1)|0;j:do if((c[f+4>>2]&-8|0)!=(a|0)){b=a<>>31<<2)+16|0;e=c[d>>2]|0;if(!e)break;if((c[e+4>>2]&-8|0)==(a|0)){H=e;break j}else{b=b<<1;f=e}}if(d>>>0<(c[5362]|0)>>>0)xb();else{c[d>>2]=o;c[u+(p+24)>>2]=f;c[u+(p+12)>>2]=o;c[u+(p+8)>>2]=o;break h}}else H=f;while(0);b=H+8|0;d=c[b>>2]|0;x=c[5362]|0;if(H>>>0>=x>>>0&d>>>0>=x>>>0){c[d+12>>2]=o;c[b>>2]=o;c[u+(p+8)>>2]=d;c[u+(p+12)>>2]=H;c[u+(p+24)>>2]=0;break}else xb()}else{x=(c[5361]|0)+m|0;c[5361]=x;c[5364]=o;c[u+(p+4)>>2]=x|1}while(0);x=u+(q|8)|0;i=I;return x|0}f=21880|0;while(1){g=c[f>>2]|0;if(g>>>0<=h>>>0?(z=c[f+4>>2]|0,(g+z|0)>>>0>h>>>0):0)break;f=c[f+8>>2]|0}if(!(g+(z+-39)&7))f=0;else f=0-(g+(z+-39))&7;a=g+(z+-47+f)|0;a=a>>>0<(h+16|0)>>>0?h:a;f=u+8|0;if(!(f&7))f=0;else f=0-f&7;x=r+-40-f|0;c[5364]=u+f;c[5361]=x;c[u+(f+4)>>2]=x|1;c[u+(r+-36)>>2]=40;c[5365]=c[5480];c[a+4>>2]=27;c[a+8>>2]=c[5470];c[a+12>>2]=c[5471];c[a+16>>2]=c[5472];c[a+20>>2]=c[5473];c[5470]=u;c[5471]=r;c[5473]=0;c[5472]=a+8;c[a+28>>2]=7;if((a+32|0)>>>0<(g+z|0)>>>0){f=a+28|0;do{x=f;f=f+4|0;c[f>>2]=7}while((x+8|0)>>>0<(g+z|0)>>>0)}if((a|0)!=(h|0)){c[h+(a-h+4)>>2]=c[h+(a-h+4)>>2]&-2;c[h+4>>2]=a-h|1;c[h+(a-h)>>2]=a-h;if((a-h|0)>>>0<256){d=c[5358]|0;do if(!(d&1<<((a-h|0)>>>3))){c[5358]=d|1<<((a-h|0)>>>3);A=21472+(((a-h|0)>>>3<<1)+2<<2)|0;B=21472+((a-h|0)>>>3<<1<<2)|0}else{d=c[21472+(((a-h|0)>>>3<<1)+2<<2)>>2]|0;if(d>>>0>=(c[5362]|0)>>>0){A=21472+(((a-h|0)>>>3<<1)+2<<2)|0;B=d;break}xb()}while(0);c[A>>2]=h;c[B+12>>2]=h;c[h+8>>2]=B;c[h+12>>2]=21472+((a-h|0)>>>3<<1<<2);break}if((a-h|0)>>>8)if((a-h|0)>>>0>16777215)f=31;else{f=(a-h|0)>>>8<<((((a-h|0)>>>8)+1048320|0)>>>16&8);f=14-((f+520192|0)>>>16&4|(((a-h|0)>>>8)+1048320|0)>>>16&8|((f<<((f+520192|0)>>>16&4))+245760|0)>>>16&2)+(f<<((f+520192|0)>>>16&4)<<(((f<<((f+520192|0)>>>16&4))+245760|0)>>>16&2)>>>15)|0;f=(a-h|0)>>>(f+7|0)&1|f<<1}else f=0;e=21736+(f<<2)|0;c[h+28>>2]=f;c[h+20>>2]=0;c[h+16>>2]=0;d=c[5359]|0;b=1<>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}b=c[e>>2]|0;if((f|0)==31)d=0;else d=25-(f>>>1)|0;k:do if((c[b+4>>2]&-8|0)!=(a-h|0)){f=a-h<>>31<<2)+16|0;d=c[e>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(a-h|0)){D=d;break k}else{f=f<<1;b=d}}if(e>>>0<(c[5362]|0)>>>0)xb();else{c[e>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;break g}}else D=b;while(0);b=D+8|0;d=c[b>>2]|0;x=c[5362]|0;if(D>>>0>=x>>>0&d>>>0>=x>>>0){c[d+12>>2]=h;c[b>>2]=h;c[h+8>>2]=d;c[h+12>>2]=D;c[h+24>>2]=0;break}else xb()}}else{x=c[5362]|0;if((x|0)==0|u>>>0>>0)c[5362]=u;c[5470]=u;c[5471]=r;c[5473]=0;c[5367]=c[5476];c[5366]=-1;d=0;do{x=d<<1;c[21472+(x+3<<2)>>2]=21472+(x<<2);c[21472+(x+2<<2)>>2]=21472+(x<<2);d=d+1|0}while((d|0)!=32);b=u+8|0;if(!(b&7))d=0;else d=0-b&7;x=r+-40-d|0;c[5364]=u+d;c[5361]=x;c[u+(d+4)>>2]=x|1;c[u+(r+-36)>>2]=40;c[5365]=c[5480]}while(0);b=c[5361]|0;if(b>>>0>n>>>0){w=b-n|0;c[5361]=w;x=c[5364]|0;c[5364]=x+n;c[x+(n+4)>>2]=w|1;c[x+4>>2]=n|3;x=x+8|0;i=I;return x|0}}c[(tb()|0)>>2]=12;x=0;i=I;return x|0}function RE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i;if(!a){i=w;return}j=c[5362]|0;if((a+-8|0)>>>0>>0)xb();q=c[a+-4>>2]|0;if((q&3|0)==1)xb();p=a+((q&-8)+-8)|0;do if(!(q&1)){l=c[a+-8>>2]|0;if(!(q&3)){i=w;return}m=a+(-8-l)|0;n=l+(q&-8)|0;if(m>>>0>>0)xb();if((m|0)==(c[5363]|0)){f=c[a+((q&-8)+-4)>>2]|0;if((f&3|0)!=3){u=m;g=n;break}c[5360]=n;c[a+((q&-8)+-4)>>2]=f&-2;c[a+(-8-l+4)>>2]=n|1;c[p>>2]=n;i=w;return}if(l>>>0<256){f=c[a+(-8-l+8)>>2]|0;e=c[a+(-8-l+12)>>2]|0;if((f|0)!=(21472+(l>>>3<<1<<2)|0)){if(f>>>0>>0)xb();if((c[f+12>>2]|0)!=(m|0))xb()}if((e|0)==(f|0)){c[5358]=c[5358]&~(1<<(l>>>3));u=m;g=n;break}if((e|0)!=(21472+(l>>>3<<1<<2)|0)){if(e>>>0>>0)xb();if((c[e+8>>2]|0)!=(m|0))xb();else d=e+8|0}else d=e+8|0;c[f+12>>2]=e;c[d>>2]=f;u=m;g=n;break}b=c[a+(-8-l+24)>>2]|0;f=c[a+(-8-l+12)>>2]|0;do if((f|0)==(m|0)){f=c[a+(-8-l+20)>>2]|0;if(!f){f=c[a+(-8-l+16)>>2]|0;if(!f){k=0;break}else h=a+(-8-l+16)|0}else h=a+(-8-l+20)|0;while(1){d=f+20|0;e=c[d>>2]|0;if(e){f=e;h=d;continue}d=f+16|0;e=c[d>>2]|0;if(!e)break;else{f=e;h=d}}if(h>>>0>>0)xb();else{c[h>>2]=0;k=f;break}}else{e=c[a+(-8-l+8)>>2]|0;if(e>>>0>>0)xb();if((c[e+12>>2]|0)!=(m|0))xb();if((c[f+8>>2]|0)==(m|0)){c[e+12>>2]=f;c[f+8>>2]=e;k=f;break}else xb()}while(0);if(b){f=c[a+(-8-l+28)>>2]|0;if((m|0)==(c[21736+(f<<2)>>2]|0)){c[21736+(f<<2)>>2]=k;if(!k){c[5359]=c[5359]&~(1<>>0<(c[5362]|0)>>>0)xb();if((c[b+16>>2]|0)==(m|0))c[b+16>>2]=k;else c[b+20>>2]=k;if(!k){u=m;g=n;break}}e=c[5362]|0;if(k>>>0>>0)xb();c[k+24>>2]=b;f=c[a+(-8-l+16)>>2]|0;do if(f)if(f>>>0>>0)xb();else{c[k+16>>2]=f;c[f+24>>2]=k;break}while(0);f=c[a+(-8-l+20)>>2]|0;if(f)if(f>>>0<(c[5362]|0)>>>0)xb();else{c[k+20>>2]=f;c[f+24>>2]=k;u=m;g=n;break}else{u=m;g=n}}else{u=m;g=n}}else{u=a+-8|0;g=q&-8}while(0);if(u>>>0>=p>>>0)xb();d=c[a+((q&-8)+-4)>>2]|0;if(!(d&1))xb();if(!(d&2)){if((p|0)==(c[5364]|0)){m=(c[5361]|0)+g|0;c[5361]=m;c[5364]=u;c[u+4>>2]=m|1;if((u|0)!=(c[5363]|0)){i=w;return}c[5363]=0;c[5360]=0;i=w;return}if((p|0)==(c[5363]|0)){m=(c[5360]|0)+g|0;c[5360]=m;c[5363]=u;c[u+4>>2]=m|1;c[u+m>>2]=m;i=w;return}g=(d&-8)+g|0;do if(d>>>0>=256){h=c[a+((q&-8)+16)>>2]|0;f=c[a+(q&-8|4)>>2]|0;do if((f|0)==(p|0)){f=c[a+((q&-8)+12)>>2]|0;if(!f){f=c[a+((q&-8)+8)>>2]|0;if(!f){r=0;break}else b=a+((q&-8)+8)|0}else b=a+((q&-8)+12)|0;while(1){d=f+20|0;e=c[d>>2]|0;if(e){f=e;b=d;continue}d=f+16|0;e=c[d>>2]|0;if(!e)break;else{f=e;b=d}}if(b>>>0<(c[5362]|0)>>>0)xb();else{c[b>>2]=0;r=f;break}}else{e=c[a+(q&-8)>>2]|0;if(e>>>0<(c[5362]|0)>>>0)xb();if((c[e+12>>2]|0)!=(p|0))xb();if((c[f+8>>2]|0)==(p|0)){c[e+12>>2]=f;c[f+8>>2]=e;r=f;break}else xb()}while(0);if(h){f=c[a+((q&-8)+20)>>2]|0;if((p|0)==(c[21736+(f<<2)>>2]|0)){c[21736+(f<<2)>>2]=r;if(!r){c[5359]=c[5359]&~(1<>>0<(c[5362]|0)>>>0)xb();if((c[h+16>>2]|0)==(p|0))c[h+16>>2]=r;else c[h+20>>2]=r;if(!r)break}e=c[5362]|0;if(r>>>0>>0)xb();c[r+24>>2]=h;f=c[a+((q&-8)+8)>>2]|0;do if(f)if(f>>>0>>0)xb();else{c[r+16>>2]=f;c[f+24>>2]=r;break}while(0);d=c[a+((q&-8)+12)>>2]|0;if(d)if(d>>>0<(c[5362]|0)>>>0)xb();else{c[r+20>>2]=d;c[d+24>>2]=r;break}}}else{e=c[a+(q&-8)>>2]|0;f=c[a+(q&-8|4)>>2]|0;if((e|0)!=(21472+(d>>>3<<1<<2)|0)){if(e>>>0<(c[5362]|0)>>>0)xb();if((c[e+12>>2]|0)!=(p|0))xb()}if((f|0)==(e|0)){c[5358]=c[5358]&~(1<<(d>>>3));break}if((f|0)!=(21472+(d>>>3<<1<<2)|0)){if(f>>>0<(c[5362]|0)>>>0)xb();if((c[f+8>>2]|0)!=(p|0))xb();else o=f+8|0}else o=f+8|0;c[e+12>>2]=f;c[o>>2]=e}while(0);c[u+4>>2]=g|1;c[u+g>>2]=g;if((u|0)==(c[5363]|0)){c[5360]=g;i=w;return}}else{c[a+((q&-8)+-4)>>2]=d&-2;c[u+4>>2]=g|1;c[u+g>>2]=g}f=g>>>3;if(g>>>0<256){d=c[5358]|0;if(d&1<>2]|0;if(d>>>0<(c[5362]|0)>>>0)xb();else{s=21472+((f<<1)+2<<2)|0;t=d}}else{c[5358]=d|1<>2]=u;c[t+12>>2]=u;c[u+8>>2]=t;c[u+12>>2]=21472+(f<<1<<2);i=w;return}d=g>>>8;if(d)if(g>>>0>16777215)f=31;else{f=d<<((d+1048320|0)>>>16&8)<<(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4);f=14-(((d<<((d+1048320|0)>>>16&8))+520192|0)>>>16&4|(d+1048320|0)>>>16&8|(f+245760|0)>>>16&2)+(f<<((f+245760|0)>>>16&2)>>>15)|0;f=g>>>(f+7|0)&1|f<<1}else f=0;b=21736+(f<<2)|0;c[u+28>>2]=f;c[u+20>>2]=0;c[u+16>>2]=0;d=c[5359]|0;e=1<>2]|0;if((f|0)==31)d=0;else d=25-(f>>>1)|0;b:do if((c[b+4>>2]&-8|0)!=(g|0)){f=g<>>31<<2)+16|0;d=c[e>>2]|0;if(!d)break;if((c[d+4>>2]&-8|0)==(g|0)){v=d;break b}else{f=f<<1;b=d}}if(e>>>0<(c[5362]|0)>>>0)xb();else{c[e>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u;break a}}else v=b;while(0);d=v+8|0;b=c[d>>2]|0;m=c[5362]|0;if(v>>>0>=m>>>0&b>>>0>=m>>>0){c[b+12>>2]=u;c[d>>2]=u;c[u+8>>2]=b;c[u+12>>2]=v;c[u+24>>2]=0;break}else xb()}else{c[5359]=d|e;c[b>>2]=u;c[u+24>>2]=b;c[u+12>>2]=u;c[u+8>>2]=u}while(0);m=(c[5366]|0)+-1|0;c[5366]=m;if(!m)b=21888|0;else{i=w;return}while(1){b=c[b>>2]|0;if(!b)break;else b=b+8|0}c[5366]=-1;i=w;return}function SE(a,b){a=+a;b=+b;var d=0,e=0,f=0,h=0,j=0,l=0,m=0,n=0;n=i;m=(g[k>>2]=a,c[k>>2]|0);j=(g[k>>2]=b,c[k>>2]|0);if((j<<1|0)!=0?!((j&2147483647)>>>0>2139095040|(m>>>23&255|0)==255):0){if(m<<1>>>0<=j<<1>>>0){if((m<<1|0)!=(j<<1|0)){b=a;i=n;return +b}b=a*0.0;i=n;return +b}if(!(m>>>23&255)){if((m<<9|0)>-1){e=0;d=m<<9;do{e=e+-1|0;d=d<<1}while((d|0)>-1)}else e=0;d=e;f=m<<1-e}else{d=m>>>23&255;f=m&8388607|8388608}if(!(j>>>23&255)){if((j<<9|0)>-1){e=0;h=j<<9;do{e=e+-1|0;h=h<<1}while((h|0)>-1)}else e=0;l=e;j=j<<1-e}else{l=j>>>23&255;j=j&8388607|8388608}e=f-j|0;a:do if((d|0)>(l|0)){h=(e|0)>-1;while(1){if(h){if((f|0)==(j|0))break}else e=f;f=e<<1;d=d+-1|0;e=f-j|0;if((d|0)>(l|0))h=(e|0)>-1;else{h=(e|0)>-1;break a}}b=a*0.0;i=n;return +b}else h=(e|0)>-1;while(0);if(h){if((f|0)==(j|0)){b=a*0.0;i=n;return +b}}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]);i=n;return +b}b=a*b/(a*b);i=n;return +b}function TE(){}function UE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return (D=b,a-c>>>0|0)|0}function VE(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 WE(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function XE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (D=b+d+(a+c>>>0>>>0>>0|0)>>>0,a+c>>>0|0)|0}function YE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return pb(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 ZE(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 YE(b,c,d)|0;return b|0}function _E(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function $E(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<>>32-c;return a<>>c;return a>>>c|(b&(1<>>c-32|0}function bF(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<>c-32|0}function cF(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 dF(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 (D=(e>>>16)+($(b>>>16,a>>>16)|0)+(((e&65535)+d|0)>>>16)|0,e+d<<16|c&65535|0)|0}function eF(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;b=UE(g^a,e^b,g,e)|0;a=D;a=UE((jF(b,a,UE(h^c,f^d,h,f)|0,D,0)|0)^(h^g),D^(f^e),h^g,f^e)|0;return a|0}function fF(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+8|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;b=UE(h^a,g^b,h,g)|0;a=D;jF(b,a,UE(k^d,j^e,k,j)|0,D,f|0)|0;a=UE(c[f>>2]^h,c[f+4>>2]^g,h,g)|0;b=D;i=f;return (D=b,a)|0}function gF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=dF(a,c)|0;f=D;return (D=($(b,c)|0)+($(d,a)|0)+f|f&0,e|0|0)|0}function hF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=jF(a,b,c,d,0)|0;return a|0}function iF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;i=i+8|0;jF(a,b,d,e,f|0)|0;i=f;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function jF(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){c[f>>2]=(a>>>0)%(d>>>0);c[f+4>>2]=0}m=0;d=(a>>>0)/(d>>>0)>>>0;return (D=m,d)|0}else{if(!f){m=0;d=0;return (D=m,d)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;m=0;d=0;return (D=m,d)|0}do if(d){if(e){h=(ba(e|0)|0)-(ba(b|0)|0)|0;if(h>>>0<=31){j=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){m=0;d=0;return (D=m,d)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;m=0;d=0;return (D=m,d)|0}if(d-1&d){h=(ba(d|0)|0)+33-(ba(b|0)|0)|0;j=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){c[f>>2]=d-1&a;c[f+4>>2]=0}if((d|0)==1){m=b|b&0;d=a|0|0;return (D=m,d)|0}else{d=cF(d|0)|0;m=b>>>(d>>>0)|0;d=b<<32-d|a>>>(d>>>0)|0;return (D=m,d)|0}}else{if(!e){if(f){c[f>>2]=(b>>>0)%(d>>>0);c[f+4>>2]=0}m=0;d=(b>>>0)/(d>>>0)>>>0;return (D=m,d)|0}if(!a){if(f){c[f>>2]=0;c[f+4>>2]=(b>>>0)%(e>>>0)}m=0;d=(b>>>0)/(e>>>0)>>>0;return (D=m,d)|0}if(!(e-1&e)){if(f){c[f>>2]=a|0;c[f+4>>2]=e-1&b|b&0}m=0;d=b>>>((cF(e|0)|0)>>>0);return (D=m,d)|0}h=(ba(e|0)|0)-(ba(b|0)|0)|0;if(h>>>0<=30){j=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){m=0;d=0;return (D=m,d)|0}c[f>>2]=a|0;c[f+4>>2]=b|b&0;m=0;d=0;return (D=m,d)|0}while(0);if(!j){j=h;b=m;h=0;a=0}else{k=XE(d|0|0,e|e&0,-1,-1)|0;l=D;b=m;a=0;do{p=h;h=g>>>31|h<<1;g=a|g<<1;p=i<<1|p>>>31|0;o=i>>>31|b<<1|0;UE(k,l,p,o)|0;m=D;n=m>>31|((m|0)<0?-1:0)<<1;a=n&1;i=UE(p,o,n&(d|0),(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&(e|e&0))|0;b=D;j=j-1|0}while((j|0)!=0);j=h;h=0}if(f){c[f>>2]=i;c[f+4>>2]=b}m=(g|0)>>>31|j<<1|(0<<1|g>>>31)&0|h;d=(g<<1|0>>>31)&-2|a;return (D=m,d)|0}function kF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Hb[a&31](b|0,c|0,d|0,e|0,f|0)}function lF(a,b,c){a=a|0;b=b|0;c=+c;Ib[a&31](b|0,+c)}function mF(a,b){a=a|0;b=b|0;Jb[a&255](b|0)}function nF(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;Kb[a&0](b|0,c|0,d|0,+e,f|0,g|0)}function oF(a,b,c){a=a|0;b=b|0;c=c|0;Lb[a&127](b|0,c|0)}function pF(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 Mb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function qF(a,b){a=a|0;b=b|0;return Nb[a&127](b|0)|0}function rF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;Ob[a&7](b|0,c|0,+d,e|0)}function sF(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;Pb[a&0](b|0,+c,+d,e|0,f|0,g|0)}function tF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;Qb[a&0](b|0,+c,d|0,e|0)}function uF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Rb[a&31](b|0,c|0,d|0,e|0)|0}function vF(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;Sb[a&15](b|0,+c,d|0)}function wF(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 +Tb[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function xF(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;Ub[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,j|0,k|0,+l)}function yF(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 +Vb[a&15](b|0,c|0,d|0,e|0,f|0)}function zF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wb[a&63](b|0,c|0,d|0)|0}function AF(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;Xb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function BF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Yb[a&7](b|0,c|0,+d)|0}function CF(a,b){a=a|0;b=b|0;return +Zb[a&15](b|0)}function DF(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 _b[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function EF(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 +$b[a&3](b|0,c|0,d|0,+e,f|0,g|0)}function FF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ac[a&0](b|0,c|0,+d,e|0,f|0)}function GF(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;bc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function HF(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;cc[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function IF(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;dc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function JF(a,b,c){a=a|0;b=b|0;c=c|0;return ec[a&31](b|0,c|0)|0}function KF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +fc[a&15](b|0,c|0,d|0)}function LF(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 +gc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function MF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;hc[a&1](b|0,c|0,d|0,e|0,+f)}function NF(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 +ic[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function OF(a,b,c){a=a|0;b=b|0;c=+c;return +jc[a&1](b|0,+c)}function PF(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;kc[a&0](b|0,c|0,d|0,e|0,+f,+g,+h,+i,+j,k|0,+l,m|0)}function QF(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;return +lc[a&3](b|0,c|0,+d,e|0,f|0)}function RF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return +mc[a&1](b|0,c|0,d|0,e|0)}function SF(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 nc[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function TF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;oc[a&15](b|0,c|0,d|0,+e)}function UF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;pc[a&127](b|0,c|0,d|0)}function VF(a){a=a|0;qc[a&3]()}function WF(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;rc[a&7](b|0,c|0,+d)}function XF(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=+e;return sc[a&1](b|0,+c,d|0,+e)|0}function YF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;tc[a&127](b|0,c|0,d|0,e|0)}function ZF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(0)}function _F(a,b){a=a|0;b=+b;ca(1)}function $F(a){a=a|0;ca(2)}function aG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ca(3)}function bG(a,b){a=a|0;b=b|0;ca(4)}function cG(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(5);return 0}function dG(a){a=a|0;ca(6);return 0}function eG(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;ca(7)}function fG(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;ca(8)}function gG(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ca(9)}function hG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(10);return 0}function iG(a,b,c){a=a|0;b=+b;c=c|0;ca(11)}function jG(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ca(12);return 0.0}function kG(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;ca(13)}function lG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ca(14);return 0.0}function mG(a,b,c){a=a|0;b=b|0;c=c|0;ca(15);return 0}function nG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(16)}function oG(a,b,c){a=a|0;b=b|0;c=+c;ca(17);return 0}function pG(a){a=a|0;ca(18);return 0.0}function qG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ca(19);return 0}function rG(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;f=f|0;ca(20);return 0.0}function sG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(21)}function tG(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ca(22)}function uG(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;ca(23)}function vG(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(24)}function wG(a,b){a=a|0;b=b|0;ca(25);return 0}function xG(a,b,c){a=a|0;b=b|0;c=c|0;ca(26);return 0.0}function yG(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ca(27);return 0.0}function zG(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;ca(28)}function AG(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;ca(29);return 0.0}function BG(a,b){a=a|0;b=+b;ca(30);return 0.0}function CG(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;ca(31)}function DG(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;ca(32);return 0.0}function EG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(33);return 0.0}function FG(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;ca(34);return 0}function GG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;ca(35)}function HG(a,b,c){a=a|0;b=b|0;c=c|0;ca(36)}function IG(){ca(37)}function JG(){Fb()}function KG(a,b,c){a=a|0;b=b|0;c=+c;ca(38)}function LG(a,b,c,d){a=a|0;b=+b;c=c|0;d=+d;ca(39);return 0}function MG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ca(40)} +function $y(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+32|0;f=c[a+52>>2]|0;w=+g[a+(((f+2|0)%3|0)<<2)+28>>2];if((e|0)<=0){i=x;return}h=0;while(1){c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;g[x+16+(f<<2)>>2]=+g[a+(f<<2)+28>>2];f=b+(h<<4)|0;u=b+(h<<4)+4|0;v=b+(h<<4)+8|0;p=w*+g[f>>2]+ +g[x+16>>2];k=w*+g[u>>2]+ +g[x+20>>2];l=w*+g[v>>2]+ +g[x+24>>2];j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=+g[f>>2];n=+g[u>>2];m=+g[v>>2];if(o*(p-j*o)+n*(k-j*n)+m*(l-j*m)>-999999984306749440.0){g[d+(h<<4)>>2]=p-j*o;g[d+(h<<4)+4>>2]=k-j*n;g[d+(h<<4)+8>>2]=l-j*m;g[d+(h<<4)+12>>2]=0.0;q=+g[f>>2];s=+g[u>>2];t=+g[v>>2];r=o*(p-j*o)+n*(k-j*n)+m*(l-j*m)}else{q=o;s=n;t=m;r=-999999984306749440.0};c[x+0>>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+(y<<2)+28>>2];p=w*q+ +g[x>>2];o=w*s+ +g[x+4>>2];m=w*t+ +g[x+8>>2];n=+Zb[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 az(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+16|0;k=c[a+52>>2]|0;h=+g[a+(((k+2|0)%3|0)<<2)+28>>2];g[e>>2]=h;g[e+4>>2]=h;g[e+8>>2]=h;g[e+12>>2]=0.0;g[e+(k<<2)>>2]=+g[a+(k<<2)+28>>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 bz(a){a=a|0;return 14520}function cz(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function dz(a){a=a|0;return 14536}function ez(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];i=f;return 14552}function gz(a){a=a|0;return 60}function hz(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);b=k-+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function iz(a,b){a=a|0;b=b|0;c[a+0>>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 jz(a){a=a|0;return 14576}function kz(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,n=0.0,o=0.0;d=i;m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+O(+(+g[b>>2]));k=+O(+(+g[b+4>>2]));f=+O(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function lz(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.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;f=i;i=i+16|0;x=c[a+52>>2]|0;k=+g[a+(((x+2|0)%3|0)<<2)+28>>2];g[f>>2]=k;g[f+4>>2]=k;g[f+8>>2]=k;g[f+12>>2]=0.0;g[f+(x<<2)>>2]=k+ +g[a+(x<<2)+28>>2];k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);n=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +g[f>>2];g[f>>2]=k;h=h+ +g[f+4>>2];g[f+4>>2]=h;n=n+ +g[f+8>>2];u=+O(+(+g[b>>2]));t=+O(+(+g[b+4>>2]));v=+O(+(+g[b+8>>2]));q=+O(+(+g[b+16>>2]));p=+O(+(+g[b+20>>2]));r=+O(+(+g[b+24>>2]));l=+O(+(+g[b+32>>2]));j=+O(+(+g[b+36>>2]));m=+O(+(+g[b+40>>2]));w=+g[b+48>>2];s=+g[b+52>>2];o=+g[b+56>>2];g[d>>2]=w-(n*v+(u*k+t*h));g[d+4>>2]=s-(n*r+(q*k+p*h));g[d+8>>2]=o-(n*m+(l*k+j*h));g[d+12>>2]=0.0;g[e>>2]=w+(n*v+(u*k+t*h));g[e+4>>2]=s+(n*r+(q*k+p*h));g[e+8>>2]=o+(n*m+(l*k+j*h));g[e+12>>2]=0.0;i=f;return}function mz(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function nz(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,m=0.0;l=i;i=i+80|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;e=+g[d>>2];k=+g[d+4>>2];f=+g[d+8>>2];if(e*e+k*k+f*f<9.999999747378752e-05){j=1.0;h=0.0;f=0.0;e=0.0}else{m=1.0/+P(+(e*e+k*k+f*f));j=e*m;h=f*m;f=+g[d+12>>2];e=k*m}c[l+32>>2]=14800;c[l+36>>2]=0;c[l+40>>2]=0;c[l+44>>2]=0;c[l+48>>2]=0;g[l+52>>2]=-999999984306749440.0;g[l+56>>2]=j;g[l+60>>2]=e;g[l+64>>2]=h;g[l+68>>2]=f;g[l+16>>2]=999999984306749440.0;g[l+20>>2]=999999984306749440.0;g[l+24>>2]=999999984306749440.0;g[l+28>>2]=0.0;d=c[b+92>>2]|0;b=c[(c[d>>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;tc[b&127](d,l+32|0,l,l+16|0);c[a+0>>2]=c[l+36>>2];c[a+4>>2]=c[l+40>>2];c[a+8>>2]=c[l+44>>2];c[a+12>>2]=c[l+48>>2];i=l;return}function oz(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;h=i;i=i+80|0;if((e|0)>0)f=0;else{i=h;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));f=0;do{j=b+(f<<4)|0;c[h+32>>2]=14800;c[h+36>>2]=0;c[h+40>>2]=0;c[h+44>>2]=0;c[h+48>>2]=0;g[h+52>>2]=-999999984306749440.0;c[h+56>>2]=c[j+0>>2];c[h+60>>2]=c[j+4>>2];c[h+64>>2]=c[j+8>>2];c[h+68>>2]=c[j+12>>2];g[h+16>>2]=999999984306749440.0;g[h+20>>2]=999999984306749440.0;g[h+24>>2]=999999984306749440.0;g[h+28>>2]=0.0;j=c[a+92>>2]|0;k=c[(c[j>>2]|0)+8>>2]|0;g[h>>2]=-999999984306749440.0;g[h+4>>2]=-999999984306749440.0;g[h+8>>2]=-999999984306749440.0;g[h+12>>2]=0.0;tc[k&127](j,h+32|0,h,h+16|0);j=d+(f<<4)|0;c[j+0>>2]=c[h+36>>2];c[j+4>>2]=c[h+40>>2];c[j+8>>2]=c[h+44>>2];c[j+12>>2]=c[h+48>>2];f=f+1|0}while((f|0)<(e|0));i=h;return}function pz(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;pc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Zb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+P(+(f*f+(l*l+k*k)));j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 qz(a){a=a|0;return 0}function rz(a){a=a|0;return 0}function sz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function tz(a,b,c){a=a|0;b=b|0;c=c|0;return}function uz(a){a=a|0;return 0}function vz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function wz(a,b,c){a=a|0;b=b|0;c=+c;return 0}function xz(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=(c[a+92>>2]|0)+4|0;c[e+0>>2]=c[b+0>>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];oy(a);i=d;return}function yz(a){a=a|0;return (c[a+92>>2]|0)+4|0}function zz(a){a=a|0;return 14776}function Az(a){a=a|0;var b=0,d=0;d=i;c[a>>2]=13336;b=c[a+52>>2]|0;if(b){Jb[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(b){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}if(!a){i=d;return}}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=d;return}function Bz(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;e=i;j=+g[a+24>>2];k=+g[a+28>>2];l=+g[a+32>>2];h=j*+g[b>>2]+k*+g[b+4>>2]+l*+g[b+8>>2];f=+g[a+20>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2];f=h}h=j*+g[b+16>>2]+k*+g[b+20>>2]+l*+g[b+24>>2];if(h>f){g[a+20>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];c[a+12>>2]=c[b+24>>2];c[a+16>>2]=c[b+28>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+l*+g[b+40>>2];if(!(f>h)){i=e;return}g[a+20>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+8>>2]=c[b+36>>2];c[a+12>>2]=c[b+40>>2];c[a+16>>2]=c[b+44>>2];i=e;return}function Cz(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Dz(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.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;f=i;k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=k+ +g[a+28>>2];m=k+ +g[a+32>>2];k=k+ +g[a+36>>2];w=+O(+(+g[b>>2]));v=+O(+(+g[b+4>>2]));u=+O(+(+g[b+8>>2]));s=+O(+(+g[b+16>>2]));r=+O(+(+g[b+20>>2]));q=+O(+(+g[b+24>>2]));n=+O(+(+g[b+32>>2]));l=+O(+(+g[b+36>>2]));j=+O(+(+g[b+40>>2]));t=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function Ez(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.0;e=i;k=+g[a+28>>2];h=+g[a+32>>2];l=+g[a+36>>2];j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);l=(l+ +Zb[c[(c[a>>2]|0)+48>>2]&15](a))*2.0;g[d>>2]=b/12.0*((h+f)*2.0*((h+f)*2.0)+l*l);g[d+4>>2]=b/12.0*((k+j)*2.0*((k+j)*2.0)+l*l);g[d+8>>2]=b/12.0*((k+j)*2.0*((k+j)*2.0)+(h+f)*2.0*((h+f)*2.0));g[d+12>>2]=0.0;i=e;return}function Fz(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);b=k-+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0;h=i;e=+g[a+28>>2];f=+g[a+32>>2];d=+g[a+36>>2];switch(c|0){case 4:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=1.0;g[b+12>>2]=-d;i=h;return}case 0:{g[b>>2]=1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-e;i=h;return}case 2:{g[b>>2]=0.0;g[b+4>>2]=1.0;g[b+8>>2]=0.0;g[b+12>>2]=-f;i=h;return}case 1:{g[b>>2]=-1.0;g[b+4>>2]=0.0;g[b+8>>2]=0.0;g[b+12>>2]=-e;i=h;return}case 5:{g[b>>2]=0.0;g[b+4>>2]=0.0;g[b+8>>2]=-1.0;g[b+12>>2]=-d;i=h;return}case 3:{g[b>>2]=0.0;g[b+4>>2]=-1.0;g[b+8>>2]=0.0;g[b+12>>2]=-f;i=h;return}default:{i=h;return}}}function Hz(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0,f=0.0,h=0.0,j=0;j=i;e=+g[a+28>>2];f=+g[a+32>>2];h=+g[a+36>>2];d=+g[b>>2];if(!(d<=e+c)){a=0;i=j;return a|0}if(!(d>=-e-c)){a=0;i=j;return a|0}d=+g[b+4>>2];if(!(d<=f+c)){a=0;i=j;return a|0}if(!(d>=-f-c)){a=0;i=j;return a|0}d=+g[b+8>>2];if(!(d<=h+c)){a=0;i=j;return a|0}a=d>=-h-c;i=j;return a|0}function Iz(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;f=i;i=i+48|0;pc[c[(c[a>>2]|0)+124>>2]&127](a,f+32|0,e);k=+g[f+32>>2];j=+g[f+36>>2];h=+g[f+40>>2];g[b>>2]=k;g[b+4>>2]=j;g[b+8>>2]=h;g[b+12>>2]=0.0;e=c[(c[a>>2]|0)+64>>2]|0;g[f>>2]=-k;g[f+4>>2]=-j;g[f+8>>2]=-h;g[f+12>>2]=0.0;pc[e&127](f+16|0,a,f);c[d+0>>2]=c[f+16>>2];c[d+4>>2]=c[f+20>>2];c[d+8>>2]=c[f+24>>2];c[d+12>>2]=c[f+28>>2];i=f;return}function Jz(a){a=a|0;return 6}function Kz(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;l=+g[a+28>>2];j=+g[a+32>>2];f=+g[a+36>>2];k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=f+ +Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[d>>2]=+(b&1^1|0)*(l+k)-+(b&1|0)*(l+k);g[d+4>>2]=+(b>>>1&1^1|0)*(j+h)-+(b>>>1&1|0)*(j+h);g[d+8>>2]=+(b>>>2&1^1|0)*f-+(b>>>2&1|0)*f;g[d+12>>2]=0.0;i=e;return}function Lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;do switch(b|0){case 6:{f=2;break}case 1:{f=0;b=2;break}case 7:{f=3;break}case 3:{f=2;break}case 10:{f=5;b=7;break}case 9:{f=4;b=6;break}case 5:{f=1;break}case 4:{f=0;break}case 8:{f=4;b=5;break}case 11:{f=6;b=7;break}case 2:{f=1;b=3;break}case 0:{f=0;b=1;break}default:{f=0;b=0}}while(0);pc[c[(c[a>>2]|0)+108>>2]&127](a,f,d);pc[c[(c[a>>2]|0)+108>>2]&127](a,b,e);i=g;return}function Mz(a){a=a|0;return 12}function Nz(a){a=a|0;return 8}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;a=i;switch(b|0){case 4:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=1.0;g[c+12>>2]=0.0;i=a;return}case 5:{g[c>>2]=0.0;g[c+4>>2]=0.0;g[c+8>>2]=-1.0;g[c+12>>2]=0.0;i=a;return}case 1:{g[c>>2]=-1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return}case 3:{g[c>>2]=0.0;g[c+4>>2]=-1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return}case 2:{g[c>>2]=0.0;g[c+4>>2]=1.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return}case 0:{g[c>>2]=1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=a;return}default:{i=a;return}}}function Pz(a){a=a|0;return 6}function Qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0;f=i;if((d|0)<=0){i=f;return}e=0;do{k=+g[a+28>>2];j=+g[a+32>>2];j=+g[b+(e<<4)+4>>2]>=0.0?j:-j;h=+g[a+36>>2];h=+g[b+(e<<4)+8>>2]>=0.0?h:-h;g[c+(e<<4)>>2]=+g[b+(e<<4)>>2]>=0.0?k:-k;g[c+(e<<4)+4>>2]=j;g[c+(e<<4)+8>>2]=h;g[c+(e<<4)+12>>2]=0.0;e=e+1|0}while((e|0)!=(d|0));i=f;return}function Rz(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 Sz(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;k=+g[b+28>>2];l=+g[b+32>>2];f=+g[b+36>>2];j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);h=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);f=f+ +Zb[c[(c[b>>2]|0)+48>>2]&15](b);h=+g[d+4>>2]>=0.0?l+h:-(l+h);f=+g[d+8>>2]>=0.0?f:-f;g[a>>2]=+g[d>>2]>=0.0?k+j:-(k+j);g[a+4>>2]=h;g[a+8>>2]=f;g[a+12>>2]=0.0;i=e;return}function Tz(a){a=a|0;return 15072}function Uz(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,n=0.0,o=0.0;d=i;m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+O(+(+g[b>>2]));k=+O(+(+g[b+4>>2]));f=+O(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function Vz(a){a=a|0;var b=0,d=0;d=i;c[a>>2]=13336;b=c[a+52>>2]|0;if(b){Jb[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(b){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}if(!a){i=d;return}}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=d;return}function Wz(a){a=a|0;var b=0;b=i;qC(a);i=b;return}function Xz(a){a=a|0;var b=0;b=i;qC(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Yz(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0.0,n=0.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;A=i;i=i+176|0;a[d+60>>0]=f&1;if(f){s=+g[h>>2]+-1.0;v=+g[h+4>>2]+-1.0;u=+g[h+8>>2]+-1.0;g[d+4>>2]=s;g[d+8>>2]=v;g[d+12>>2]=u;g[d+16>>2]=0.0;q=+g[j>>2]+1.0;z=+g[j+4>>2]+1.0;y=+g[j+8>>2]+1.0;g[d+20>>2]=q;g[d+24>>2]=z;g[d+28>>2]=y;g[d+32>>2]=0.0;g[d+36>>2]=65533.0/(q-s);g[d+40>>2]=65533.0/(z-v);g[d+44>>2]=65533.0/(y-u);g[d+48>>2]=0.0;a[d+60>>0]=1;n=s+ +(~~((s-s)*(65533.0/(q-s)))&65534)/(65533.0/(q-s))+-1.0;m=v+ +(~~((v-v)*(65533.0/(z-v)))&65534)/(65533.0/(z-v))+-1.0;r=u+ +(~~((u-u)*(65533.0/(y-u)))&65534)/(65533.0/(y-u))+-1.0;if(n>2]=n;x=n}else x=s;if(m>2]=m;w=m}else w=v;if(r>2]=r;t=r}else t=u;r=x+ +((~~((q-x)*(65533.0/(q-s))+1.0)&65535|1)&65535)/(65533.0/(q-s))+1.0;n=w+ +((~~((z-w)*(65533.0/(z-v))+1.0)&65535|1)&65535)/(65533.0/(z-v))+1.0;m=t+ +((~~((y-t)*(65533.0/(y-u))+1.0)&65535|1)&65535)/(65533.0/(y-u))+1.0;if(q>2]=r;q=r}if(z>2]=n;else n=z;if(y>2]=m;else m=y;g[d+36>>2]=65533.0/(q-x);g[d+40>>2]=65533.0/(n-w);g[d+44>>2]=65533.0/(m-t);g[d+48>>2]=0.0;c[A+152>>2]=15168;c[A+156>>2]=d+104;c[A+160>>2]=d;tc[c[(c[e>>2]|0)+8>>2]&127](e,A+152|0,d+4|0,d+20|0);k=c[d+108>>2]|0;c[A+136>>2]=0;c[A+140>>2]=0;c[A+144>>2]=0;c[A+148>>2]=0;j=c[d+128>>2]|0;if((j|0)<(k<<1|0)){if((c[d+132>>2]|0)<(k<<1|0)){if(!k){h=j;f=0}else{c[5108]=(c[5108]|0)+1;l=QE(k<<5|19)|0;if(!l)f=0;else{c[(l+19&-16)+-4>>2]=l;f=l+19&-16}h=c[d+128>>2]|0}if((h|0)>0){l=0;do{o=f+(l<<4)|0;p=(c[d+136>>2]|0)+(l<<4)|0;c[o+0>>2]=c[p+0>>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];l=l+1|0}while((l|0)!=(h|0))}l=c[d+136>>2]|0;if(l){if(a[d+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=k<<1;f=d+136|0}else f=d+136|0;l=j;do{h=(c[f>>2]|0)+(l<<4)|0;c[h+0>>2]=c[A+136>>2];c[h+4>>2]=c[A+140>>2];c[h+8>>2]=c[A+144>>2];c[h+12>>2]=c[A+148>>2];l=l+1|0}while((l|0)!=(k<<1|0))}c[d+128>>2]=k<<1}else{c[A+128>>2]=15312;c[A+132>>2]=d+64;g[A+112>>2]=-999999984306749440.0;g[A+116>>2]=-999999984306749440.0;g[A+120>>2]=-999999984306749440.0;g[A+124>>2]=0.0;g[A+96>>2]=999999984306749440.0;g[A+100>>2]=999999984306749440.0;g[A+104>>2]=999999984306749440.0;g[A+108>>2]=0.0;tc[c[(c[e>>2]|0)+8>>2]&127](e,A+128|0,A+112|0,A+96|0);k=c[d+68>>2]|0;o=A+32|0;e=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(e|0));h=c[d+88>>2]|0;if((h|0)<(k<<1|0)){if((c[d+92>>2]|0)<(k<<1|0)){if(!k){j=h;f=0}else{c[5108]=(c[5108]|0)+1;l=QE(k<<7|19)|0;if(!l)f=0;else{c[(l+19&-16)+-4>>2]=l;f=l+19&-16}j=c[d+88>>2]|0}if((j|0)>0){l=0;do{o=f+(l<<6)+0|0;p=(c[d+96>>2]|0)+(l<<6)+0|0;e=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(e|0));l=l+1|0}while((l|0)!=(j|0))}l=c[d+96>>2]|0;if(l){if(a[d+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=f;c[d+92>>2]=k<<1;f=d+96|0}else f=d+96|0;do{o=(c[f>>2]|0)+(h<<6)+0|0;p=A+32|0;e=o+64|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(e|0));h=h+1|0}while((h|0)!=(k<<1|0))}c[d+88>>2]=k<<1}c[d+56>>2]=0;pC(d,0,k);if((a[d+60>>0]|0)!=0?(c[d+152>>2]|0)==0:0){if(!(c[d+156>>2]|0)){c[5108]=(c[5108]|0)+1;k=QE(51)|0;if(!k)f=0;else{c[(k+19&-16)+-4>>2]=k;f=k+19&-16}k=c[d+152>>2]|0;if((k|0)>0){l=0;do{h=f+(l<<5)|0;j=(c[d+160>>2]|0)+(l<<5)|0;c[h+0>>2]=c[j+0>>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[h+16>>2]=c[j+16>>2];c[h+20>>2]=c[j+20>>2];c[h+24>>2]=c[j+24>>2];c[h+28>>2]=c[j+28>>2];l=l+1|0}while((l|0)!=(k|0))}k=c[d+160>>2]|0;if(k){if(a[d+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=1;l=(c[d+152>>2]|0)+1|0;k=f}else{l=1;k=c[d+160>>2]|0}c[d+152>>2]=l;c[k+0>>2]=c[A+0>>2];c[k+4>>2]=c[A+4>>2];c[k+8>>2]=c[A+8>>2];c[k+12>>2]=c[A+12>>2];c[k+16>>2]=c[A+16>>2];c[k+20>>2]=c[A+20>>2];c[k+24>>2]=c[A+24>>2];c[k+28>>2]=c[A+28>>2];k=c[d+160>>2]|0;l=c[d+136>>2]|0;b[k>>1]=b[l>>1]|0;b[k+2>>1]=b[l+2>>1]|0;b[k+4>>1]=b[l+4>>1]|0;b[k+6>>1]=b[l+6>>1]|0;b[k+8>>1]=b[l+8>>1]|0;b[k+10>>1]=b[l+10>>1]|0;c[k+12>>2]=0;l=c[l+12>>2]|0;c[k+16>>2]=(l|0)>-1?1:0-l|0}c[d+168>>2]=c[d+152>>2];k=c[d+116>>2]|0;if(k){if(a[d+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-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;k=c[d+76>>2]|0;if(!k){a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;k=d+72|0;c[k>>2]=0;i=A;return}if(a[d+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+76>>2]=0;a[d+80>>0]=1;c[d+76>>2]=0;c[d+68>>2]=0;k=d+72|0;c[k>>2]=0;i=A;return}function Zz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;vC(a,b,c,d)|0;i=e;return 1}function _z(a){a=a|0;return 84}function $z(d,e,f,h){d=d|0;e=e|0;f=f|0;h=h|0;var j=0.0,k=0.0,l=0.0,m=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,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0,G=0;y=i;k=+g[e>>2];j=k<999999984306749440.0?k:999999984306749440.0;l=+g[e+4>>2];o=l<999999984306749440.0?l:999999984306749440.0;q=+g[e+8>>2];n=q<999999984306749440.0?q:999999984306749440.0;k=k>-999999984306749440.0?k:-999999984306749440.0;l=l>-999999984306749440.0?l:-999999984306749440.0;q=q>-999999984306749440.0?q:-999999984306749440.0;z=+g[e+16>>2];j=z>2];o=A>2];n=B>2];j=B>2];o=A>2];n=z>2]|0;E=+g[w+4>>2];C=+g[w+8>>2];A=+g[w+12>>2];D=+g[w+36>>2];B=+g[w+40>>2];z=+g[w+44>>2];w=~~((j-E)*D)&65534;v=~~((o-C)*B)&65534;u=~~((n-A)*z)&65534;t=(~~((k-E)*D+1.0)&65535|1)&65535;s=(~~((l-C)*B+1.0)&65535|1)&65535;r=(~~((q-A)*z+1.0)&65535|1)&65535;d=c[d+4>>2]|0;e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(x=(e|0)==0?1:e<<1,(e|0)<(x|0)):0){if(!x)m=0;else{c[5108]=(c[5108]|0)+1;e=QE((x<<4|3)+16|0)|0;if(!e)m=0;else{c[(e+19&-16)+-4>>2]=e;m=e+19&-16}e=c[d+4>>2]|0}if((e|0)>0){p=0;do{F=m+(p<<4)|0;G=(c[d+12>>2]|0)+(p<<4)|0;c[F+0>>2]=c[G+0>>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];p=p+1|0}while((p|0)!=(e|0))}e=c[d+12>>2]|0;if(e){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=m;c[d+8>>2]=x;e=c[d+4>>2]|0}p=c[d+12>>2]|0;b[p+(e<<4)>>1]=w;b[p+(e<<4)+2>>1]=v;b[p+(e<<4)+4>>1]=u;b[p+(e<<4)+6>>1]=t;b[p+(e<<4)+8>>1]=s;b[p+(e<<4)+10>>1]=r;c[p+(e<<4)+12>>2]=f<<21|h;c[d+4>>2]=(c[d+4>>2]|0)+1;i=y;return}function aA(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function bA(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.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;w=i;i=i+32|0;o=+g[d>>2];t=o<999999984306749440.0?o:999999984306749440.0;r=+g[d+4>>2];v=r<999999984306749440.0?r:999999984306749440.0;p=+g[d+8>>2];u=p<999999984306749440.0?p:999999984306749440.0;q=+g[d+12>>2];s=q<0.0?q:0.0;o=o>-999999984306749440.0?o:-999999984306749440.0;r=r>-999999984306749440.0?r:-999999984306749440.0;p=p>-999999984306749440.0?p:-999999984306749440.0;q=q>0.0?q:0.0;x=+g[d+16>>2];t=x>2];v=y>2];u=z>2];s=A>2];t=A>2];v=z>2];u=y>2];s=x>2]|0;d=c[m+4>>2]|0;if((d|0)==(c[m+8>>2]|0)?(n=(d|0)==0?1:d<<1,(d|0)<(n|0)):0){if(!n)l=0;else{c[5108]=(c[5108]|0)+1;d=QE(n<<6|19)|0;if(!d)b=0;else{c[(d+19&-16)+-4>>2]=d;b=d+19&-16}d=c[m+4>>2]|0;l=b}if((d|0)>0){b=0;do{h=l+(b<<6)+0|0;j=(c[m+12>>2]|0)+(b<<6)+0|0;k=h+64|0;do{c[h>>2]=c[j>>2];h=h+4|0;j=j+4|0}while((h|0)<(k|0));b=b+1|0}while((b|0)!=(d|0))}b=c[m+12>>2]|0;if(b){if(a[m+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}c[m+12>>2]=0}a[m+16>>0]=1;c[m+12>>2]=l;c[m+8>>2]=n;d=c[m+4>>2]|0}n=c[m+12>>2]|0;g[n+(d<<6)>>2]=t;g[n+(d<<6)+4>>2]=v;g[n+(d<<6)+8>>2]=u;g[n+(d<<6)+12>>2]=s;g[n+(d<<6)+16>>2]=o;g[n+(d<<6)+20>>2]=r;g[n+(d<<6)+24>>2]=p;g[n+(d<<6)+28>>2]=q;c[n+(d<<6)+32>>2]=-1;c[n+(d<<6)+36>>2]=e;c[n+(d<<6)+40>>2]=f;n=n+(d<<6)+44|0;c[n+0>>2]=c[w+0>>2];c[n+4>>2]=c[w+4>>2];c[n+8>>2]=c[w+8>>2];c[n+12>>2]=c[w+12>>2];c[n+16>>2]=c[w+16>>2];c[m+4>>2]=(c[m+4>>2]|0)+1;i=w;return}function cA(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function dA(a,b){a=a|0;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;j=i;c[a+4>>2]=35;c[a+8>>2]=0;g[a+12>>2]=1.0;g[a+16>>2]=1.0;g[a+20>>2]=1.0;g[a+24>>2]=0.0;g[a+44>>2]=.03999999910593033;c[a>>2]=15448;c[a+52>>2]=1;e=+g[b>>2];f=+g[b+4>>2];h=+g[b+8>>2];if(e>2]*.10000000149011612;if(e<.03999999910593033){l=+zu(a);h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);l=l+ +g[a+28>>2];h=h+ +g[a+32>>2];m=m+ +g[a+36>>2];g[a+44>>2]=e;k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=m-+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=l-k;g[a+32>>2]=h-f;g[a+36>>2]=e;g[a+40>>2]=0.0;d=c[a>>2]|0}else d=15448|0;h=+Zb[c[d+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+g[b+4>>2]*+g[a+16>>2]-f;e=+g[b+8>>2]*+g[a+20>>2]-e;g[a+28>>2]=+g[b>>2]*+g[a+12>>2]-h;g[a+32>>2]=f;g[a+36>>2]=e;g[a+40>>2]=0.0;c[a+4>>2]=13;i=j;return}function eA(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.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;f=i;k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=k+ +g[a+28>>2];m=k+ +g[a+32>>2];k=k+ +g[a+36>>2];w=+O(+(+g[b>>2]));v=+O(+(+g[b+4>>2]));u=+O(+(+g[b+8>>2]));s=+O(+(+g[b+16>>2]));r=+O(+(+g[b+20>>2]));q=+O(+(+g[b+24>>2]));n=+O(+(+g[b+32>>2]));l=+O(+(+g[b+36>>2]));j=+O(+(+g[b+40>>2]));t=+g[b+48>>2];p=+g[b+52>>2];h=+g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function fA(a,b,d){a=a|0;b=+b;d=d|0;var e=0.0,f=0.0,h=0,j=0,k=0,l=0.0;k=i;i=i+16|0;c[k+0>>2]=c[a+28>>2];c[k+4>>2]=c[a+32>>2];c[k+8>>2]=c[a+36>>2];c[k+12>>2]=c[a+40>>2];l=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[k>>2]=l+ +g[k>>2];g[k+4>>2]=f+ +g[k+4>>2];g[k+8>>2]=e+ +g[k+8>>2];j=c[a+52>>2]|0;if((j|0)==2){h=2;a=0}else if(!j){h=0;a=1}else{h=1;a=0}f=+g[k+(a<<2)>>2];e=+g[k+(h<<2)>>2];e=b*.25*(f*f)+b/12.0*(e*(e*4.0));if((j|0)==2){g[d>>2]=e;g[d+4>>2]=e;g[d+8>>2]=b*.5*(f*f);g[d+12>>2]=0.0;i=k;return}else if(!j){g[d>>2]=b*.5*(f*f);g[d+4>>2]=e;g[d+8>>2]=e;g[d+12>>2]=0.0;i=k;return}else{g[d>>2]=e;g[d+4>>2]=b*.5*(f*f);g[d+8>>2]=e;g[d+12>>2]=0.0;i=k;return}}function gA(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,j=0.0,k=0;k=i;j=+g[b+32>>2];d=+g[b+28>>2];e=+g[c+4>>2];f=+g[c+8>>2];h=+P(+(e*e+f*f));if(h!=0.0){g[a+4>>2]=e*(j/h);if(+g[c>>2]<0.0)d=-d;g[a>>2]=d;g[a+8>>2]=f*(j/h);i=k;return}else{g[a+4>>2]=j;if(+g[c>>2]<0.0)d=-d;g[a>>2]=d;g[a+8>>2]=0.0;i=k;return}}function hA(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,j=0.0,k=0;k=i;j=+g[b+28>>2];d=+g[b+36>>2];e=+g[c>>2];f=+g[c+4>>2];h=+P(+(e*e+f*f));if(h!=0.0){g[a>>2]=e*(j/h);if(+g[c+8>>2]<0.0)d=-d;g[a+8>>2]=d;g[a+4>>2]=f*(j/h);i=k;return}else{g[a>>2]=j;if(+g[c+8>>2]<0.0)d=-d;g[a+8>>2]=d;g[a+4>>2]=0.0;i=k;return}}function iA(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,j=0.0,k=0;k=i;j=+g[b+28>>2];d=+g[b+32>>2];e=+g[c>>2];f=+g[c+8>>2];h=+P(+(e*e+f*f));if(h!=0.0){g[a>>2]=e*(j/h);if(+g[c+4>>2]<0.0)d=-d;g[a+4>>2]=d;g[a+8>>2]=f*(j/h);i=k;return}else{g[a>>2]=j;if(+g[c+4>>2]<0.0)d=-d;g[a+4>>2]=d;g[a+8>>2]=0.0;i=k;return}}function jA(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,j=0.0,k=0.0,l=0.0,m=0,n=0;n=i;if((d|0)<=0){i=n;return}m=0;do{h=+g[a+28>>2];e=+g[a+32>>2];f=+g[b+(m<<4)>>2];j=+g[b+(m<<4)+8>>2];l=+P(+(f*f+j*j));if(!(l!=0.0))if(+g[b+(m<<4)+4>>2]<0.0){k=h;f=-e;e=0.0}else{k=h;f=e;e=0.0}else{if(+g[b+(m<<4)+4>>2]<0.0)e=-e;k=f*(h/l);f=e;e=j*(h/l)}g[c+(m<<4)>>2]=k;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=e;m=m+1|0}while((m|0)!=(d|0));i=n;return}function kA(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,j=0.0,k=0.0,l=0.0,m=0,n=0;n=i;if((d|0)<=0){i=n;return}m=0;do{h=+g[a+28>>2];e=+g[a+36>>2];f=+g[b+(m<<4)>>2];j=+g[b+(m<<4)+4>>2];k=+P(+(f*f+j*j));if(!(k!=0.0))if(+g[b+(m<<4)+8>>2]<0.0){l=h;f=0.0;e=-e}else{l=h;f=0.0}else{if(+g[b+(m<<4)+8>>2]<0.0)e=-e;l=f*(h/k);f=j*(h/k)}g[c+(m<<4)>>2]=l;g[c+(m<<4)+4>>2]=f;g[c+(m<<4)+8>>2]=e;m=m+1|0}while((m|0)!=(d|0));i=n;return}function lA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0;o=i;if((d|0)<=0){i=o;return}n=0;do{k=+g[a+32>>2];e=+g[a+28>>2];f=b+(n<<4)|0;h=+g[b+(n<<4)+4>>2];l=+g[b+(n<<4)+8>>2];m=+P(+(h*h+l*l));if(!(m!=0.0))if(+g[f>>2]<0.0){j=-e;h=k;e=0.0}else{j=e;h=k;e=0.0}else{if(+g[f>>2]<0.0)e=-e;j=e;h=h*(k/m);e=l*(k/m)}g[c+(n<<4)>>2]=j;g[c+(n<<4)+4>>2]=h;g[c+(n<<4)+8>>2]=e;n=n+1|0}while((n|0)!=(d|0));i=o;return}function mA(a,b){a=a|0;b=+b;var d=0,e=0.0,f=0.0,h=0.0,j=0.0,k=0.0;d=i;j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);f=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=j+ +g[a+28>>2];f=f+ +g[a+32>>2];k=k+ +g[a+36>>2];g[a+44>>2]=b;h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);b=k-+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[a+28>>2]=j-h;g[a+32>>2]=f-e;g[a+36>>2]=b;g[a+40>>2]=0.0;i=d;return}function nA(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+28>>2];b=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);+Zb[c[(c[a>>2]|0)+48>>2]&15](a);+Zb[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return +(d+b)}function oA(a){a=a|0;return 15872}function pA(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function qA(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+32>>2];+Zb[c[(c[a>>2]|0)+48>>2]&15](a);b=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);+Zb[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return +(d+b)}function rA(a){a=a|0;return 15888}function sA(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function tA(a){a=a|0;var b=0.0,d=0.0,e=0;e=i;d=+g[a+28>>2];b=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);+Zb[c[(c[a>>2]|0)+48>>2]&15](a);+Zb[c[(c[a>>2]|0)+48>>2]&15](a);i=e;return +(d+b)}function uA(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;pc[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a+0>>2]=c[e+0>>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(!(+Zb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+P(+(f*f+(l*l+k*k)));j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+52>>2];i=f;return 15904}function wA(a){a=a|0;return 60}function xA(a,b){a=a|0;b=b|0;c[a+0>>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 yA(a){a=a|0;return 15928}function zA(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,n=0.0,o=0.0;d=i;m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);e=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=(m+ +g[a+28>>2])/+g[a+12>>2];l=(j+ +g[a+32>>2])/+g[a+16>>2];h=(e+ +g[a+36>>2])/+g[a+20>>2];n=+O(+(+g[b>>2]));k=+O(+(+g[b+4>>2]));f=+O(+(+g[b+8>>2]));g[a+12>>2]=n;g[a+16>>2]=k;g[a+20>>2]=f;g[a+24>>2]=0.0;g[a+28>>2]=o*n-m;g[a+32>>2]=l*k-j;g[a+36>>2]=h*f-e;g[a+40>>2]=0.0;i=d;return}function AA(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function BA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0;h=i;g[b+4>>2]=1.0;g[b+8>>2]=1.0;g[b+12>>2]=1.0;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]=15952;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[5108]=(c[5108]|0)+1;d=QE(51)|0;if(!d)f=0;else{c[(d+19&-16)+-4>>2]=d;f=d+19&-16}e=c[b+24>>2]|0;if((e|0)>0){d=0;do{j=f+(d<<5)|0;k=(c[b+32>>2]|0)+(d<<5)|0;c[j+0>>2]=c[k+0>>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];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];d=d+1|0}while((d|0)!=(e|0))}d=c[b+32>>2]|0;if(d){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=c[b+24>>2]|0;c[f+(d<<5)>>2]=0;c[f+(d<<5)+4>>2]=0;c[f+(d<<5)+8>>2]=12;c[f+(d<<5)+12>>2]=0;c[f+(d<<5)+16>>2]=0;c[f+(d<<5)+20>>2]=16;c[f+(d<<5)+24>>2]=2;c[f+(d<<5)+28>>2]=0;c[b+24>>2]=(c[b+24>>2]|0)+1;if(!(a[b+164>>0]|0)){d=c[b+32>>2]|0;c[d>>2]=(c[b+148>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=3;c[d+8>>2]=6}else{d=c[b+32>>2]|0;c[d>>2]=(c[b+128>>2]|0)/3|0;c[d+4>>2]=0;c[d+24>>2]=2;c[d+8>>2]=12}if(!(a[b+165>>0]|0)){e=12;b=(c[b+108>>2]|0)/3|0;f=d+12|0;c[f>>2]=b;f=d+16|0;c[f>>2]=0;d=d+20|0;c[d>>2]=e;i=h;return}else{e=16;b=c[b+88>>2]|0;f=d+12|0;c[f>>2]=b;f=d+16|0;c[f>>2]=0;d=d+20|0;c[d>>2]=e;i=h;return}}function CA(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;if(!(a[d+164>>0]|0)){f=c[d+148>>2]|0;if((f|0)==(c[d+152>>2]|0)?(l=(f|0)==0?1:f<<1,(f|0)<(l|0)):0){if(!l)h=0;else{c[5108]=(c[5108]|0)+1;f=QE((l<<1)+19|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}f=c[d+148>>2]|0}if((f|0)>0){j=0;do{g=h+(j<<1)|0;if(g)b[g>>1]=b[(c[d+156>>2]|0)+(j<<1)>>1]|0;j=j+1|0}while((j|0)!=(f|0))}g=c[d+156>>2]|0;if(g){if(a[d+160>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);f=c[d+148>>2]|0}c[d+156>>2]=0}a[d+160>>0]=1;c[d+156>>2]=h;c[d+152>>2]=l}g=c[d+156>>2]|0;h=g+(f<<1)|0;if(h)b[h>>1]=e;c[d+148>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=g;i=m;return}else{f=c[d+128>>2]|0;if((f|0)==(c[d+132>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)h=0;else{c[5108]=(c[5108]|0)+1;f=QE((k<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}f=c[d+128>>2]|0}if((f|0)>0){j=0;do{g=h+(j<<2)|0;if(g)c[g>>2]=c[(c[d+136>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}g=c[d+136>>2]|0;if(g){if(a[d+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=h;c[d+132>>2]=k;f=c[d+128>>2]|0}h=c[d+136>>2]|0;g=h+(f<<2)|0;if(g){c[g>>2]=e;f=c[d+128>>2]|0}c[d+128>>2]=f+1;c[(c[d+32>>2]|0)+4>>2]=h;i=m;return}}function DA(b,d,e){b=b|0;d=d|0;e=e|0;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.0,s=0.0,t=0.0;q=i;if(a[b+165>>0]|0){j=c[b+88>>2]|0;a:do if((j|0)>0&e){k=c[b+96>>2]|0;l=+g[d>>2];o=+g[d+4>>2];n=+g[d+8>>2];m=+g[b+168>>2];f=0;while(1){t=+g[k+(f<<4)>>2]-l;s=+g[k+(f<<4)+4>>2]-o;r=+g[k+(f<<4)+8>>2]-n;if(t*t+s*s+r*r<=m)break;f=f+1|0;if((f|0)>=(j|0))break a}i=q;return f|0}while(0);f=(c[b+32>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+1;if((j|0)==(c[b+92>>2]|0)?(p=(j|0)==0?1:j<<1,(j|0)<(p|0)):0){if(!p){f=j;h=0}else{c[5108]=(c[5108]|0)+1;f=QE((p<<4|3)+16|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}f=c[b+88>>2]|0}if((f|0)>0){e=0;do{j=h+(e<<4)|0;k=(c[b+96>>2]|0)+(e<<4)|0;c[j+0>>2]=c[k+0>>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];e=e+1|0}while((e|0)!=(f|0))}f=c[b+96>>2]|0;if(f){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=h;c[b+92>>2]=p;f=c[b+88>>2]|0}else f=j;f=(c[b+96>>2]|0)+(f<<4)|0;c[f+0>>2]=c[d+0>>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];f=c[b+88>>2]|0;c[b+88>>2]=f+1;c[(c[b+32>>2]|0)+16>>2]=c[b+96>>2];i=q;return f|0}h=c[b+108>>2]|0;b:do if((h|0)>0&e){k=c[b+116>>2]|0;l=+g[d>>2];m=+g[d+4>>2];n=+g[d+8>>2];o=+g[b+168>>2];e=0;while(1){t=+g[k+(e<<2)>>2]-l;s=+g[k+(e+1<<2)>>2]-m;r=+g[k+(e+2<<2)>>2]-n;j=e+3|0;if(t*t+s*s+r*r<=o)break;if((j|0)<(h|0))e=j;else{p=d;break b}}f=(e|0)/3|0;i=q;return f|0}else p=d;while(0);f=c[b+112>>2]|0;if((h|0)==(f|0)){f=(h|0)==0?1:h<<1;if((h|0)<(f|0)){if(!f)e=0;else{c[5108]=(c[5108]|0)+1;h=QE((f<<2|3)+16|0)|0;if(!h)e=0;else{c[(h+19&-16)+-4>>2]=h;e=h+19&-16}h=c[b+108>>2]|0}if((h|0)>0){k=0;do{j=e+(k<<2)|0;if(j)g[j>>2]=+g[(c[b+116>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}j=c[b+116>>2]|0;if(j){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);h=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=e;c[b+112>>2]=f;k=h}else{k=h;f=h}}else k=h;h=c[b+116>>2]|0;j=h+(k<<2)|0;if(j)g[j>>2]=+g[p>>2];e=k+1|0;c[b+108>>2]=e;if((e|0)==(f|0)){k=(f|0)==0?1:f<<1;if((f|0)<(k|0)){if(!k)h=0;else{c[5108]=(c[5108]|0)+1;f=QE((k<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}f=c[b+108>>2]|0}if((f|0)>0){e=0;do{j=h+(e<<2)|0;if(j)g[j>>2]=+g[(c[b+116>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+116>>2]|0;if(e){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);f=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=h;c[b+112>>2]=k;j=f;f=k}else j=f}else j=e;e=h+(j<<2)|0;if(e)g[e>>2]=+g[d+4>>2];e=j+1|0;c[b+108>>2]=e;if((e|0)==(f|0)){k=(f|0)==0?1:f<<1;if((f|0)<(k|0)){if(!k)h=0;else{c[5108]=(c[5108]|0)+1;f=QE((k<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}f=c[b+108>>2]|0}if((f|0)>0){e=0;do{j=h+(e<<2)|0;if(j)g[j>>2]=+g[(c[b+116>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+116>>2]|0;if(e){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);f=c[b+108>>2]|0}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=h;c[b+112>>2]=k;j=h}else j=h}else{j=h;f=e}h=j+(f<<2)|0;if(h)g[h>>2]=+g[d+8>>2];f=f+1|0;c[b+108>>2]=f;d=c[b+32>>2]|0;c[d+12>>2]=(c[d+12>>2]|0)+1;c[d+16>>2]=j;f=((f|0)/3|0)+-1|0;i=q;return f|0}function EA(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0,l=0;k=i;if(a[b+165>>0]|0){if((c[b+92>>2]|0)>=(d|0)){i=k;return}if((d|0)!=0?(c[5108]=(c[5108]|0)+1,f=QE((d<<4|3)+16|0)|0,(f|0)!=0):0){c[(f+19&-16)+-4>>2]=f;h=f+19&-16}else h=0;f=c[b+88>>2]|0;if((f|0)>0){e=0;do{j=h+(e<<4)|0;l=(c[b+96>>2]|0)+(e<<4)|0;c[j+0>>2]=c[l+0>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[b+96>>2]|0;if(e){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=h;c[b+92>>2]=d;i=k;return}if((c[b+112>>2]|0)>=(d|0)){i=k;return}if((d|0)!=0?(c[5108]=(c[5108]|0)+1,e=QE((d<<2|3)+16|0)|0,(e|0)!=0):0){c[(e+19&-16)+-4>>2]=e;j=e+19&-16}else j=0;f=c[b+108>>2]|0;if((f|0)>0){h=0;do{e=j+(h<<2)|0;if(e)g[e>>2]=+g[(c[b+116>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(f|0))}e=c[b+116>>2]|0;if(e){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>0]=1;c[b+116>>2]=j;c[b+112>>2]=d;i=k;return}function FA(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;if(!(a[d+164>>0]|0)){if((c[d+152>>2]|0)>=(e|0)){i=k;return}if((e|0)!=0?(c[5108]=(c[5108]|0)+1,f=QE((e<<1)+19|0)|0,(f|0)!=0):0){c[(f+19&-16)+-4>>2]=f;j=f+19&-16}else j=0;g=c[d+148>>2]|0;if((g|0)>0){h=0;do{f=j+(h<<1)|0;if(f)b[f>>1]=b[(c[d+156>>2]|0)+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(g|0))}f=c[d+156>>2]|0;if(f){if(a[d+160>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[d+156>>2]=0}a[d+160>>0]=1;c[d+156>>2]=j;c[d+152>>2]=e;i=k;return}else{if((c[d+132>>2]|0)>=(e|0)){i=k;return}if((e|0)!=0?(c[5108]=(c[5108]|0)+1,g=QE((e<<2|3)+16|0)|0,(g|0)!=0):0){c[(g+19&-16)+-4>>2]=g;j=g+19&-16}else j=0;g=c[d+128>>2]|0;if((g|0)>0){h=0;do{f=j+(h<<2)|0;if(f)c[f>>2]=c[(c[d+136>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(g|0))}f=c[d+136>>2]|0;if(f){if(a[d+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=j;c[d+132>>2]=e;i=k;return}}function GA(a){a=a|0;return 28}function HA(a){a=a|0;return c[a+24>>2]|0}function IA(a,b){a=a|0;b=b|0;return}function JA(a,b){a=a|0;b=b|0;return}function KA(a){a=a|0;var b=0;b=i;LA(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function LA(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=15952;d=c[b+156>>2]|0;if(d){if(a[b+160>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(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]=20040;d=c[b+32>>2]|0;if(!d){a[b+36>>0]=1;c[b+32>>2]=0;c[b+24>>2]=0;d=b+28|0;c[d>>2]=0;i=e;return}if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+28|0;c[d>>2]=0;i=e;return}function MA(d,f,h,j,k,l){d=d|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0;n=i;c[d>>2]=16240;b[d+4>>1]=-2;b[d+6>>1]=-1;c[d+92>>2]=k;c[d+96>>2]=0;a[d+100>>0]=0;c[d+104>>2]=0;c[d+108>>2]=0;if(!k){c[5108]=(c[5108]|0)+1;k=QE(95)|0;if((k|0)!=0?(c[(k+19&-16)+-4>>2]=k,(k+19&-16|0)!=0):0){wB(k+19&-16);k=k+19&-16}else k=0;c[d+92>>2]=k;a[d+100>>0]=1}if(!l){c[5108]=(c[5108]|0)+1;k=QE(43)|0;if((k|0)!=0?(m=k+19&-16,c[m+-4>>2]=k,(k+19&-16|0)!=0):0){c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[(k+19&-16)>>2]=16304;a[m+20>>0]=1;c[m+16>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;m=k+19&-16}else m=0;c[d+112>>2]=m;c[5108]=(c[5108]|0)+1;m=QE(215)|0;if((m|0)!=0?(c[(m+19&-16)+-4>>2]=m,(m+19&-16|0)!=0):0){TB(m+19&-16,c[d+112>>2]|0);m=m+19&-16}else m=0;c[d+108>>2]=m;a[m+193>>0]=1};c[d+8>>2]=c[f+0>>2];c[d+12>>2]=c[f+4>>2];c[d+16>>2]=c[f+8>>2];c[d+20>>2]=c[f+12>>2];c[d+24>>2]=c[h+0>>2];c[d+28>>2]=c[h+4>>2];c[d+32>>2]=c[h+8>>2];c[d+36>>2]=c[h+12>>2];q=+(e[d+6>>1]|0);p=q/(+g[d+28>>2]-+g[d+12>>2]);o=q/(+g[d+32>>2]-+g[d+16>>2]);g[d+40>>2]=q/(+g[d+24>>2]-+g[d+8>>2]);g[d+44>>2]=p;g[d+48>>2]=o;g[d+52>>2]=0.0;h=(j&65535)+1&65535;c[5108]=(c[5108]|0)+1;m=QE(h<<6|19)|0;if(!m)l=0;else{c[(m+19&-16)+-4>>2]=m;l=m+19&-16}if(h){m=l+(h<<6)|0;k=l;do{c[k>>2]=0;c[k+8>>2]=0;k=k+64|0}while((k|0)!=(m|0))}c[d+60>>2]=l;b[d+58>>1]=(j&65535)+1;b[d+56>>1]=0;b[d+64>>1]=1;if(h>>>0>1){m=1;k=1;do{b[l+(m<<6)+48>>1]=m+1;k=k+1<<16>>16;m=k&65535}while(m>>>0>>0)}b[l+(h+-1<<6)+48>>1]=0;c[5108]=(c[5108]|0)+1;m=QE((h<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+19&-16)+-4>>2]=m;m=m+19&-16}c[d+80>>2]=m;c[d+68>>2]=m;c[5108]=(c[5108]|0)+1;m=QE((h<<3|3)+16|0)|0;if(!m)m=0;else{c[(m+19&-16)+-4>>2]=m;m=m+19&-16}c[d+84>>2]=m;c[d+72>>2]=m;c[5108]=(c[5108]|0)+1;m=QE((h<<3|3)+16|0)|0;if(!m){l=0;m=d+88|0;c[m>>2]=l;m=d+76|0;c[m>>2]=l;l=c[d+60>>2]|0;c[l>>2]=0;k=l+48|0;b[k>>1]=0;k=l+54|0;b[k>>1]=1;k=c[d+68>>2]|0;b[k>>1]=0;h=k+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=k+4|0;b[f>>1]=h;k=k+6|0;b[k>>1]=0;k=l+50|0;b[k>>1]=0;k=l+56|0;b[k>>1]=1;k=c[d+72>>2]|0;b[k>>1]=0;f=k+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=k+4|0;b[h>>1]=f;k=k+6|0;b[k>>1]=0;k=l+52|0;b[k>>1]=0;l=l+58|0;b[l>>1]=1;m=c[m>>2]|0;b[m>>1]=0;l=m+2|0;b[l>>1]=0;l=b[d+6>>1]|0;k=m+4|0;b[k>>1]=l;m=m+6|0;b[m>>1]=0;c[d>>2]=16064;i=n;return}c[(m+19&-16)+-4>>2]=m;l=m+19&-16;m=d+88|0;c[m>>2]=l;m=d+76|0;c[m>>2]=l;l=c[d+60>>2]|0;c[l>>2]=0;k=l+48|0;b[k>>1]=0;k=l+54|0;b[k>>1]=1;k=c[d+68>>2]|0;b[k>>1]=0;h=k+2|0;b[h>>1]=0;h=b[d+6>>1]|0;f=k+4|0;b[f>>1]=h;k=k+6|0;b[k>>1]=0;k=l+50|0;b[k>>1]=0;k=l+56|0;b[k>>1]=1;k=c[d+72>>2]|0;b[k>>1]=0;f=k+2|0;b[f>>1]=0;f=b[d+6>>1]|0;h=k+4|0;b[h>>1]=f;k=k+6|0;b[k>>1]=0;k=l+52|0;b[k>>1]=0;l=l+58|0;b[l>>1]=1;m=c[m>>2]|0;b[m>>1]=0;l=m+2|0;b[l>>1]=0;l=b[d+6>>1]|0;k=m+4|0;b[k>>1]=l;m=m+6|0;b[m>>1]=0;c[d>>2]=16064;i=n;return}function NA(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;k=i;j=c[b+4>>2]|0;if(!((j|0)<=(d|0)&(j|0)<(d|0))){c[b+4>>2]=d;i=k;return}if((c[b+8>>2]|0)<(d|0)){if(!d){h=j;g=0}else{c[5108]=(c[5108]|0)+1;f=QE((d<<4|3)+16|0)|0;if(!f)g=0;else{c[(f+19&-16)+-4>>2]=f;g=f+19&-16}h=c[b+4>>2]|0}if((h|0)>0){f=0;do{l=c[b+12>>2]|0;c[g+(f<<4)>>2]=c[l+(f<<4)>>2];c[g+(f<<4)+4>>2]=c[l+(f<<4)+4>>2];c[g+(f<<4)+8>>2]=c[l+(f<<4)+8>>2];c[g+(f<<4)+12>>2]=c[l+(f<<4)+12>>2];f=f+1|0}while((f|0)!=(h|0))}f=c[b+12>>2]|0;if(f){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=d;g=b+12|0}else g=b+12|0;f=j;do{h=c[g>>2]|0;c[h+(f<<4)>>2]=c[e>>2];c[h+(f<<4)+4>>2]=c[e+4>>2];c[h+(f<<4)+8>>2]=c[e+8>>2];c[h+(f<<4)+12>>2]=c[e+12>>2];f=f+1|0}while((f|0)!=(d|0));c[b+4>>2]=d;i=k;return}function OA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;while(1){r=(b+d|0)/2|0;s=c[a+12>>2]|0;p=c[s+(r<<4)>>2]|0;q=c[s+(r<<4)+4>>2]|0;r=c[s+(r<<4)+8>>2]|0;e=b;f=d;while(1){a:do if(!p)while(1){k=c[s+(e<<4)>>2]|0;if(!k)g=-1;else g=c[k+12>>2]|0;l=c[s+(e<<4)+4>>2]|0;if(!l)h=-1;else h=c[l+12>>2]|0;if(!q)j=-1;else j=c[q+12>>2]|0;do if((g|0)<=-1){g=(k|0)==0&(h|0)>(j|0);if(g|(k|0)==0^1)if(g)break;else break a;if((l|0)!=(q|0))break a;if((c[s+(e<<4)+8>>2]|0)>>>0<=r>>>0)break a}while(0);e=e+1|0}else{o=c[p+12>>2]|0;while(1){m=c[s+(e<<4)>>2]|0;if(!m)k=-1;else k=c[m+12>>2]|0;l=c[s+(e<<4)+4>>2]|0;if(!l)j=-1;else j=c[l+12>>2]|0;if(!q)h=-1;else h=c[q+12>>2]|0;do if((k|0)<=(o|0)){g=(m|0)==(p|0)&(j|0)>(h|0);if(g|(m|0)==(p|0)^1)if(g)break;else break a;if((l|0)!=(q|0))break a;if((c[s+(e<<4)+8>>2]|0)>>>0<=r>>>0)break a}while(0);e=e+1|0}}while(0);b:while(1){if(!p)m=-1;else m=c[p+12>>2]|0;n=c[s+(f<<4)>>2]|0;if(!n)k=-1;else k=c[n+12>>2]|0;if(!q)j=-1;else j=c[q+12>>2]|0;o=c[s+(f<<4)+4>>2]|0;if(!o)h=-1;else h=c[o+12>>2]|0;do if((m|0)<=(k|0)){g=(p|0)==(n|0)&(j|0)>(h|0);if(g|(p|0)==(n|0)^1)if(g)break;else break b;if((q|0)!=(o|0))break b;if(r>>>0<=(c[s+(f<<4)+8>>2]|0)>>>0)break b}while(0);f=f+-1|0}if((e|0)<=(f|0)){n=s+(e<<4)|0;j=c[n>>2]|0;k=c[s+(e<<4)+8>>2]|0;m=c[s+(e<<4)+12>>2]|0;h=s+(f<<4)|0;c[n+0>>2]=c[h+0>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];n=c[a+12>>2]|0;c[n+(f<<4)>>2]=j;c[n+(f<<4)+4>>2]=l;c[n+(f<<4)+8>>2]=k;c[n+(f<<4)+12>>2]=m;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;s=c[a+12>>2]|0}if((f|0)>(b|0))OA(a,b,f);if((e|0)<(d|0))b=e;else break}i=t;return}function PA(a){a=a|0;return}function QA(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;if(b[a+56>>1]|0){i=h;return}b[a+64>>1]=1;d=b[a+58>>1]|0;g=c[a+60>>2]|0;if((d&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}}b[g+((d&65535)+-1<<6)+48>>1]=0;i=h;return}function RA(a,b,d){a=a|0;b=b|0;d=d|0;c[b+0>>2]=c[a+8>>2];c[b+4>>2]=c[a+12>>2];c[b+8>>2]=c[a+16>>2];c[b+12>>2]=c[a+20>>2];c[d+0>>2]=c[a+24>>2];c[d+4>>2]=c[a+28>>2];c[d+8>>2]=c[a+32>>2];c[d+12>>2]=c[a+36>>2];return}function SA(a){a=a|0;return c[a+92>>2]|0}function TA(a){a=a|0;return c[a+92>>2]|0}function UA(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,r=0;r=i;i=i+32|0;o=c[a+92>>2]|0;if(!(Nb[c[(c[o>>2]|0)+56>>2]&127](o)|0)){i=r;return}q=c[a+92>>2]|0;q=Nb[c[(c[q>>2]|0)+28>>2]&127](q)|0;d=c[q+4>>2]|0;if((d|0)>1){OA(q,0,d+-1|0);d=c[q+4>>2]|0}d=d-(c[a+104>>2]|0)|0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;NA(q,d,r+16|0);c[a+104>>2]=0;d=c[q+4>>2]|0;if((d|0)>0){g=0;f=0;p=0;j=0;while(1){m=c[q+12>>2]|0;l=m+(p<<4)|0;h=c[l>>2]|0;m=m+(p<<4)+4|0;o=c[m>>2]|0;if((h|0)==(g|0))if((o|0)==(j|0)){h=j;n=12}else n=8;else{g=h;n=8}a:do if((n|0)==8){n=0;h=g+54|0;k=g+48|0;j=0;while(1){if((e[h+(j<<1)>>1]|0)<(e[o+48+(j<<1)>>1]|0)){h=o;n=12;break a}if((e[o+54+(j<<1)>>1]|0)<(e[k+(j<<1)>>1]|0)){h=o;n=12;break a}j=j+1|0;if((j|0)>=3){h=o;break}}}while(0);if((n|0)==12){f=c[a+92>>2]|0;pc[c[(c[f>>2]|0)+32>>2]&127](f,l,b);c[l>>2]=0;c[m>>2]=0;f=(c[a+104>>2]|0)+1|0;c[a+104>>2]=f;c[4116]=(c[4116]|0)+-1;d=c[q+4>>2]|0}p=p+1|0;if((p|0)>=(d|0))break;else j=h}if((d|0)>1){OA(q,0,d+-1|0);f=c[a+104>>2]|0;d=c[q+4>>2]|0}}else f=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;NA(q,d-f|0,r);c[a+104>>2]=0;i=r;return}function VA(a,d,f,h){a=a|0;d=d|0;f=f|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=i;j=c[a+108>>2]|0;if(j){tc[c[(c[j>>2]|0)+28>>2]&127](j,d,f,h);i=o;return}j=b[a+56>>1]|0;if((j&65535)<<1>>>0<=1){i=o;return}l=1;n=1;do{k=c[a+68>>2]|0;if(b[k+(l<<2)>>1]&1){m=c[a+60>>2]|0;l=e[k+(l<<2)+2>>1]|0;if(!(+g[d>>2]>+g[m+(l<<6)+32>>2])?!(+g[f>>2]<+g[m+(l<<6)+16>>2]):0)k=1;else k=0;if(!(!(+g[d+8>>2]>+g[m+(l<<6)+40>>2])?!(+g[f+8>>2]<+g[m+(l<<6)+24>>2]):0))k=0;if(!(+g[d+4>>2]>+g[m+(l<<6)+36>>2])?!(+g[f+4>>2]<+g[m+(l<<6)+20>>2]|k^1):0){ec[c[(c[h>>2]|0)+8>>2]&31](h,m+(l<<6)|0)|0;j=b[a+56>>1]|0}}n=n+1<<16>>16;l=n&65535}while(l>>>0<((j&65535)<<1|1)>>>0);i=o;return}function WA(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;l=i;k=c[a+108>>2]|0;if(k){Xb[c[(c[k>>2]|0)+24>>2]&7](k,d,f,g,h,j);i=l;return}j=b[a+56>>1]|0;if((j&65535)<<1>>>0<=1){i=l;return}h=1;d=1;do{k=c[a+68>>2]|0;if(b[k+(h<<2)>>1]&1){ec[c[(c[g>>2]|0)+8>>2]&31](g,(c[a+60>>2]|0)+((e[k+(h<<2)+2>>1]|0)<<6)|0)|0;j=b[a+56>>1]|0}d=d+1<<16>>16;h=d&65535}while(h>>>0<((j&65535)<<1|1)>>>0);i=l;return}function XA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d+0>>2]=c[b+16>>2];c[d+4>>2]=c[b+20>>2];c[d+8>>2]=c[b+24>>2];c[d+12>>2]=c[b+28>>2];c[e+0>>2]=c[b+32>>2];c[e+4>>2]=c[b+36>>2];c[e+8>>2]=c[b+40>>2];c[e+12>>2]=c[b+44>>2];return}function YA(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,J=0;J=i;i=i+16|0;c[d+16>>2]=c[f+0>>2];c[d+20>>2]=c[f+4>>2];c[d+24>>2]=c[f+8>>2];c[d+28>>2]=c[f+12>>2];c[d+32>>2]=c[h+0>>2];c[d+36>>2]=c[h+4>>2];c[d+40>>2]=c[h+8>>2];c[d+44>>2]=c[h+12>>2];v=c[a+60>>2]|0;G=c[d+12>>2]&65535;$A(a,J+6|0,+g[f>>2],+g[f+4>>2],+g[f+8>>2],0);$A(a,J,+g[h>>2],+g[h+4>>2],+g[h+8>>2],1);F=0;do{u=b[v+(G<<6)+(F<<1)+48>>1]|0;z=b[v+(G<<6)+(F<<1)+54>>1]|0;n=b[J+6+(F<<1)>>1]|0;k=a+(F<<2)+68|0;l=c[k>>2]|0;t=(n&65535)-(e[l+((u&65535)<<2)>>1]|0)|0;m=b[J+(F<<1)>>1]|0;I=(m&65535)-(e[l+((z&65535)<<2)>>1]|0)|0;b[l+((u&65535)<<2)>>1]=n;b[l+((z&65535)<<2)>>1]=m;if((t|0)<0)_A(a,F,u);a:do if((I|0)>0?(E=c[k>>2]|0,w=c[a+60>>2]|0,H=e[E+((z&65535)<<2)+2>>1]|0,x=b[E+((z&65535)+1<<2)+2>>1]|0,x<<16>>16!=0):0){m=1<>1]|0;if((e[r>>1]|0)<(q&65535))break a;o=c[a+60>>2]|0;p=n&65535;if(!(q&1)){if(((((e[w+(H<<6)+(m<<1)+54>>1]|0)>=(e[o+(p<<6)+(m<<1)+48>>1]|0)?(e[o+(p<<6)+(m<<1)+54>>1]|0)>=(e[w+(H<<6)+(m<<1)+48>>1]|0):0)?(e[w+(H<<6)+((1<>1]|0)>=(e[o+(p<<6)+((1<>1]|0):0)?(e[o+(p<<6)+((1<>1]|0)>=(e[w+(H<<6)+((1<>1]|0):0)?(A=c[a+92>>2]|0,y=o+((e[r+2>>1]|0)<<6)|0,Wb[c[(c[A>>2]|0)+8>>2]&63](A,y,o+(p<<6)|0)|0,A=c[a+96>>2]|0,(A|0)!=0):0)Wb[c[(c[A>>2]|0)+8>>2]&63](A,y,o+(p<<6)|0)|0;n=o+(p<<6)+(F<<1)+48|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16}else{n=o+(p<<6)+(F<<1)+54|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16}b[l>>1]=(b[l>>1]|0)+1<<16>>16;n=e[r>>1]|e[r+2>>1]<<16;o=e[s>>1]|e[s+2>>1]<<16;b[r>>1]=o;b[r+2>>1]=o>>>16;b[s>>1]=n;b[s+2>>1]=n>>>16;n=b[s+6>>1]|0;if(!(n<<16>>16))break;else{r=r+4|0;s=s+4|0}}}while(0);b:do if((t|0)>0?(B=c[k>>2]|0,C=b[B+((u&65535)+1<<2)+2>>1]|0,C<<16>>16!=0):0){p=(c[a+60>>2]|0)+((e[B+((u&65535)<<2)+2>>1]|0)<<6)+(F<<1)+48|0;o=1<>1]|0;if((e[q>>1]|0)<(k&65535))break b;m=c[a+60>>2]|0;l=l&65535;if(!(k&1)){u=m+(l<<6)+(F<<1)+48|0;b[u>>1]=(b[u>>1]|0)+-1<<16>>16}else{k=e[q+2>>1]|0;if(((((e[m+(k<<6)+(o<<1)+54>>1]|0)>=(e[m+(l<<6)+(o<<1)+48>>1]|0)?(e[m+(l<<6)+(o<<1)+54>>1]|0)>=(e[m+(k<<6)+(o<<1)+48>>1]|0):0)?(e[m+(k<<6)+((1<>1]|0)>=(e[m+(l<<6)+((1<>1]|0):0)?(e[m+(l<<6)+((1<>1]|0)>=(e[m+(k<<6)+((1<>1]|0):0)?(D=c[a+92>>2]|0,Rb[c[(c[D>>2]|0)+12>>2]&31](D,m+(k<<6)|0,m+(l<<6)|0,j)|0,D=c[a+96>>2]|0,(D|0)!=0):0)Rb[c[(c[D>>2]|0)+12>>2]&31](D,m+(k<<6)|0,m+(l<<6)|0,j)|0;u=m+(l<<6)+(F<<1)+54|0;b[u>>1]=(b[u>>1]|0)+-1<<16>>16}b[p>>1]=(b[p>>1]|0)+1<<16>>16;l=e[q>>1]|e[q+2>>1]<<16;u=e[n>>1]|e[n+2>>1]<<16;b[q>>1]=u;b[q+2>>1]=u>>>16;b[n>>1]=l;b[n+2>>1]=l>>>16;l=b[n+6>>1]|0;if(!(l<<16>>16))break;else{q=q+4|0;n=n+4|0}}}while(0);if((I|0)<0)ZA(a,F,z,j);F=F+1|0}while((F|0)!=3);k=c[a+108>>2]|0;if(!k){i=J;return}Hb[c[(c[k>>2]|0)+16>>2]&31](k,c[d+60>>2]|0,f,h,j);i=J;return}function ZA(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;j=c[a+(d<<2)+68>>2]|0;h=b[j+((f&65535)+-1<<2)>>1]|0;if((e[j+((f&65535)<<2)>>1]|0)>=(h&65535)){i=r;return}m=c[a+60>>2]|0;q=m+((e[j+((f&65535)<<2)+2>>1]|0)<<6)+(d<<1)+54|0;l=j+((f&65535)<<2)|0;k=j+((f&65535)+-1<<2)|0;while(1){j=e[k+2>>1]|0;if(!(h&1)){h=e[l+2>>1]|0;if(((((e[m+(h<<6)+((1<>1]|0)>=(e[m+(j<<6)+((1<>1]|0)?(e[m+(j<<6)+((1<>1]|0)>=(e[m+(h<<6)+((1<>1]|0):0)?(e[m+(h<<6)+((1<<(1<>1]|0)>=(e[m+(j<<6)+((1<<(1<>1]|0):0)?(e[m+(j<<6)+((1<<(1<>1]|0)>=(e[m+(h<<6)+((1<<(1<>1]|0):0)?(p=c[a+92>>2]|0,n=m+(h<<6)|0,o=m+(j<<6)|0,Rb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0,p=c[a+96>>2]|0,(p|0)!=0):0)Rb[c[(c[p>>2]|0)+12>>2]&31](p,n,o,g)|0;m=m+(j<<6)+(d<<1)+48|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}else{m=m+(j<<6)+(d<<1)+54|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}b[q>>1]=(b[q>>1]|0)+-1<<16>>16;f=e[l>>1]|e[l+2>>1]<<16;j=e[k>>1]|e[k+2>>1]<<16;b[l>>1]=j;b[l+2>>1]=j>>>16;b[k>>1]=f;b[k+2>>1]=f>>>16;f=l+-4|0;j=k+-4|0;h=b[j>>1]|0;if((e[f>>1]|0)>=(h&65535))break;m=c[a+60>>2]|0;l=f;k=j}i=r;return}function _A(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=i;h=c[a+(d<<2)+68>>2]|0;n=c[a+60>>2]|0;p=e[h+((f&65535)<<2)+2>>1]|0;g=b[h+((f&65535)+-1<<2)>>1]|0;if((e[h+((f&65535)<<2)>>1]|0)>=(g&65535)){i=q;return}l=n;k=h+((f&65535)<<2)|0;j=h+((f&65535)+-1<<2)|0;while(1){h=e[j+2>>1]|0;if(!(g&1)){l=l+(h<<6)+(d<<1)+48|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}else{if(((((e[n+(p<<6)+((1<>1]|0)>=(e[l+(h<<6)+((1<>1]|0)?(e[l+(h<<6)+((1<>1]|0)>=(e[n+(p<<6)+((1<>1]|0):0)?(e[n+(p<<6)+((1<<(1<>1]|0)>=(e[l+(h<<6)+((1<<(1<>1]|0):0)?(e[l+(h<<6)+((1<<(1<>1]|0)>=(e[n+(p<<6)+((1<<(1<>1]|0):0)?(o=c[a+92>>2]|0,m=l+(h<<6)|0,Wb[c[(c[o>>2]|0)+8>>2]&63](o,n+(p<<6)|0,m)|0,o=c[a+96>>2]|0,(o|0)!=0):0)Wb[c[(c[o>>2]|0)+8>>2]&63](o,n+(p<<6)|0,m)|0;l=l+(h<<6)+(d<<1)+54|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}b[n+(p<<6)+(d<<1)+48>>1]=(b[n+(p<<6)+(d<<1)+48>>1]|0)+-1<<16>>16;f=e[k>>1]|e[k+2>>1]<<16;h=e[j>>1]|e[j+2>>1]<<16;b[k>>1]=h;b[k+2>>1]=h>>>16;b[j>>1]=f;b[j+2>>1]=f>>>16;f=k+-4|0;h=j+-4|0;g=b[h>>1]|0;if((e[f>>1]|0)>=(g&65535))break;l=c[a+60>>2]|0;k=f;j=h}i=q;return}function $A(a,c,d,e,f,h){a=a|0;c=c|0;d=+d;e=+e;f=+f;h=h|0;var j=0,k=0,l=0;l=i;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)){k=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(d>=+(k&65535|0))){k=j&(~~d&65535)&65535|h;break}else{k=j&k&65535|h;break}}else k=h;while(0);b[c>>1]=k;do if(!(e<=0.0)){j=b[a+6>>1]|0;k=b[a+4>>1]|0;if(!(e>=+(j&65535|0))){j=k&(~~e&65535)&65535|h;break}else{j=k&j&65535|h;break}}else j=h;while(0);b[c+2>>1]=j;if(f<=0.0){k=h;k=k&65535;j=c+4|0;b[j>>1]=k;i=l;return}k=b[a+6>>1]|0;j=b[a+4>>1]|0;if(!(f>=+(k&65535|0))){k=j&(~~f&65535)&65535|h;k=k&65535;j=c+4|0;b[j>>1]=k;i=l;return}else{k=j&k&65535|h;k=k&65535;j=c+4|0;b[j>>1]=k;i=l;return}}function aB(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;g=c[a+108>>2]|0;if(g)pc[c[(c[g>>2]|0)+12>>2]&127](g,c[d+60>>2]|0,f);q=c[d+12>>2]|0;r=c[a+60>>2]|0;o=c[a+92>>2]|0;if(!(Nb[c[(c[o>>2]|0)+56>>2]&127](o)|0)){o=c[a+92>>2]|0;pc[c[(c[o>>2]|0)+16>>2]&127](o,r+((q&65535)<<6)|0,f)}p=e[a+56>>1]|0;f=c[a+60>>2]|0;b[f+54>>1]=(e[f+54>>1]|0)+65534;b[f+56>>1]=(e[f+56>>1]|0)+65534;b[f+58>>1]=(e[f+58>>1]|0)+65534;f=b[a+6>>1]|0;o=0;do{m=a+(o<<2)+68|0;n=c[m>>2]|0;h=e[r+((q&65535)<<6)+(o<<1)+54>>1]|0;b[n+(h<<2)>>1]=f;d=b[n+(h+1<<2)+2>>1]|0;if(!(d<<16>>16))g=n;else{l=(c[a+60>>2]|0)+((e[n+(h<<2)+2>>1]|0)<<6)+(o<<1)+54|0;k=n+(h<<2)|0;g=n+(h+1<<2)|0;while(1){j=b[g>>1]|0;if((e[k>>1]|0)<(j&65535))break;f=c[a+60>>2]|0;h=d&65535;if(!(j&1)){j=f+(h<<6)+(o<<1)+48|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16}else{j=f+(h<<6)+(o<<1)+54|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16}b[l>>1]=(b[l>>1]|0)+1<<16>>16;d=e[k>>1]|e[k+2>>1]<<16;j=e[g>>1]|e[g+2>>1]<<16;b[k>>1]=j;b[k+2>>1]=j>>>16;b[g>>1]=d;b[g+2>>1]=d>>>16;d=b[g+6>>1]|0;if(!(d<<16>>16))break;else{k=k+4|0;g=g+4|0}}f=b[a+6>>1]|0;g=c[m>>2]|0}h=e[r+((q&65535)<<6)+(o<<1)+48>>1]|0;b[n+(h<<2)>>1]=f;d=b[g+(h+1<<2)+2>>1]|0;if(d<<16>>16){l=(c[a+60>>2]|0)+((e[g+(h<<2)+2>>1]|0)<<6)+(o<<1)+48|0;k=g+(h<<2)|0;j=g+(h+1<<2)|0;while(1){g=b[j>>1]|0;if((e[k>>1]|0)<(g&65535))break;h=c[a+60>>2]|0;f=d&65535;if(!(g&1)){m=h+(f<<6)+(o<<1)+48|0;b[m>>1]=(b[m>>1]|0)+-1<<16>>16}else{m=h+(f<<6)+(o<<1)+54|0;b[m>>1]=(b[m>>1]|0)+-1<<16>>16}b[l>>1]=(b[l>>1]|0)+1<<16>>16;d=e[k>>1]|e[k+2>>1]<<16;m=e[j>>1]|e[j+2>>1]<<16;b[k>>1]=m;b[k+2>>1]=m>>>16;b[j>>1]=d;b[j+2>>1]=d>>>16;d=b[j+6>>1]|0;if(!(d<<16>>16))break;else{k=k+4|0;j=j+4|0}}f=b[a+6>>1]|0}b[n+((p<<1)+-1<<2)+2>>1]=0;b[n+((p<<1)+-1<<2)>>1]=f;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;i=s;return}function bB(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;$A(a,w+6|0,+g[d>>2],+g[d+4>>2],+g[d+8>>2],0);$A(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;r=(o&65535)<<1&65534;b[u+54>>1]=(e[u+54>>1]|0)+2;p=c[a+68>>2]|0;n=e[p+(r+-1<<2)>>1]|e[p+(r+-1<<2)+2>>1]<<16;b[p+((r|1)<<2)>>1]=n;b[p+((r|1)<<2)+2>>1]=n>>>16;p=c[a+68>>2]|0;b[p+(r+-1<<2)>>1]=b[w+6>>1]|0;b[p+(r+-1<<2)+2>>1]=v;b[p+(r<<2)>>1]=b[w>>1]|0;b[p+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+48>>1]=r+-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+(r+-1<<2)>>1]|e[p+(r+-1<<2)+2>>1]<<16;b[p+((r|1)<<2)>>1]=n;b[p+((r|1)<<2)+2>>1]=n>>>16;p=c[a+72>>2]|0;b[p+(r+-1<<2)>>1]=b[w+8>>1]|0;b[p+(r+-1<<2)+2>>1]=v;b[p+(r<<2)>>1]=b[w+2>>1]|0;b[p+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+50>>1]=r+-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+(r+-1<<2)>>1]|e[p+(r+-1<<2)+2>>1]<<16;b[p+((r|1)<<2)>>1]=n;b[p+((r|1)<<2)+2>>1]=n>>>16;p=c[a+76>>2]|0;b[p+(r+-1<<2)>>1]=b[w+10>>1]|0;b[p+(r+-1<<2)+2>>1]=v;b[p+(r<<2)>>1]=b[w+4>>1]|0;b[p+(r<<2)+2>>1]=v;b[u+((v&65535)<<6)+52>>1]=r+-1;b[u+((v&65535)<<6)+58>>1]=(o&65535)<<1;o=c[a+68>>2]|0;r=e[u+((v&65535)<<6)+48>>1]|0;p=c[a+60>>2]|0;n=b[o+(r+-1<<2)>>1]|0;if((e[o+(r<<2)>>1]|0)<(n&65535)){t=p+((e[o+(r<<2)+2>>1]|0)<<6)+48|0;s=o+(r<<2)|0;q=o+(r+-1<<2)|0;while(1){o=e[q+2>>1]|0;if(!(n&1)){r=p+(o<<6)+48|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16}else{r=p+(o<<6)+54|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[s>>1]|e[s+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[s>>1]=n;b[s+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=s+-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;s=o}o=c[a+68>>2]|0}p=e[u+((v&65535)<<6)+54>>1]|0;r=o+(p<<2)|0;q=o+(p+-1<<2)|0;n=b[q>>1]|0;a:do if((e[r>>1]|0)<(n&65535)){s=c[a+60>>2]|0;o=s+((e[o+(p<<2)+2>>1]|0)<<6)+54|0;while(1){p=e[q+2>>1]|0;if(!(n&1)){t=s+(p<<6)+48|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=s+(p<<6)+54|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;p=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]=p;b[q+2>>1]=p>>>16;p=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[p>>1]|0)>=(n&65535))break a;s=c[a+60>>2]|0;r=p}}while(0);o=c[a+72>>2]|0;r=e[u+((v&65535)<<6)+50>>1]|0;p=c[a+60>>2]|0;n=b[o+(r+-1<<2)>>1]|0;if((e[o+(r<<2)>>1]|0)<(n&65535)){t=p+((e[o+(r<<2)+2>>1]|0)<<6)+50|0;s=o+(r<<2)|0;q=o+(r+-1<<2)|0;while(1){o=e[q+2>>1]|0;if(!(n&1)){r=p+(o<<6)+50|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16}else{r=p+(o<<6)+56|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16}b[t>>1]=(b[t>>1]|0)+-1<<16>>16;o=e[s>>1]|e[s+2>>1]<<16;n=e[q>>1]|e[q+2>>1]<<16;b[s>>1]=n;b[s+2>>1]=n>>>16;b[q>>1]=o;b[q+2>>1]=o>>>16;o=s+-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;s=o}o=c[a+72>>2]|0}p=e[u+((v&65535)<<6)+56>>1]|0;r=o+(p<<2)|0;q=o+(p+-1<<2)|0;n=b[q>>1]|0;b:do if((e[r>>1]|0)<(n&65535)){s=c[a+60>>2]|0;o=s+((e[o+(p<<2)+2>>1]|0)<<6)+56|0;while(1){p=e[q+2>>1]|0;if(!(n&1)){t=s+(p<<6)+50|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}else{t=s+(p<<6)+56|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;p=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]=p;b[q+2>>1]=p>>>16;p=r+-4|0;q=q+-4|0;n=b[q>>1]|0;if((e[p>>1]|0)>=(n&65535))break b;s=c[a+60>>2]|0;r=p}}while(0);_A(a,2,b[u+((v&65535)<<6)+52>>1]|0);ZA(a,2,b[u+((v&65535)<<6)+58>>1]|0,m);n=c[a+60>>2]|0;o=c[a+108>>2]|0;if(!o){v=n+((v&65535)<<6)|0;i=w;return v|0}c[n+((v&65535)<<6)+60>>2]=nc[c[(c[o>>2]|0)+8>>2]&3](o,d,f,h,j,k,l,m,0)|0;v=n+((v&65535)<<6)|0;i=w;return v|0}function cB(a){a=a|0;var b=0;b=i;dB(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function dB(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=16240;if(c[b+108>>2]|0){d=c[b+112>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+112>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+108>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+108>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}}d=c[b+88>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+84>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+80>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+60>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}if(!(a[b+100>>0]|0)){i=e;return}d=c[b+92>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+92>>2]|0;if(!d){i=e;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);i=e;return}function eB(a){a=a|0;var b=0;b=i;dB(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function fB(a,b){a=a|0;b=b|0;return}function gB(a,b){a=a|0;b=b|0;return}function hB(a){a=a|0;return 1}function iB(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function jB(a,b,c){a=a|0;b=b|0;c=c|0;return}function kB(a,b){a=a|0;b=b|0;return}function lB(a,b,c){a=a|0;b=b|0;c=c|0;return}function mB(a){a=a|0;return 0}function nB(a,b,c){a=a|0;b=b|0;c=c|0;return}function oB(a){a=a|0;return a+4|0}function pB(a){a=a|0;return c[a+16>>2]|0}function qB(a){a=a|0;return c[a+16>>2]|0}function rB(a,b,c){a=a|0;b=b|0;c=c|0;return}function sB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function tB(a,b,c){a=a|0;b=b|0;c=c|0;return 0}function uB(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=16304;d=c[b+16>>2]|0;if(!d){RE(b);i=e;return}if(!(a[b+20>>0]|0)){RE(b);i=e;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);RE(b);i=e;return}function vB(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=16304;d=c[b+16>>2]|0;if(d){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function wB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;c[b>>2]=16504;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[5108]=(c[5108]|0)+1;d=QE(51)|0;if(!d)f=0;else{c[(d+19&-16)+-4>>2]=d;f=d+19&-16}d=c[b+8>>2]|0;if((d|0)>0){e=0;do{h=c[b+16>>2]|0;c[f+(e<<4)>>2]=c[h+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[h+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[h+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[h+(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;xB(b);i=g;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;xB(b);i=g;return}function xB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;j=c[b+12>>2]|0;k=c[b+36>>2]|0;if((k|0)>=(j|0)){i=l;return}if((k|0)<=(j|0)){if((c[b+40>>2]|0)<(j|0)){if(!j){e=k;h=0}else{c[5108]=(c[5108]|0)+1;d=QE((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}e=c[b+36>>2]|0;h=d}if((e|0)>0){f=0;do{g=h+(f<<2)|0;if(g)c[g>>2]=c[(c[b+44>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}d=c[b+44>>2]|0;if(d){if(a[b+48>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+44>>2]=0}a[b+48>>0]=1;c[b+44>>2]=h;c[b+40>>2]=j;d=h}else d=c[b+44>>2]|0;g=k;do{f=d+(g<<2)|0;if(f)c[f>>2]=0;g=g+1|0}while((g|0)!=(j|0))}c[b+36>>2]=j;g=c[b+56>>2]|0;if((g|0)<(j|0)){if((c[b+60>>2]|0)<(j|0)){if(!j){h=g;f=0}else{c[5108]=(c[5108]|0)+1;d=QE((j<<2|3)+16|0)|0;if(!d)f=0;else{c[(d+19&-16)+-4>>2]=d;f=d+19&-16}h=c[b+56>>2]|0}if((h|0)>0){d=0;do{e=f+(d<<2)|0;if(e)c[e>>2]=c[(c[b+64>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}d=c[b+64>>2]|0;if(d){if(a[b+68>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+64>>2]=0}a[b+68>>0]=1;c[b+64>>2]=f;c[b+60>>2]=j;e=f}else e=c[b+64>>2]|0;do{f=e+(g<<2)|0;if(f)c[f>>2]=0;g=g+1|0}while((g|0)!=(j|0))}c[b+56>>2]=j;if((j|0)>0){VE(c[b+44>>2]|0,-1,j<<2|0)|0;VE(c[b+64>>2]|0,-1,j<<2|0)|0}if((k|0)<=0){i=l;return}d=c[b+16>>2]|0;e=c[b+44>>2]|0;f=c[b+64>>2]|0;g=0;do{h=c[(c[d+(g<<4)+4>>2]|0)+12>>2]<<16|c[(c[d+(g<<4)>>2]|0)+12>>2];h=(h+~(h<<15)>>10^h+~(h<<15))*9|0;h=e+((((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[h>>2];c[h>>2]=g;g=g+1|0}while((g|0)!=(k|0));i=l;return}function yB(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=16504;d=c[b+64>>2]|0;if(d){if(a[b+68>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+48>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}function zB(a){a=a|0;var b=0;b=i;yB(a);RE(a);i=b;return}function AB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=c[b+8>>2]|0;if(!((a|0)!=0&(d|0)!=0)){i=e;return}Jb[c[c[a>>2]>>2]&255](a);Lb[c[(c[d>>2]|0)+60>>2]&127](d,c[b+8>>2]|0);c[b+8>>2]=0;i=e;return}function BB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=16808;c[e+4>>2]=b;c[e+8>>2]=a;c[e+12>>2]=d;pc[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function CB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;i=i+16|0;c[e>>2]=16632;c[e+4>>2]=b;pc[c[(c[a>>2]|0)+48>>2]&127](a,e,d);i=e;return}function DB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;c[4122]=(c[4122]|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)){b=0;i=h;return b|0}d=c[(c[a+44>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1){b=0;i=h;return b|0}b=c[a+16>>2]|0;while(1){if((c[(c[b+(d<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[b+(d<<4)+4>>2]|0)+12>>2]|0)==(e|0):0)break;d=c[(c[a+64>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){b=0;g=8;break}}if((g|0)==8){i=h;return b|0}b=b+(d<<4)|0;i=h;return b|0}function EB(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;r=i;c[4118]=(c[4118]|0)+1;k=(c[b+12>>2]|0)>(c[d+12>>2]|0);n=k?d:b;k=k?b:d;f=c[n+12>>2]|0;g=c[k+12>>2]|0;j=((g<<16|f)+~((g<<16|f)<<15)>>10^(g<<16|f)+~((g<<16|f)<<15))*9|0;j=((j>>6^j)+~((j>>6^j)<<11)>>16^(j>>6^j)+~((j>>6^j)<<11))&(c[a+12>>2]|0)+-1;d=c[(c[a+44>>2]|0)+(j<<2)>>2]|0;if((d|0)==-1){e=0;i=r;return e|0}h=c[a+16>>2]|0;b=d;while(1){if((c[(c[h+(b<<4)>>2]|0)+12>>2]|0)==(f|0)?(c[(c[h+(b<<4)+4>>2]|0)+12>>2]|0)==(g|0):0)break;d=c[(c[a+64>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1){b=0;q=24;break}else b=d}if((q|0)==24){i=r;return b|0}d=h+(b<<4)|0;if(!d){e=0;i=r;return e|0}pc[c[(c[a>>2]|0)+32>>2]&127](a,d,e);p=c[h+(b<<4)+12>>2]|0;o=d-(c[a+16>>2]|0)>>4;l=(c[a+44>>2]|0)+(j<<2)|0;d=c[l>>2]|0;f=c[a+64>>2]|0;if((d|0)!=(o|0)){b=d;while(1){h=f+(b<<2)|0;g=c[h>>2]|0;if((g|0)==(o|0))break;else b=g}d=c[f+(o<<2)>>2]|0;if((b|0)==-1)q=12;else c[h>>2]=d}else{d=c[f+(o<<2)>>2]|0;q=12}if((q|0)==12)c[l>>2]=d;m=(c[a+8>>2]|0)+-1|0;d=c[a+72>>2]|0;if(d)Rb[c[(c[d>>2]|0)+12>>2]&31](d,n,k,e)|0;if((m|0)==(o|0)){c[a+8>>2]=(c[a+8>>2]|0)+-1;e=p;i=r;return e|0}j=c[a+16>>2]|0;k=c[(c[j+(m<<4)+4>>2]|0)+12>>2]<<16|c[(c[j+(m<<4)>>2]|0)+12>>2];k=(k+~(k<<15)>>10^k+~(k<<15))*9|0;k=((k>>6^k)+~((k>>6^k)<<11)>>16^(k>>6^k)+~((k>>6^k)<<11))&(c[a+12>>2]|0)+-1;l=(c[a+44>>2]|0)+(k<<2)|0;d=c[l>>2]|0;f=c[a+64>>2]|0;if((d|0)!=(m|0)){b=d;while(1){h=f+(b<<2)|0;g=c[h>>2]|0;if((g|0)==(m|0))break;else b=g}d=c[f+(m<<2)>>2]|0;if((b|0)==-1)q=22;else c[h>>2]=d}else{d=c[f+(m<<2)>>2]|0;q=22}if((q|0)==22)c[l>>2]=d;c[j+(o<<4)+0>>2]=c[j+(m<<4)+0>>2];c[j+(o<<4)+4>>2]=c[j+(m<<4)+4>>2];c[j+(o<<4)+8>>2]=c[j+(m<<4)+8>>2];c[j+(o<<4)+12>>2]=c[j+(m<<4)+12>>2];e=(c[a+44>>2]|0)+(k<<2)|0;c[(c[a+64>>2]|0)+(o<<2)>>2]=c[e>>2];c[e>>2]=o;c[a+8>>2]=(c[a+8>>2]|0)+-1;e=p;i=r;return e|0}function FB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;if((c[a+8>>2]|0)<=0){i=h;return}g=0;a:while(1){while(1){e=c[a+16>>2]|0;f=e+(g<<4)|0;if(!(ec[c[(c[b>>2]|0)+8>>2]&31](b,f)|0))break;Rb[c[(c[a>>2]|0)+12>>2]&31](a,c[f>>2]|0,c[e+(g<<4)+4>>2]|0,d)|0;c[4116]=(c[4116]|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){i=h;return}}function GB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;a[n+16>>0]=1;c[n+12>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;e=c[b+8>>2]|0;if((e|0)>0){k=0;g=0;m=0;h=0;while(1){l=c[b+16>>2]|0;if((h|0)==(k|0)){j=(k|0)==0?1:k<<1;if((k|0)<(j|0)){if(j){c[5108]=(c[5108]|0)+1;g=QE((j<<4|3)+16|0)|0;if(!g){f=h;g=0}else{c[(g+19&-16)+-4>>2]=g;f=h;g=g+19&-16}}else{f=k;g=0}if((f|0)>0){e=0;do{k=c[n+12>>2]|0;c[g+(e<<4)>>2]=c[k+(e<<4)>>2];c[g+(e<<4)+4>>2]=c[k+(e<<4)+4>>2];c[g+(e<<4)+8>>2]=c[k+(e<<4)+8>>2];c[g+(e<<4)+12>>2]=c[k+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(f|0))}e=c[n+12>>2]|0;if(e){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);c[n+12>>2]=0;f=h}a[n+16>>0]=1;c[n+12>>2]=g;c[n+8>>2]=j;e=c[b+8>>2]|0}else{f=k;j=k}}else{f=h;j=k}c[g+(f<<4)>>2]=c[l+(m<<4)>>2];c[g+(f<<4)+4>>2]=c[l+(m<<4)+4>>2];c[g+(f<<4)+8>>2]=c[l+(m<<4)+8>>2];c[g+(f<<4)+12>>2]=c[l+(m<<4)+12>>2];h=f+1|0;m=m+1|0;if((m|0)>=(e|0))break;else k=j}c[n+4>>2]=h;if((f|0)>-1){e=0;do{Rb[c[(c[b>>2]|0)+12>>2]&31](b,c[g+(e<<4)>>2]|0,c[g+(e<<4)+4>>2]|0,d)|0;e=e+1|0}while((e|0)<(h|0))}}else{h=0;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((h|0)>1)OA(n,0,h+-1|0);if((h|0)>0){e=0;do{Wb[c[(c[b>>2]|0)+8>>2]&63](b,c[g+(e<<4)>>2]|0,c[g+(e<<4)+4>>2]|0)|0;e=e+1|0}while((e|0)<(h|0))}if(!g){i=n;return}c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);c[n+12>>2]=0;i=n;return}function HB(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function IB(a){a=a|0;return 0}function JB(a,b){a=a|0;b=b|0;c[a+24>>2]=b;return}function KB(a){a=a|0;return c[a+8>>2]|0}function LB(a){a=a|0;return a+4|0}function MB(a){a=a|0;return c[a+16>>2]|0}function NB(a){a=a|0;return c[a+16>>2]|0}function OB(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;c[4120]=(c[4120]|0)+1;g=c[d+24>>2]|0;if(!g){if(!((b[f+6>>1]&b[e+4>>1])<<16>>16)){d=0;i=o;return d|0}if(!((b[e+6>>1]&b[f+4>>1])<<16>>16)){d=0;i=o;return d|0}}else if(!(Wb[c[(c[g>>2]|0)+8>>2]&63](g,e,f)|0)){d=0;i=o;return d|0}m=(c[e+12>>2]|0)>(c[f+12>>2]|0);n=m?f:e;m=m?e:f;g=c[n+12>>2]|0;h=c[m+12>>2]|0;l=((h<<16|g)+~((h<<16|g)<<15)>>10^(h<<16|g)+~((h<<16|g)<<15))*9|0;l=(l>>6^l)+~((l>>6^l)<<11)>>16^(l>>6^l)+~((l>>6^l)<<11);k=c[d+12>>2]|0;f=c[(c[d+44>>2]|0)+((l&k+-1)<<2)>>2]|0;a:do if((f|0)!=-1){e=c[d+16>>2]|0;while(1){if((c[(c[e+(f<<4)>>2]|0)+12>>2]|0)==(g|0)?(c[(c[e+(f<<4)+4>>2]|0)+12>>2]|0)==(h|0):0)break;f=c[(c[d+64>>2]|0)+(f<<2)>>2]|0;if((f|0)==-1)break a}f=e+(f<<4)|0;if(f){d=f;i=o;return d|0}}while(0);j=c[d+8>>2]|0;if((j|0)==(k|0)){f=(k|0)==0?1:k<<1;if((k|0)<(f|0)){if(!f){e=k;g=0}else{c[5108]=(c[5108]|0)+1;e=QE((f<<4|3)+16|0)|0;if(!e)g=0;else{c[(e+19&-16)+-4>>2]=e;g=e+19&-16}e=c[d+8>>2]|0}if((e|0)>0){h=0;do{p=c[d+16>>2]|0;c[g+(h<<4)>>2]=c[p+(h<<4)>>2];c[g+(h<<4)+4>>2]=c[p+(h<<4)+4>>2];c[g+(h<<4)+8>>2]=c[p+(h<<4)+8>>2];c[g+(h<<4)+12>>2]=c[p+(h<<4)+12>>2];h=h+1|0}while((h|0)!=(e|0))}h=c[d+16>>2]|0;if(h){if(a[d+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0);e=c[d+8>>2]|0}c[d+16>>2]=0}a[d+20>>0]=1;c[d+16>>2]=g;c[d+12>>2]=f}else{e=k;f=k}}else{e=j;f=k}c[d+8>>2]=e+1;h=c[d+16>>2]|0;e=c[d+72>>2]|0;if(e){Wb[c[(c[e>>2]|0)+8>>2]&63](e,n,m)|0;f=c[d+12>>2]|0}if((k|0)<(f|0)){xB(d);f=(c[d+12>>2]|0)+-1&l}else f=l&k+-1;l=(c[n+12>>2]|0)<(c[m+12>>2]|0);c[h+(j<<4)>>2]=l?n:m;c[h+(j<<4)+4>>2]=l?m:n;c[h+(j<<4)+8>>2]=0;c[h+(j<<4)+12>>2]=0;n=(c[d+44>>2]|0)+(f<<2)|0;c[(c[d+64>>2]|0)+(j<<2)>>2]=c[n>>2];c[n>>2]=j;d=h+(j<<4)|0;i=o;return d|0}function PB(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;if((c[b>>2]|0)==(a|0)){a=1;i=d;return a|0}a=(c[b+4>>2]|0)==(a|0);i=d;return a|0}function QB(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function RB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+4>>2]|0;if((c[b>>2]|0)!=(e|0)?(c[b+4>>2]|0)!=(e|0):0){i=d;return 0}e=c[a+8>>2]|0;pc[c[(c[e>>2]|0)+32>>2]&127](e,b,c[a+12>>2]|0);i=d;return 0}function SB(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function TB(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;c[b>>2]=16960;e=b+4|0;do{a[e+36>>0]=1;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;a[e+56>>0]=1;c[e+52>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=-1;c[e+12>>2]=0;c[e+16>>2]=0;e=e+60|0}while((e|0)!=(b+124|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){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+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=f;return}c[5108]=(c[5108]|0)+1;e=QE(95)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){wB(e+19&-16);e=e+19&-16}else e=0;d=e;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+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;i=f;return}function UB(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=16960;if((a[b+192>>0]|0)!=0?(d=c[b+136>>2]|0,Jb[c[c[d>>2]>>2]&255](d),d=c[b+136>>2]|0,(d|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=b+124|0;do{d=d+-60|0;AC(d)}while((d|0)!=(b+4|0));i=e;return}function VB(a){a=a|0;var b=0;b=i;UB(a);RE(a);i=b;return}function WB(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[5108]=(c[5108]|0)+1;l=QE(83)|0;if(!l)n=0;else{c[(l+19&-16)+-4>>2]=l;n=l+19&-16}c[n>>2]=h;b[n+4>>1]=j;b[n+6>>1]=k;h=n+16|0;c[h+0>>2]=c[e+0>>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=n+32|0;c[h+0>>2]=c[f+0>>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[n+8>>2]=0;h=n+56|0;c[h>>2]=0;k=n+52|0;c[k>>2]=0;c[o+16>>2]=c[e+0>>2];c[o+20>>2]=c[e+4>>2];c[o+24>>2]=c[e+8>>2];c[o+28>>2]=c[e+12>>2];c[o+32>>2]=c[f+0>>2];c[o+36>>2]=c[f+4>>2];c[o+40>>2]=c[f+8>>2];c[o+44>>2]=c[f+12>>2];c[n+60>>2]=c[d+144>>2];m=(c[d+188>>2]|0)+1|0;c[d+188>>2]=m;c[n+12>>2]=m;m=c[d+8>>2]|0;if(!m){c[5108]=(c[5108]|0)+1;l=QE(63)|0;if((l|0)!=0?(c[(l+19&-16)+-4>>2]=l,(l+19&-16|0)!=0):0){m=(l+19&-16)+0|0;g=m+44|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(g|0));m=l+19&-16}else m=0}else c[d+8>>2]=0;c[m+32>>2]=0;c[m+36>>2]=n;c[m+40>>2]=0;c[m+0>>2]=c[o+16>>2];c[m+4>>2]=c[o+20>>2];c[m+8>>2]=c[o+24>>2];c[m+12>>2]=c[o+28>>2];c[m+16>>2]=c[o+32>>2];c[m+20>>2]=c[o+36>>2];c[m+24>>2]=c[o+40>>2];c[m+28>>2]=c[o+44>>2];EC(d+4|0,c[d+4>>2]|0,m);c[d+16>>2]=(c[d+16>>2]|0)+1;c[n+48>>2]=m;l=d+(c[d+144>>2]<<2)+124|0;c[k>>2]=0;c[h>>2]=c[l>>2];m=c[l>>2]|0;if(m)c[m+52>>2]=n;c[l>>2]=n;if(a[d+193>>0]|0){i=o;return n|0}c[o>>2]=17224;c[o+4>>2]=d;c[o+8>>2]=n;rw(c[d+4>>2]|0,o+16|0,o);rw(c[d+64>>2]|0,o+16|0,o);i=o;return n|0}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;if((c[d+60>>2]|0)==2){g=c[d+48>>2]|0;DC(b+64|0,g)|0;f=c[b+68>>2]|0;if(f){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+68>>2]=g;c[b+76>>2]=(c[b+76>>2]|0)+-1}else{g=c[d+48>>2]|0;DC(b+4|0,g)|0;f=c[b+8>>2]|0;if(f){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+8>>2]=g;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+(c[d+60>>2]<<2)+124>>2]=g;else c[f+56>>2]=g;f=c[d+56>>2]|0;if(f)c[f+52>>2]=c[d+52>>2];f=c[b+136>>2]|0;pc[c[(c[f>>2]|0)+16>>2]&127](f,d,e);if(!d){f=b+194|0;a[f>>0]=1;i=h;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);f=b+194|0;a[f>>0]=1;i=h;return}function YB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[d+0>>2]=c[b+16>>2];c[d+4>>2]=c[b+20>>2];c[d+8>>2]=c[b+24>>2];c[d+12>>2]=c[b+28>>2];c[e+0>>2]=c[b+32>>2];c[e+4>>2]=c[b+36>>2];c[e+8>>2]=c[b+40>>2];c[e+12>>2]=c[b+44>>2];return}function ZB(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]=17144;c[d+4>>2]=e;gC(a+4|0,c[a+4>>2]|0,b,e+4|0,e+20|0,+g[e+32>>2],f,h,d);gC(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 _B(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]=17064;c[f+36>>2]=e;c[f+0>>2]=c[b+0>>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+0>>2];c[f+20>>2]=c[d+4>>2];c[f+24>>2]=c[d+8>>2];c[f+28>>2]=c[d+12>>2];rw(c[a+4>>2]|0,f,f+32|0);rw(c[a+64>>2]|0,f,f+32|0);i=f;return}function $B(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,D=0.0,E=0.0,F=0.0,G=0,H=0.0;G=i;i=i+16|0;x=+g[e>>2];A=+g[e+4>>2];B=+g[e+8>>2];E=+g[e+12>>2];y=+g[f>>2];z=+g[f+4>>2];D=+g[f+8>>2];F=+g[f+12>>2];do if((c[d+60>>2]|0)==2){k=c[d+48>>2]|0;DC(b+64|0,k)|0;h=c[b+68>>2]|0;if(h){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[b+68>>2]=k;c[b+76>>2]=(c[b+76>>2]|0)+-1;k=c[b+8>>2]|0;if(!k){c[5108]=(c[5108]|0)+1;k=QE(63)|0;if((k|0)!=0?(c[(k+19&-16)+-4>>2]=k,(k+19&-16|0)!=0):0){h=(k+19&-16)+0|0;j=h+44|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(j|0));k=k+19&-16}else k=0}else c[b+8>>2]=0;c[k+32>>2]=0;c[k+36>>2]=d;c[k+40>>2]=0;g[k>>2]=x;g[k+4>>2]=A;g[k+8>>2]=B;g[k+12>>2]=E;g[k+16>>2]=y;g[k+20>>2]=z;g[k+24>>2]=D;g[k+28>>2]=F;EC(b+4|0,c[b+4>>2]|0,k);c[b+16>>2]=(c[b+16>>2]|0)+1;c[d+48>>2]=k;k=1}else{c[b+168>>2]=(c[b+168>>2]|0)+1;C=c[d+48>>2]|0;r=+g[C>>2];if(((((r<=y?(s=+g[C+16>>2],s>=x):0)?(t=+g[C+4>>2],t<=z):0)?(u=+g[C+20>>2],u>=A):0)?(v=+g[C+8>>2],v<=D):0)?(w=+g[C+24>>2],w>=B):0){H=+g[d+16>>2];o=+g[d+20>>2];n=+g[d+24>>2];m=+g[b+140>>2];p=(+g[d+32>>2]-H)*.5*m;q=m*((+g[d+36>>2]-o)*.5);m=m*((+g[d+40>>2]-n)*.5);if(x-H<0.0)p=-p;if(A-o<0.0)o=-q;else o=q;if(B-n<0.0)m=-m;if(!(!(r<=x)|!(t<=A)|!(v<=B)|!(s>=y)|!(u>=z)|!(w>=D))){k=0;break}if(p>0.0){r=x+-.05000000074505806;q=p+(y+.05000000074505806)}else{r=p+(x+-.05000000074505806);q=y+.05000000074505806}if(o>0.0){p=o+(z+.05000000074505806);o=A+-.05000000074505806}else{p=z+.05000000074505806;o=o+(A+-.05000000074505806)}if(m>0.0){n=B+-.05000000074505806;m=m+(D+.05000000074505806)}else{n=m+(B+-.05000000074505806);m=D+.05000000074505806}k=DC(b+4|0,C)|0;a:do if(k){j=c[b+12>>2]|0;if((j|0)<=-1){k=c[b+4>>2]|0;break}if((j|0)>0){l=0;h=k;while(1){k=c[h+32>>2]|0;l=l+1|0;if(!k){k=h;break a}if((l|0)>=(j|0))break;else h=k}}}else k=0;while(0);g[C>>2]=r;g[C+4>>2]=o;g[C+8>>2]=n;g[C+12>>2]=E;g[C+16>>2]=q;g[C+20>>2]=p;g[C+24>>2]=m;g[C+28>>2]=F;EC(b+4|0,k,C);c[b+172>>2]=(c[b+172>>2]|0)+1;k=1;break}k=DC(b+4|0,C)|0;b:do if(k){j=c[b+12>>2]|0;if((j|0)<=-1){k=c[b+4>>2]|0;break}if((j|0)>0){l=0;h=k;while(1){k=c[h+32>>2]|0;l=l+1|0;if(!k){k=h;break b}if((l|0)>=(j|0))break;else h=k}}}else k=0;while(0);g[C>>2]=x;g[C+4>>2]=A;g[C+8>>2]=B;g[C+12>>2]=E;g[C+16>>2]=y;g[C+20>>2]=z;g[C+24>>2]=D;g[C+28>>2]=F;EC(b+4|0,k,C);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+(c[d+60>>2]<<2)+124>>2]=j;else c[h+56>>2]=j;h=c[d+56>>2]|0;if(h)c[h+52>>2]=c[d+52>>2];c[d+16>>2]=c[e+0>>2];c[d+20>>2]=c[e+4>>2];c[d+24>>2]=c[e+8>>2];c[d+28>>2]=c[e+12>>2];c[d+32>>2]=c[f+0>>2];c[d+36>>2]=c[f+4>>2];c[d+40>>2]=c[f+8>>2];c[d+44>>2]=c[f+12>>2];j=c[b+144>>2]|0;c[d+60>>2]=j;c[d+52>>2]=0;c[d+56>>2]=c[b+(j<<2)+124>>2];h=c[b+(j<<2)+124>>2]|0;if(h)c[h+52>>2]=d;c[b+(j<<2)+124>>2]=d;if(!k){i=G;return}a[b+194>>0]=1;if(a[b+193>>0]|0){i=G;return}c[G>>2]=17224;c[G+4>>2]=b;hC(b+64|0,c[b+64>>2]|0,c[d+48>>2]|0,G);hC(b+4|0,c[b+4>>2]|0,c[d+48>>2]|0,G);i=G;return}function aC(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+48|0;BC(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;BC(b+64|0,p);p=(c[b+164>>2]|0)-p|0;c[b+164>>2]=(p|0)<0?0:p}f=((c[b+144>>2]|0)+1|0)%2|0;c[b+144>>2]=f;f=c[b+(f<<2)+124>>2]|0;if(f){do{k=f+56|0;o=f;f=c[k>>2]|0;l=c[o+52>>2]|0;if(!l)c[b+(c[o+60>>2]<<2)+124>>2]=f;else c[l+56>>2]=f;j=c[k>>2]|0;if(j)c[j+52>>2]=c[o+52>>2];c[o+52>>2]=0;c[k>>2]=c[b+132>>2];j=c[b+132>>2]|0;if(j)c[j+52>>2]=o;c[b+132>>2]=o;j=c[o+48>>2]|0;DC(b+4|0,j)|0;k=c[b+8>>2]|0;if(k){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[b+8>>2]=j;c[b+16>>2]=(c[b+16>>2]|0)+-1;c[r+16>>2]=c[o+16>>2];c[r+20>>2]=c[o+20>>2];c[r+24>>2]=c[o+24>>2];c[r+28>>2]=c[o+28>>2];c[r+32>>2]=c[o+32>>2];c[r+36>>2]=c[o+36>>2];c[r+40>>2]=c[o+40>>2];c[r+44>>2]=c[o+44>>2];j=c[b+68>>2]|0;if(!j){c[5108]=(c[5108]|0)+1;l=QE(63)|0;if((l|0)!=0?(c[(l+19&-16)+-4>>2]=l,(l+19&-16|0)!=0):0){k=(l+19&-16)+0|0;j=k+44|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(j|0));j=l+19&-16}else j=0}else c[b+68>>2]=0;c[j+32>>2]=0;c[j+36>>2]=o;c[j+40>>2]=0;c[j+0>>2]=c[r+16>>2];c[j+4>>2]=c[r+20>>2];c[j+8>>2]=c[r+24>>2];c[j+12>>2]=c[r+28>>2];c[j+16>>2]=c[r+32>>2];c[j+20>>2]=c[r+36>>2];c[j+24>>2]=c[r+40>>2];c[j+28>>2]=c[r+44>>2];EC(b+64|0,c[b+64>>2]|0,j);l=(c[b+76>>2]|0)+1|0;c[b+76>>2]=l;c[o+48>>2]=j;c[o+60>>2]=2}while((f|0)!=0);c[b+164>>2]=l;a[b+194>>0]=1}c[r>>2]=17224;c[r+4>>2]=b;if((a[b+193>>0]|0)!=0?(hC(b+4|0,c[b+4>>2]|0,c[b+64>>2]|0,r),(a[b+193>>0]|0)!=0):0){p=c[b+4>>2]|0;hC(b+4|0,p,p,r)}do if((a[b+194>>0]|0)!=0?(n=c[b+136>>2]|0,n=Nb[c[(c[n>>2]|0)+28>>2]&127](n)|0,e=c[n+4>>2]|0,(e|0)>0):0){f=($(c[b+156>>2]|0,e)|0)/100|0;p=c[b+160>>2]|0;f=(p|0)>(f|0)?p:f;f=(e|0)<(f|0)?e:f;if((f|0)>0){j=0;do{l=((c[b+184>>2]|0)+j|0)%(e|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)){e=c[b+136>>2]|0;Rb[c[(c[e>>2]|0)+12>>2]&31](e,k,l,d)|0;e=c[n+4>>2]|0;j=j+-1|0;f=f+-1|0}j=j+1|0}while((j|0)<(f|0));if((e|0)<=0){c[b+184>>2]=0;break}}c[b+184>>2]=((c[b+184>>2]|0)+f|0)%(e|0)|0}while(0);c[b+180>>2]=(c[b+180>>2]|0)+1;c[b+160>>2]=1;a[b+194>>0]=0;e=c[b+168>>2]|0;f=c[b+172>>2]|0;if(!e)h=0.0;else h=+(f>>>0)/+(e>>>0);g[b+176>>2]=h;c[b+172>>2]=f>>>1;c[b+168>>2]=e>>>1;p=c[b+136>>2]|0;if(!(Nb[c[(c[p>>2]|0)+56>>2]&127](p)|0)){i=r;return}p=c[b+136>>2]|0;p=Nb[c[(c[p>>2]|0)+28>>2]&127](p)|0;e=c[p+4>>2]|0;if((e|0)>1){OA(p,0,e+-1|0);l=0;f=0;j=0;k=0;q=44}else{l=0;f=0;j=0;m=0}while(1){if((q|0)==44){e=c[p+4>>2]|0;m=k}if((f|0)>=(e|0))break;n=c[p+12>>2]|0;e=n+(f<<4)|0;k=c[e>>2]|0;n=n+(f<<4)+4|0;o=c[n>>2]|0;if((k|0)==(l|0))if((o|0)==(m|0)){k=m;q=54}else q=48;else{l=k;q=48}if((q|0)==48){q=0;k=c[l+48>>2]|0;m=c[o+48>>2]|0;if(((((+g[k>>2]<=+g[m+16>>2]?+g[k+16>>2]>=+g[m>>2]:0)?+g[k+4>>2]<=+g[m+20>>2]:0)?+g[k+20>>2]>=+g[m+4>>2]:0)?+g[k+8>>2]<=+g[m+24>>2]:0)?+g[k+24>>2]>=+g[m+8>>2]:0)k=o;else{k=o;q=54}}if((q|0)==54){q=c[b+136>>2]|0;pc[c[(c[q>>2]|0)+32>>2]&127](q,e,d);c[e>>2]=0;c[n>>2]=0;j=j+1|0}f=f+1|0;q=44}if((e|0)>1){OA(p,0,e+-1|0);l=c[p+4>>2]|0}else l=e;k=l-j|0;if((j|0)<0){if((c[p+8>>2]|0)<(k|0)){if((l|0)==(j|0))f=0;else{c[5108]=(c[5108]|0)+1;e=QE((k<<4|3)+16|0)|0;if(!e)f=0;else{c[(e+19&-16)+-4>>2]=e;f=e+19&-16}j=c[p+4>>2]|0}if((j|0)>0){e=0;do{q=c[p+12>>2]|0;c[f+(e<<4)>>2]=c[q+(e<<4)>>2];c[f+(e<<4)+4>>2]=c[q+(e<<4)+4>>2];c[f+(e<<4)+8>>2]=c[q+(e<<4)+8>>2];c[f+(e<<4)+12>>2]=c[q+(e<<4)+12>>2];e=e+1|0}while((e|0)!=(j|0))}e=c[p+12>>2]|0;if(e){if(a[p+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[p+12>>2]=0}a[p+16>>0]=1;c[p+12>>2]=f;c[p+8>>2]=k;f=p+12|0}else f=p+12|0;e=l;do{q=(c[f>>2]|0)+(e<<4)|0;e=e+1|0;c[q+0>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0}while((e|0)!=(k|0))}c[p+4>>2]=k;i=r;return}function bC(a){a=a|0;return c[a+136>>2]|0}function cC(a){a=a|0;return c[a+136>>2]|0}function dC(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,p=0,q=0.0,r=0.0,s=0.0,t=0.0;p=i;o=c[a+4>>2]|0;a=c[a+64>>2]|0;do if(!o)if(!a){e=0.0;n=0.0;h=0.0;k=0.0;m=0.0;l=0.0;j=0.0;f=0.0}else{e=+g[a>>2];n=+g[a+16>>2];h=+g[a+20>>2];k=+g[a+24>>2];m=+g[a+28>>2];l=+g[a+4>>2];j=+g[a+8>>2];f=+g[a+12>>2]}else{e=+g[o>>2];l=+g[o+4>>2];j=+g[o+8>>2];f=+g[o+16>>2];h=+g[o+20>>2];k=+g[o+24>>2];if(!a){n=f;m=+g[o+28>>2];f=+g[o+12>>2];break}else{t=+g[a>>2];n=+g[a+16>>2];r=+g[a+4>>2];s=+g[a+20>>2];q=+g[a+8>>2];m=+g[a+24>>2];e=en?f:n;h=h>s?h:s;k=k>m?k:m;m=0.0;l=l>2]=e;g[b+4>>2]=l;g[b+8>>2]=j;g[b+12>>2]=f;g[d>>2]=n;g[d+4>>2]=h;g[d+8>>2]=k;g[d+12>>2]=m;i=p;return}function eC(b,d){b=b|0;d=d|0;var e=0;e=i;if((c[b+16>>2]|0)!=(0-(c[b+76>>2]|0)|0)){i=e;return}d=c[b+4>>2]|0;if(d)CC(b+4|0,d);d=c[b+8>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+8>>2]=0;c[b+12>>2]=-1;d=c[b+36>>2]|0;if(d){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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)CC(b+64|0,d);d=c[b+68>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+68>>2]=0;c[b+72>>2]=-1;d=c[b+96>>2]|0;if(d){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(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+128>>2]=0;c[b+132>>2]=0;c[b+168>>2]=0;c[b+172>>2]=0;c[b+176>>2]=0;c[b+180>>2]=0;c[b+184>>2]=0;c[b+188>>2]=0;i=e;return}function fC(a){a=a|0;return}function gC(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,s=0.0,t=0.0,u=0.0,v=0.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}o=c[b+44>>2]|0;if((o|0)<128){if((c[b+48>>2]|0)<128){c[5108]=(c[5108]|0)+1;n=QE(531)|0;if(!n)r=0;else{c[(n+19&-16)+-4>>2]=n;r=n+19&-16}p=c[b+44>>2]|0;if((p|0)>0){q=0;do{n=r+(q<<2)|0;if(n)c[n>>2]=c[(c[b+52>>2]|0)+(q<<2)>>2];q=q+1|0}while((q|0)!=(p|0))}n=c[b+52>>2]|0;if(n){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[n+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=r;c[b+48>>2]=128;p=b+52|0}else p=b+52|0;do{n=(c[p>>2]|0)+(o<<2)|0;if(n)c[n>>2]=0;o=o+1|0}while((o|0)!=128);y=b+48|0}else y=b+48|0;c[b+44>>2]=128;c[c[b+52>>2]>>2]=d;n=1;o=126;do{x=n+-1|0;p=c[b+52>>2]|0;w=c[p+(x<<2)>>2]|0;t=+g[w+4>>2]-+g[l+4>>2];v=+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]=v;g[D+12>>2]=0.0;v=+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]=v;g[D+24>>2]=t;g[D+28>>2]=0.0;d=c[h>>2]|0;t=+g[e>>2];v=+g[f>>2];s=(+g[D+(d<<4)>>2]-t)*v;t=v*(+g[D+(1-d<<4)>>2]-t);d=c[h+4>>2]|0;v=+g[e+4>>2];E=+g[f+4>>2];u=(+g[D+(d<<4)+4>>2]-v)*E;v=E*(+g[D+(1-d<<4)+4>>2]-v);do if(((!(s>v|u>t)?(z=u>s?u:s,C=v>2]|0,B=+g[e+8>>2],s=+g[f+8>>2],A=(+g[D+(d<<4)+8>>2]-B)*s,B=s*(+g[D+(1-d<<4)+8>>2]-B),!(z>B|A>C)):0)?(A>z?A:z)0.0:0){if(!(c[w+40>>2]|0)){Lb[c[(c[m>>2]|0)+12>>2]&127](m,w);n=x;break}if((x|0)>(o|0)){d=c[b+44>>2]|0;if((d|0)<(d<<1|0)){if((c[y>>2]|0)<(d<<1|0)){if(d){c[5108]=(c[5108]|0)+1;p=QE((d<<3|3)+16|0)|0;if(!p)p=0;else{c[(p+19&-16)+-4>>2]=p;p=p+19&-16}r=c[b+44>>2]|0;if((r|0)>0){o=0;do{q=p+(o<<2)|0;if(q)c[q>>2]=c[(c[b+52>>2]|0)+(o<<2)>>2];o=o+1|0}while((o|0)!=(r|0))}}else p=0;q=c[b+52>>2]|0;if(q){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[q+-4>>2]|0)}c[b+52>>2]=0}a[b+56>>0]=1;c[b+52>>2]=p;c[y>>2]=d<<1;q=d}else q=d;do{r=p+(q<<2)|0;if(r){c[r>>2]=0;p=c[b+52>>2]|0}q=q+1|0}while((q|0)!=(d<<1|0))}c[b+44>>2]=d<<1;o=(d<<1)+-2|0}c[p+(x<<2)>>2]=c[w+36>>2];c[(c[b+52>>2]|0)+(n<<2)>>2]=c[w+40>>2];n=n+1|0}else n=x;while(0)}while((n|0)!=0);i=D;return}function hC(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;q=i;if(!((d|0)!=0&(e|0)!=0)){i=q;return}if((c[b+24>>2]|0)<128?(c[b+28>>2]|0)<128:0){c[5108]=(c[5108]|0)+1;h=QE(1043)|0;if(!h)l=0;else{c[(h+19&-16)+-4>>2]=h;l=h+19&-16}h=c[b+24>>2]|0;if((h|0)>0){k=0;do{j=l+(k<<3)|0;if(j){o=(c[b+32>>2]|0)+(k<<3)|0;p=c[o+4>>2]|0;c[j>>2]=c[o>>2];c[j+4>>2]=p}k=k+1|0}while((k|0)!=(h|0))}h=c[b+32>>2]|0;if(h){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=l;c[b+28>>2]=128;p=b+28|0}else p=b+28|0;c[b+24>>2]=128;h=c[b+32>>2]|0;c[h>>2]=d;c[h+4>>2]=e;h=1;l=124;while(1){m=h+-1|0;k=c[b+32>>2]|0;n=c[k+(m<<3)>>2]|0;o=c[k+(m<<3)+4>>2]|0;if((m|0)>(l|0)){j=c[b+24>>2]|0;if((j|0)<(j<<1|0)?(c[p>>2]|0)<(j<<1|0):0){if(j){c[5108]=(c[5108]|0)+1;k=QE((j<<4|3)+16|0)|0;if(!k)k=0;else{c[(k+19&-16)+-4>>2]=k;k=k+19&-16}e=c[b+24>>2]|0;if((e|0)>0){l=0;do{d=k+(l<<3)|0;if(d){s=(c[b+32>>2]|0)+(l<<3)|0;r=c[s+4>>2]|0;c[d>>2]=c[s>>2];c[d+4>>2]=r}l=l+1|0}while((l|0)!=(e|0))}}else k=0;l=c[b+32>>2]|0;if(l){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[b+32>>2]=0}a[b+36>>0]=1;c[b+32>>2]=k;c[p>>2]=j<<1}c[b+24>>2]=j<<1;d=(j<<1)+-4|0}else d=l;do if((n|0)==(o|0))if(!(c[n+40>>2]|0))h=m;else{e=c[n+36>>2]|0;o=k+(m<<3)|0;c[o>>2]=e;c[o+4>>2]=e;o=c[n+40>>2]|0;m=(c[b+32>>2]|0)+(h<<3)|0;c[m>>2]=o;c[m+4>>2]=o;m=c[n+40>>2]|0;o=(c[b+32>>2]|0)+(h+1<<3)|0;c[o>>2]=c[n+36>>2];c[o+4>>2]=m;h=h+2|0}else 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[o+40>>2]|0)!=0;if(!(c[n+40>>2]|0))if(e){e=c[o+36>>2]|0;m=k+(m<<3)|0;c[m>>2]=n;c[m+4>>2]=e;m=c[o+40>>2]|0;o=(c[b+32>>2]|0)+(h<<3)|0;c[o>>2]=n;c[o+4>>2]=m;h=h+1|0;break}else{pc[c[(c[f>>2]|0)+8>>2]&127](f,n,o);h=m;break}else{k=k+(m<<3)|0;l=c[n+36>>2]|0;if(e){m=c[o+36>>2]|0;c[k>>2]=l;c[k+4>>2]=m;m=c[o+36>>2]|0;e=(c[b+32>>2]|0)+(h<<3)|0;c[e>>2]=c[n+40>>2];c[e+4>>2]=m;e=c[o+40>>2]|0;m=(c[b+32>>2]|0)+(h+1<<3)|0;c[m>>2]=c[n+36>>2];c[m+4>>2]=e;m=c[o+40>>2]|0;o=(c[b+32>>2]|0)+(h+2<<3)|0;c[o>>2]=c[n+40>>2];c[o+4>>2]=m;h=h+3|0;break}else{c[k>>2]=l;c[k+4>>2]=o;m=(c[b+32>>2]|0)+(h<<3)|0;c[m>>2]=c[n+40>>2];c[m+4>>2]=o;h=h+1|0;break}}}else h=m;while(0);if(!h)break;else l=d}i=q;return}function iC(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;ec[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;i=d;return}function jC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function kC(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;ec[c[(c[a>>2]|0)+8>>2]&31](a,c[b+36>>2]|0)|0;i=d;return}function lC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function mC(a,b){a=a|0;b=b|0;var d=0;d=i;pc[c[(c[a>>2]|0)+8>>2]&127](a,b,c[(c[a+8>>2]|0)+48>>2]|0);i=d;return}function nC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if((b|0)==(d|0)){i=e;return}f=c[(c[a+4>>2]|0)+136>>2]|0;Wb[c[(c[f>>2]|0)+8>>2]&63](f,c[b+36>>2]|0,c[d+36>>2]|0)|0;b=(c[a+4>>2]|0)+160|0;c[b>>2]=(c[b>>2]|0)+1;i=e;return}function oC(a){a=a|0;var b=0;b=i;RE(a);i=b;return} +function lp(a,c){a=a|0;c=c|0;var d=0;d=i;if(!((b[c+4>>1]&b[a+10>>1])<<16>>16)){c=0;i=d;return c|0}c=(b[a+8>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function mp(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,l=0.0,m=0.0;f=i;g[a+4>>2]=+g[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+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2];e=a+60|0;d=b+24|0;c[e+0>>2]=c[d+0>>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];h=+g[b+40>>2];i=f;return +h}else{m=+g[b+8>>2];l=+g[b+12>>2];k=+g[b+16>>2];j=+g[e+20>>2]*m+ +g[e+24>>2]*l+ +g[e+28>>2]*k;h=+g[e+36>>2]*m+ +g[e+40>>2]*l+ +g[e+44>>2]*k;g[a+44>>2]=+g[e+4>>2]*m+ +g[e+8>>2]*l+ +g[e+12>>2]*k;g[a+48>>2]=j;g[a+52>>2]=h;g[a+56>>2]=0.0;e=a+60|0;d=b+24|0;c[e+0>>2]=c[d+0>>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];h=+g[b+40>>2];i=f;return +h}return 0.0}function np(a){a=a|0;return}function op(a){a=a|0;return}function pp(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function qp(a,c){a=a|0;c=c|0;var d=0;d=i;if(!((b[c+4>>1]&b[a+6>>1])<<16>>16)){c=0;i=d;return c|0}c=(b[a+4>>1]&b[c+6>>1])<<16>>16!=0;i=d;return c|0}function rp(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;var j=0.0,k=0;k=i;j=+Ta(1152,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0);i=k;return +j}function sp(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,j=0.0,k=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;o=i;c[b+236>>2]=2;c[b+312>>2]=0;c[b+316>>2]=0;c[b+320>>2]=0;c[b+324>>2]=0;c[b+328>>2]=0;c[b+332>>2]=0;c[b+336>>2]=0;c[b+340>>2]=0;g[b+544>>2]=1.0;g[b+548>>2]=1.0;g[b+552>>2]=1.0;g[b+556>>2]=0.0;g[b+348>>2]=1.0;g[b+352>>2]=1.0;g[b+356>>2]=1.0;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+416>>2]=0;c[b+420>>2]=0;c[b+424>>2]=0;c[b+428>>2]=0;c[b+432>>2]=0;c[b+436>>2]=0;c[b+440>>2]=0;f=+g[d+92>>2];j=+g[d+96>>2];if(f<0.0)f=0.0;else f=f>1.0?1.0:f;g[b+444>>2]=f;if(j<0.0)f=0.0;else f=j>1.0?1.0:j;g[b+448>>2]=f;g[b+472>>2]=+g[d+112>>2];g[b+476>>2]=+g[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;g[b+456>>2]=+g[d+124>>2];g[b+460>>2]=+g[d+128>>2];g[b+464>>2]=+g[d+132>>2];g[b+468>>2]=+g[d+136>>2];if(!e){c[b+4>>2]=c[d+8>>2];c[b+8>>2]=c[d+12>>2];c[b+12>>2]=c[d+16>>2];c[b+16>>2]=c[d+20>>2];c[b+20>>2]=c[d+24>>2];c[b+24>>2]=c[d+28>>2];c[b+28>>2]=c[d+32>>2];c[b+32>>2]=c[d+36>>2];c[b+36>>2]=c[d+40>>2];c[b+40>>2]=c[d+44>>2];c[b+44>>2]=c[d+48>>2];c[b+48>>2]=c[d+52>>2];c[b+52>>2]=c[d+56>>2];c[b+56>>2]=c[d+60>>2];c[b+60>>2]=c[d+64>>2];c[b+64>>2]=c[d+68>>2];h=b+20|0;e=b+36|0;k=b+52|0;l=b+4|0}else{Lb[c[(c[e>>2]|0)+8>>2]&127](e,b+4|0);h=b+20|0;e=b+36|0;k=b+52|0;l=b+4|0}c[b+68>>2]=c[l+0>>2];c[b+72>>2]=c[l+4>>2];c[b+76>>2]=c[l+8>>2];c[b+80>>2]=c[l+12>>2];c[b+84>>2]=c[h+0>>2];c[b+88>>2]=c[h+4>>2];c[b+92>>2]=c[h+8>>2];c[b+96>>2]=c[h+12>>2];c[b+100>>2]=c[e+0>>2];c[b+104>>2]=c[e+4>>2];c[b+108>>2]=c[e+8>>2];c[b+112>>2]=c[e+12>>2];c[b+116>>2]=c[k+0>>2];c[b+120>>2]=c[k+4>>2];c[b+124>>2]=c[k+8>>2];c[b+128>>2]=c[k+12>>2];c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+144>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;c[b+156>>2]=0;c[b+160>>2]=0;g[b+224>>2]=+g[d+100>>2];g[b+232>>2]=+g[d+104>>2];g[b+228>>2]=+g[d+108>>2];Lb[c[(c[b>>2]|0)+12>>2]&127](b,c[d+72>>2]|0);e=c[374]|0;c[374]=e+1;c[b+508>>2]=e;j=+g[d>>2];e=c[b+204>>2]|0;if(j==0.0){c[b+204>>2]=e|1;n=0.0}else{c[b+204>>2]=e&-2;n=1.0/j}g[b+344>>2]=n;m=j*+g[b+384>>2];f=j*+g[b+388>>2];g[b+364>>2]=j*+g[b+380>>2];g[b+368>>2]=m;g[b+372>>2]=f;g[b+376>>2]=0.0;f=+g[d+76>>2];if(f!=0.0)m=1.0/f;else m=0.0;j=+g[d+80>>2];if(j!=0.0)f=1.0/j;else f=0.0;j=+g[d+84>>2];if(j!=0.0)j=1.0/j;else j=0.0;g[b+396>>2]=m;g[b+400>>2]=f;g[b+404>>2]=j;g[b+408>>2]=0.0;D=n*+g[b+352>>2];x=n*+g[b+356>>2];g[b+560>>2]=n*+g[b+348>>2];g[b+564>>2]=D;g[b+568>>2]=x;g[b+572>>2]=0.0;x=+g[b+4>>2];D=x*m;w=+g[b+8>>2];C=w*f;v=+g[b+12>>2];B=v*j;u=+g[b+20>>2];A=m*u;t=+g[b+24>>2];z=f*t;s=+g[b+28>>2];y=j*s;r=+g[b+36>>2];q=m*r;p=+g[b+40>>2];n=f*p;f=+g[b+44>>2];m=j*f;g[b+264>>2]=x*D+w*C+v*B;g[b+268>>2]=D*u+C*t+B*s;g[b+272>>2]=D*r+C*p+B*f;g[b+276>>2]=0.0;g[b+280>>2]=x*A+w*z+v*y;g[b+284>>2]=u*A+t*z+s*y;g[b+288>>2]=A*r+z*p+y*f;g[b+292>>2]=0.0;g[b+296>>2]=x*q+w*n+v*m;g[b+300>>2]=u*q+t*n+s*m;g[b+304>>2]=r*q+p*n+f*m;g[b+308>>2]=0.0;c[b+504>>2]=0;c[b+512>>2]=0;c[b+516>>2]=0;c[b+520>>2]=0;c[b+524>>2]=0;c[b+528>>2]=0;c[b+532>>2]=0;c[b+536>>2]=0;c[b+540>>2]=0;m=+g[b+344>>2];j=m*+g[b+352>>2];f=m*+g[b+356>>2];g[b+560>>2]=+g[b+348>>2]*m;g[b+564>>2]=j;g[b+568>>2]=f;e=b+572|0;h=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(h|0));i=o;return}function tp(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;g[b+164>>2]=1.0;g[b+168>>2]=1.0;g[b+172>>2]=1.0;g[b+176>>2]=0.0;c[b+180>>2]=0;g[b+184>>2]=999999984306749440.0;c[b+188>>2]=0;c[b+192>>2]=0;c[b+196>>2]=0;c[b+200>>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+252>>2]=0;c[b+256>>2]=0;c[b+260>>2]=0;g[b+4>>2]=1.0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[b+24>>2]=1.0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;g[b+44>>2]=1.0;c[b+48>>2]=0;c[b+52>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;c[b+64>>2]=0;c[b>>2]=1464;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+0>>2];c[j+80>>2]=c[h+4>>2];c[j+84>>2]=c[h+8>>2];c[j+88>>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;g[j+8>>2]=1.0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;g[j+28>>2]=1.0;c[j+32>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;c[j+44>>2]=0;g[j+48>>2]=1.0;c[j+52>>2]=0;c[j+56>>2]=0;c[j+60>>2]=0;c[j+64>>2]=0;c[j+68>>2]=0;sp(b,j);i=j;return}function up(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+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];c[a+84>>2]=c[b+16>>2];c[a+88>>2]=c[b+20>>2];c[a+92>>2]=c[b+24>>2];c[a+96>>2]=c[b+28>>2];c[a+100>>2]=c[b+32>>2];c[a+104>>2]=c[b+36>>2];c[a+108>>2]=c[b+40>>2];c[a+112>>2]=c[b+44>>2];c[a+116>>2]=c[b+48>>2];c[a+120>>2]=c[b+52>>2];c[a+124>>2]=c[b+56>>2];c[a+128>>2]=c[b+60>>2];e=b;f=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}else{c[a+68>>2]=c[a+4>>2];c[a+72>>2]=c[a+8>>2];c[a+76>>2]=c[a+12>>2];c[a+80>>2]=c[a+16>>2];c[a+84>>2]=c[a+20>>2];c[a+88>>2]=c[a+24>>2];c[a+92>>2]=c[a+28>>2];c[a+96>>2]=c[a+32>>2];c[a+100>>2]=c[a+36>>2];c[a+104>>2]=c[a+40>>2];c[a+108>>2]=c[a+44>>2];c[a+112>>2]=c[a+48>>2];c[a+116>>2]=c[a+52>>2];c[a+120>>2]=c[a+56>>2];c[a+124>>2]=c[a+60>>2];c[a+128>>2]=c[a+64>>2];e=b;f=a+20|0;h=b+16|0;i=a+36|0;j=b+32|0;k=a+52|0;b=b+48|0;d=a+4|0}c[a+132>>2]=c[a+312>>2];c[a+136>>2]=c[a+316>>2];c[a+140>>2]=c[a+320>>2];c[a+144>>2]=c[a+324>>2];c[a+148>>2]=c[a+328>>2];c[a+152>>2]=c[a+332>>2];c[a+156>>2]=c[a+336>>2];c[a+160>>2]=c[a+340>>2];c[d+0>>2]=c[e+0>>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+0>>2]=c[h+0>>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+0>>2]=c[j+0>>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[k+0>>2]=c[b+0>>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];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 vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;g=(c[d+236>>2]&2|0)==0?0:d;if(!g){d=1;i=h;return d|0}f=c[b+488>>2]|0;if((f|0)<=0){d=1;i=h;return d|0}b=c[b+496>>2]|0;e=0;while(1){d=c[b+(e<<2)>>2]|0;if(a[d+20>>0]|0){if((c[d+28>>2]|0)==(g|0)){d=0;b=8;break}if((c[d+32>>2]|0)==(g|0)){d=0;b=8;break}}e=e+1|0;if((e|0)>=(f|0)){d=1;b=8;break}}if((b|0)==8){i=h;return d|0}return 0}function wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;e=c[b+488>>2]|0;a:do if((e|0)>0){g=c[b+496>>2]|0;f=0;while(1){h=f+1|0;if((c[g+(f<<2)>>2]|0)==(d|0))break;if((h|0)<(e|0))f=h;else break a}if((f|0)!=(e|0)){e=b+256|0;c[e>>2]=1;i=k;return}}while(0);if((e|0)==(c[b+492>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[b+488>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[b+496>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[b+496>>2]|0;if(g){if(a[b+500>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[b+488>>2]|0}c[b+496>>2]=0}a[b+500>>0]=1;c[b+496>>2]=f;c[b+492>>2]=j}f=(c[b+496>>2]|0)+(e<<2)|0;if(f)c[f>>2]=d;c[b+488>>2]=e+1;e=b+256|0;c[e>>2]=1;i=k;return}function xp(a){a=a|0;return 488}function yp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;Gs(a,b,e)|0;g[b+256>>2]=+g[a+264>>2];g[b+260>>2]=+g[a+268>>2];g[b+264>>2]=+g[a+272>>2];g[b+268>>2]=+g[a+276>>2];g[b+272>>2]=+g[a+280>>2];g[b+276>>2]=+g[a+284>>2];g[b+280>>2]=+g[a+288>>2];g[b+284>>2]=+g[a+292>>2];g[b+288>>2]=+g[a+296>>2];g[b+292>>2]=+g[a+300>>2];g[b+296>>2]=+g[a+304>>2];g[b+300>>2]=+g[a+308>>2];g[b+304>>2]=+g[a+312>>2];g[b+308>>2]=+g[a+316>>2];g[b+312>>2]=+g[a+320>>2];g[b+316>>2]=+g[a+324>>2];g[b+320>>2]=+g[a+328>>2];g[b+324>>2]=+g[a+332>>2];g[b+328>>2]=+g[a+336>>2];g[b+332>>2]=+g[a+340>>2];g[b+448>>2]=+g[a+344>>2];g[b+336>>2]=+g[a+544>>2];g[b+340>>2]=+g[a+548>>2];g[b+344>>2]=+g[a+552>>2];g[b+348>>2]=+g[a+556>>2];g[b+352>>2]=+g[a+348>>2];g[b+356>>2]=+g[a+352>>2];g[b+360>>2]=+g[a+356>>2];g[b+364>>2]=+g[a+360>>2];g[b+368>>2]=+g[a+364>>2];g[b+372>>2]=+g[a+368>>2];g[b+376>>2]=+g[a+372>>2];g[b+380>>2]=+g[a+376>>2];g[b+384>>2]=+g[a+380>>2];g[b+388>>2]=+g[a+384>>2];g[b+392>>2]=+g[a+388>>2];g[b+396>>2]=+g[a+392>>2];g[b+400>>2]=+g[a+396>>2];g[b+404>>2]=+g[a+400>>2];g[b+408>>2]=+g[a+404>>2];g[b+412>>2]=+g[a+408>>2];g[b+416>>2]=+g[a+412>>2];g[b+420>>2]=+g[a+416>>2];g[b+424>>2]=+g[a+420>>2];g[b+428>>2]=+g[a+424>>2];g[b+432>>2]=+g[a+428>>2];g[b+436>>2]=+g[a+432>>2];g[b+440>>2]=+g[a+436>>2];g[b+444>>2]=+g[a+440>>2];g[b+452>>2]=+g[a+444>>2];g[b+456>>2]=+g[a+448>>2];c[b+484>>2]=d[a+452>>0];g[b+460>>2]=+g[a+456>>2];g[b+464>>2]=+g[a+460>>2];g[b+468>>2]=+g[a+464>>2];g[b+472>>2]=+g[a+468>>2];g[b+476>>2]=+g[a+472>>2];g[b+480>>2]=+g[a+476>>2];i=f;return 1504}function zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[(c[b>>2]|0)+16>>2]|0;f=Nb[c[(c[a>>2]|0)+16>>2]&127](a)|0;f=Wb[e&63](b,f,1)|0;e=Wb[c[(c[a>>2]|0)+20>>2]&63](a,c[f+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1497645650,a);i=d;return}function Ap(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];b=+P(+(j*j+k*k+c*c));if(b*f>.7853981852531433)b=.7853981852531433/f;if(b<1.0000000474974513e-03)d=f*.5-b*(f*f*f*.02083333395421505*b);else d=+S(+(b*.5*f))/b;o=d*j;k=d*k;d=d*c;q=+R(+(b*f*.5));Fc(a,l);n=+g[l>>2];p=+g[l+12>>2];f=+g[l+8>>2];b=+g[l+4>>2];r=1.0/+P(+((q*p-o*n-k*b-d*f)*(q*p-o*n-k*b-d*f)+((d*p+q*f+o*b-k*n)*(d*p+q*f+o*b-k*n)+((q*n+o*p+k*f-d*b)*(q*n+o*p+k*f-d*b)+(d*n+(k*p+q*b)-o*f)*(d*n+(k*p+q*b)-o*f)))));j=(q*n+o*p+k*f-d*b)*r;c=r*(d*n+(k*p+q*b)-o*f);m=r*(d*p+q*f+o*b-k*n);f=r*(q*p-o*n-k*b-d*f);d=j*(2.0/(f*f+(m*m+(j*j+c*c))));b=2.0/(f*f+(m*m+(j*j+c*c)))*c;k=2.0/(f*f+(m*m+(j*j+c*c)))*m;g[h>>2]=1.0-(m*k+c*b);g[h+4>>2]=j*b-f*k;g[h+8>>2]=j*k+f*b;g[h+12>>2]=0.0;g[h+16>>2]=f*k+j*b;g[h+20>>2]=1.0-(j*d+m*k);g[h+24>>2]=c*k-f*d;g[h+28>>2]=0.0;g[h+32>>2]=j*k-f*b;g[h+36>>2]=f*d+c*k;g[h+40>>2]=1.0-(j*d+c*b);g[h+44>>2]=0.0;i=l;return}function Bp(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,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,z=0.0;k=i;i=i+64|0;j=+g[a+20>>2];t=+g[a+40>>2];o=+g[a+24>>2];r=+g[a+36>>2];s=+g[a+32>>2];h=+g[a+16>>2];l=+g[a>>2];f=+g[a+4>>2];p=+g[a+8>>2];m=1.0/((j*t-o*r)*l+f*(o*s-t*h)+(r*h-j*s)*p);z=+g[b>>2];y=+g[b+4>>2];x=+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];e=+g[b+40>>2];g[k+16>>2]=(j*t-o*r)*m*z+(o*s-t*h)*m*y+(r*h-j*s)*m*x;g[k+20>>2]=z*(m*(r*p-t*f))+y*(m*(t*l-s*p))+m*(s*f-r*l)*x;g[k+24>>2]=z*(m*(o*f-j*p))+y*(m*(h*p-o*l))+m*(j*l-h*f)*x;g[k+28>>2]=0.0;g[k+32>>2]=(j*t-o*r)*m*w+(o*s-t*h)*m*v+(r*h-j*s)*m*u;g[k+36>>2]=m*(r*p-t*f)*w+m*(t*l-s*p)*v+m*(s*f-r*l)*u;g[k+40>>2]=m*(o*f-j*p)*w+m*(h*p-o*l)*v+m*(j*l-h*f)*u;g[k+44>>2]=0.0;g[k+48>>2]=(j*t-o*r)*m*q+(o*s-t*h)*m*n+(r*h-j*s)*m*e;g[k+52>>2]=m*(r*p-t*f)*q+m*(t*l-s*p)*n+m*(s*f-r*l)*e;g[k+56>>2]=m*(o*f-j*p)*q+m*(h*p-o*l)*n+m*(j*l-h*f)*e;g[k+60>>2]=0.0;Fc(k+16|0,k);e=+g[k>>2];f=+g[k+4>>2];h=+g[k+8>>2];l=+g[k+12>>2];j=1.0/+P(+(e*e+f*f+h*h+l*l));g[k>>2]=e*j;g[k+4>>2]=f*j;g[k+8>>2]=h*j;g[k+12>>2]=l*j;l=l*j<-1.0?-1.0:l*j;g[d>>2]=+U(+(l>1.0?1.0:l))*2.0;g[c>>2]=e*j;g[c+4>>2]=f*j;g[c+8>>2]=h*j;g[c+12>>2]=0.0;if(e*j*(e*j)+f*j*(f*j)+h*j*(h*j)<1.4210854715202004e-14){g[c>>2]=1.0;g[c+4>>2]=0.0;g[c+8>>2]=0.0;g[c+12>>2]=0.0;i=k;return}else{o=1.0/+P(+(e*j*(e*j)+f*j*(f*j)+h*j*(h*j)));g[c>>2]=e*j*o;g[c+4>>2]=o*(f*j);g[c+8>>2]=o*(h*j);i=k;return}}function Cp(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 Dp(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=1464;d=c[b+496>>2]|0;if(!d){a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}if(a[b+500>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}a[b+500>>0]=1;c[b+496>>2]=0;c[b+488>>2]=0;c[b+492>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}function Ep(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=1464;d=c[b+496>>2]|0;if(d){if(a[b+500>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function Fp(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;c[b>>2]=1568;if((a[b+272>>0]|0)!=0?(d=c[b+204>>2]|0,Jb[c[c[d>>2]>>2]&255](d),d=c[b+204>>2]|0,(d|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+196>>2]|0;if((d|0)!=0?(Jb[c[c[d>>2]>>2]&255](d),f=c[b+196>>2]|0,(f|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}if((a[b+273>>0]|0)!=0?(e=c[b+200>>2]|0,Jb[c[c[e>>2]>>2]&255](e),e=c[b+200>>2]|0,(e|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}d=c[b+316>>2]|0;if(d){if(a[b+320>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+292>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+244>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+224>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+184|0;c[d>>2]=0;Qu(b);i=g;return}if(a[b+192>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+184|0;c[d>>2]=0;Qu(b);i=g;return}function Gp(a){a=a|0;var b=0;b=i;Fp(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Hp(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;e=(c[e+236>>2]&2|0)==0?0:e;if(((e|0)!=0?(c[e+216>>2]|0)!=2:0)?!((c[e+204>>2]&2|0)==0|b!=0.0^1):0){d=c[e+480>>2]|0;if(!d)d=e+4|0;else{Lb[c[(c[d>>2]|0)+8>>2]&127](d,e+4|0);d=e+4|0}k=(+g[e+56>>2]-+g[e+120>>2])*(1.0/b);l=1.0/b*(+g[e+60>>2]-+g[e+124>>2]);g[e+312>>2]=(+g[e+52>>2]-+g[e+116>>2])*(1.0/b);g[e+316>>2]=k;g[e+320>>2]=l;g[e+324>>2]=0.0;Bp(e+68|0,d,h+8|0,h);l=+g[h>>2];k=1.0/b*(l*+g[h+12>>2]);j=1.0/b*(l*+g[h+16>>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+136>>2]=c[e+316>>2];c[e+140>>2]=c[e+320>>2];c[e+144>>2]=c[e+324>>2];c[e+148>>2]=c[e+328>>2];c[e+152>>2]=c[e+332>>2];c[e+156>>2]=c[e+336>>2];c[e+160>>2]=c[e+340>>2];c[e+68>>2]=c[d+0>>2];c[e+72>>2]=c[d+4>>2];c[e+76>>2]=c[d+8>>2];c[e+80>>2]=c[d+12>>2];c[e+84>>2]=c[e+20>>2];c[e+88>>2]=c[e+24>>2];c[e+92>>2]=c[e+28>>2];c[e+96>>2]=c[e+32>>2];c[e+100>>2]=c[e+36>>2];c[e+104>>2]=c[e+40>>2];c[e+108>>2]=c[e+44>>2];c[e+112>>2]=c[e+48>>2];c[e+116>>2]=c[e+52>>2];c[e+120>>2]=c[e+56>>2];c[e+124>>2]=c[e+60>>2];c[e+128>>2]=c[e+64>>2];d=c[a+8>>2]|0}f=f+1|0}while((f|0)<(d|0));i=h;return}function Ip(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=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,N=0.0,O=0,P=0.0,Q=0.0,T=0.0,U=0.0,V=0.0,W=0.0;J=i;i=i+1024|0;aE(1752);bv(b);a:do if((Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(E=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Nb[c[(c[E>>2]|0)+48>>2]&127](E)|0)&6144|0)!=0):0){z=J+988|0;t=J+896|0;x=J+832|0;A=J+912|0;r=J+848|0;E=J+928|0;H=J+864|0;u=J+720|0;y=J+656|0;B=J+736|0;s=J+672|0;G=J+752|0;I=J+688|0;w=J+336|0;q=J+352|0;F=J+368|0;v=J+112|0;p=J+128|0;D=J+144|0;d=Nb[c[(c[b>>2]|0)+104>>2]&127](b)|0;b:while(1){C=d+-1|0;if((d|0)<=0)break a;n=ec[c[(c[b>>2]|0)+108>>2]&31](b,C)|0;d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;d=(Nb[c[(c[d>>2]|0)+48>>2]&127](d)|0)>>>11;m=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;m=(Nb[c[(c[m>>2]|0)+48>>2]&127](m)|0)>>>12;o=+g[n+40>>2];if(o<=0.0){d=C;continue}switch(c[n+4>>2]|0){case 4:{ip(J+880|0,(c[n+28>>2]|0)+4|0,n+552|0);if(!(d&1)){ip(J+816|0,(c[n+32>>2]|0)+4|0,n+616|0);c[J+880>>2]=c[J+816>>2];c[J+884>>2]=c[J+820>>2];c[J+888>>2]=c[J+824>>2];c[J+892>>2]=c[J+828>>2];c[t+0>>2]=c[x+0>>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];c[A+0>>2]=c[r+0>>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];c[E+0>>2]=c[H+0>>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]}else{d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+880|0,o);ip(J+816|0,(c[n+32>>2]|0)+4|0,n+616|0);c[J+880>>2]=c[J+816>>2];c[J+884>>2]=c[J+820>>2];c[J+888>>2]=c[J+824>>2];c[J+892>>2]=c[J+828>>2];c[t+0>>2]=c[x+0>>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];c[A+0>>2]=c[r+0>>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];c[E+0>>2]=c[H+0>>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];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+880|0,o)}h=+g[n+688>>2];e=+g[n+692>>2];f=+SE(h-e,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;e=+SE(h+e,6.2831854820251465);if(!(e<-3.1415927410125732)){if(e>3.1415927410125732)e=e+-6.2831854820251465}else e=e+6.2831854820251465;if(f==e){d=C;continue b}d=f>e;if(!(m&1)){d=C;continue b}g[J+800>>2]=+g[J+888>>2];g[J+804>>2]=+g[J+904>>2];g[J+808>>2]=+g[J+920>>2];g[J+812>>2]=0.0;g[J+784>>2]=+g[J+880>>2];g[J+788>>2]=+g[J+896>>2];g[J+792>>2]=+g[J+912>>2];g[J+796>>2]=0.0;j=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;k=c[(c[j>>2]|0)+60>>2]|0;c[J+768>>2]=0;c[J+772>>2]=0;c[J+776>>2]=0;c[J+780>>2]=0;Ub[k&0](j,E,J+800|0,J+784|0,o,o,d?0.0:f,d?6.2831854820251465:e,J+768|0,d^1,10.0);d=C;continue b}case 3:{g[J+944>>2]=1.0;c[J+948>>2]=0;c[J+952>>2]=0;c[J+956>>2]=0;c[J+960>>2]=0;g[J+964>>2]=1.0;c[J+968>>2]=0;c[J+972>>2]=0;c[J+976>>2]=0;c[J+980>>2]=0;g[J+984>>2]=1.0;c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;e=+g[n+300>>2];f=+g[n+304>>2];h=+g[n+308>>2];j=c[n+28>>2]|0;K=e*+g[j+20>>2]+f*+g[j+24>>2]+h*+g[j+28>>2]+ +g[j+56>>2];L=e*+g[j+36>>2]+f*+g[j+40>>2]+h*+g[j+44>>2]+ +g[j+60>>2];g[J+992>>2]=e*+g[j+4>>2]+f*+g[j+8>>2]+h*+g[j+12>>2]+ +g[j+52>>2];g[J+996>>2]=K;g[J+1e3>>2]=L;g[J+1004>>2]=0.0;j=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[j>>2]|0)+56>>2]&7](j,J+944|0,o);L=+g[n+316>>2];K=+g[n+320>>2];h=+g[n+324>>2];j=c[n+32>>2]|0;f=L*+g[j+20>>2]+K*+g[j+24>>2]+h*+g[j+28>>2]+ +g[j+56>>2];e=L*+g[j+36>>2]+K*+g[j+40>>2]+h*+g[j+44>>2]+ +g[j+60>>2];g[J+992>>2]=L*+g[j+4>>2]+K*+g[j+8>>2]+h*+g[j+12>>2]+ +g[j+52>>2];g[J+996>>2]=f;g[J+1e3>>2]=e;g[J+1004>>2]=0.0;if(!(d&1)){d=C;continue b}d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+944|0,o);d=C;continue b}case 5:{ip(J+704|0,(c[n+28>>2]|0)+4|0,n+300|0);if(!(d&1)){ip(J+640|0,(c[n+32>>2]|0)+4|0,n+364|0);c[J+704>>2]=c[J+640>>2];c[J+708>>2]=c[J+644>>2];c[J+712>>2]=c[J+648>>2];c[J+716>>2]=c[J+652>>2];c[u+0>>2]=c[y+0>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];c[B+0>>2]=c[s+0>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];c[G+0>>2]=c[I+0>>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]}else{d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+704|0,o);ip(J+640|0,(c[n+32>>2]|0)+4|0,n+364|0);c[J+704>>2]=c[J+640>>2];c[J+708>>2]=c[J+644>>2];c[J+712>>2]=c[J+648>>2];c[J+716>>2]=c[J+652>>2];c[u+0>>2]=c[y+0>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2];c[B+0>>2]=c[s+0>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];c[G+0>>2]=c[I+0>>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];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+704|0,o)}if(!(m&1)){d=C;continue b}pr(J+624|0,n,6.0868353843688965,o);L=+g[J+624>>2];K=+g[J+628>>2];h=+g[J+632>>2];f=L*+g[J+720>>2]+K*+g[J+724>>2]+h*+g[J+728>>2]+ +g[J+756>>2];e=L*+g[J+736>>2]+K*+g[J+740>>2]+h*+g[J+744>>2]+ +g[J+760>>2];g[J+624>>2]=L*+g[J+704>>2]+K*+g[J+708>>2]+h*+g[J+712>>2]+ +g[J+752>>2];g[J+628>>2]=f;g[J+632>>2]=e;g[J+636>>2]=0.0;d=0;do{pr(J+608|0,n,+(d|0)*6.283185005187988*.03125,o);L=+g[J+608>>2];K=+g[J+612>>2];h=+g[J+616>>2];f=L*+g[J+720>>2]+K*+g[J+724>>2]+h*+g[J+728>>2]+ +g[J+756>>2];e=L*+g[J+736>>2]+K*+g[J+740>>2]+h*+g[J+744>>2]+ +g[J+760>>2];g[J+608>>2]=L*+g[J+704>>2]+K*+g[J+708>>2]+h*+g[J+712>>2]+ +g[J+752>>2];g[J+612>>2]=f;g[J+616>>2]=e;g[J+620>>2]=0.0;j=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;k=c[(c[j>>2]|0)+8>>2]|0;c[J+592>>2]=0;c[J+596>>2]=0;c[J+600>>2]=0;c[J+604>>2]=0;tc[k&127](j,J+624|0,J+608|0,J+592|0);if(!(d&3)){j=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;k=c[(c[j>>2]|0)+8>>2]|0;c[J+576>>2]=0;c[J+580>>2]=0;c[J+584>>2]=0;c[J+588>>2]=0;tc[k&127](j,G,J+608|0,J+576|0)};c[J+624>>2]=c[J+608>>2];c[J+628>>2]=c[J+612>>2];c[J+632>>2]=c[J+616>>2];c[J+636>>2]=c[J+620>>2];d=d+1|0}while((d|0)!=32);e=+g[n+452>>2];f=+g[n+512>>2];d=c[n+32>>2]|0;if(+g[d+344>>2]>0.0){ip(J+512|0,d+4|0,n+364|0);c[J+704>>2]=c[J+512>>2];c[J+708>>2]=c[J+516>>2];c[J+712>>2]=c[J+520>>2];c[J+716>>2]=c[J+524>>2];c[u+0>>2]=c[J+528>>2];c[u+4>>2]=c[J+532>>2];c[u+8>>2]=c[J+536>>2];c[u+12>>2]=c[J+540>>2];c[B+0>>2]=c[J+544>>2];c[B+4>>2]=c[J+548>>2];c[B+8>>2]=c[J+552>>2];c[B+12>>2]=c[J+556>>2];c[G+0>>2]=c[J+560>>2];c[G+4>>2]=c[J+564>>2];c[G+8>>2]=c[J+568>>2];c[G+12>>2]=c[J+572>>2]}else{ip(J+448|0,(c[n+28>>2]|0)+4|0,n+300|0);c[J+704>>2]=c[J+448>>2];c[J+708>>2]=c[J+452>>2];c[J+712>>2]=c[J+456>>2];c[J+716>>2]=c[J+460>>2];c[u+0>>2]=c[J+464>>2];c[u+4>>2]=c[J+468>>2];c[u+8>>2]=c[J+472>>2];c[u+12>>2]=c[J+476>>2];c[B+0>>2]=c[J+480>>2];c[B+4>>2]=c[J+484>>2];c[B+8>>2]=c[J+488>>2];c[B+12>>2]=c[J+492>>2];c[G+0>>2]=c[J+496>>2];c[G+4>>2]=c[J+500>>2];c[G+8>>2]=c[J+504>>2];c[G+12>>2]=c[J+508>>2]};c[J+432>>2]=c[G+0>>2];c[J+436>>2]=c[G+4>>2];c[J+440>>2]=c[G+8>>2];c[J+444>>2]=c[G+12>>2];g[J+416>>2]=+g[J+704>>2];g[J+420>>2]=+g[J+720>>2];g[J+424>>2]=+g[J+736>>2];g[J+428>>2]=0.0;g[J+400>>2]=+g[J+708>>2];g[J+404>>2]=+g[J+724>>2];g[J+408>>2]=+g[J+740>>2];g[J+412>>2]=0.0;d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;j=c[(c[d>>2]|0)+60>>2]|0;c[J+384>>2]=0;c[J+388>>2]=0;c[J+392>>2]=0;c[J+396>>2]=0;Ub[j&0](d,J+432|0,J+416|0,J+400|0,o,o,-f-e,e-f,J+384|0,1,10.0);d=C;continue b}case 6:case 9:{c[J+320>>2]=c[n+1064>>2];c[J+324>>2]=c[n+1068>>2];c[J+328>>2]=c[n+1072>>2];c[J+332>>2]=c[n+1076>>2];k=n+1080|0;c[w+0>>2]=c[k+0>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];c[w+12>>2]=c[k+12>>2];j=n+1096|0;c[q+0>>2]=c[j+0>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];l=n+1112|0;c[F+0>>2]=c[l+0>>2];c[F+4>>2]=c[l+4>>2];c[F+8>>2]=c[l+8>>2];c[F+12>>2]=c[l+12>>2];if(!(d&1)){c[J+320>>2]=c[n+1128>>2];c[J+324>>2]=c[n+1132>>2];c[J+328>>2]=c[n+1136>>2];c[J+332>>2]=c[n+1140>>2];c[w+0>>2]=c[n+1144>>2];c[w+4>>2]=c[n+1148>>2];c[w+8>>2]=c[n+1152>>2];c[w+12>>2]=c[n+1156>>2];c[q+0>>2]=c[n+1160>>2];c[q+4>>2]=c[n+1164>>2];c[q+8>>2]=c[n+1168>>2];c[q+12>>2]=c[n+1172>>2];c[F+0>>2]=c[n+1176>>2];c[F+4>>2]=c[n+1180>>2];c[F+8>>2]=c[n+1184>>2];c[F+12>>2]=c[n+1188>>2]}else{d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+320|0,o);c[J+320>>2]=c[n+1128>>2];c[J+324>>2]=c[n+1132>>2];c[J+328>>2]=c[n+1136>>2];c[J+332>>2]=c[n+1140>>2];c[w+0>>2]=c[n+1144>>2];c[w+4>>2]=c[n+1148>>2];c[w+8>>2]=c[n+1152>>2];c[w+12>>2]=c[n+1156>>2];c[q+0>>2]=c[n+1160>>2];c[q+4>>2]=c[n+1164>>2];c[q+8>>2]=c[n+1168>>2];c[q+12>>2]=c[n+1172>>2];c[F+0>>2]=c[n+1176>>2];c[F+4>>2]=c[n+1180>>2];c[F+8>>2]=c[n+1184>>2];c[F+12>>2]=c[n+1188>>2];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+320|0,o)}if(!(m&1)){d=C;continue b};c[J+320>>2]=c[n+1064>>2];c[J+324>>2]=c[n+1068>>2];c[J+328>>2]=c[n+1072>>2];c[J+332>>2]=c[n+1076>>2];c[w+0>>2]=c[k+0>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];c[w+12>>2]=c[k+12>>2];c[q+0>>2]=c[j+0>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];c[F+0>>2]=c[l+0>>2];c[F+4>>2]=c[l+4>>2];c[F+8>>2]=c[l+8>>2];c[F+12>>2]=c[l+12>>2];d=n+1176|0;g[J+304>>2]=+g[J+328>>2];g[J+308>>2]=+g[J+344>>2];g[J+312>>2]=+g[J+360>>2];g[J+316>>2]=0.0;g[J+288>>2]=+g[J+320>>2];g[J+292>>2]=+g[J+336>>2];g[J+296>>2]=+g[J+352>>2];g[J+300>>2]=0.0;L=+g[n+932>>2];f=+g[n+936>>2];e=+g[n+996>>2];M=+g[n+1e3>>2];m=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;O=c[(c[m>>2]|0)+64>>2]|0;c[J+272>>2]=0;c[J+276>>2]=0;c[J+280>>2]=0;c[J+284>>2]=0;kc[O&0](m,d,J+304|0,J+288|0,o*.8999999761581421,L,f,e,M,J+272|0,10.0,1);M=+g[J+324>>2];e=+g[J+340>>2];f=+g[J+356>>2];g[J+288>>2]=M;g[J+292>>2]=e;g[J+296>>2]=f;g[J+300>>2]=0.0;L=+g[n+1196>>2];K=+g[n+1200>>2];h=+R(+L);L=+S(+L);N=+R(+K);K=+S(+K);g[J+256>>2]=h*N*M+h*K*e-L*f;g[J+260>>2]=N*e-K*M;g[J+264>>2]=L*N*M+L*K*e+h*f;c[J+320>>2]=c[n+1128>>2];c[J+324>>2]=c[n+1132>>2];c[J+328>>2]=c[n+1136>>2];c[J+332>>2]=c[n+1140>>2];c[w+0>>2]=c[n+1144>>2];c[w+4>>2]=c[n+1148>>2];c[w+8>>2]=c[n+1152>>2];c[w+12>>2]=c[n+1156>>2];c[q+0>>2]=c[n+1160>>2];c[q+4>>2]=c[n+1164>>2];c[q+8>>2]=c[n+1168>>2];c[q+12>>2]=c[n+1172>>2];c[F+0>>2]=c[d+0>>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];f=-+g[J+336>>2];h=-+g[J+352>>2];g[J+240>>2]=-+g[J+320>>2];g[J+244>>2]=f;g[J+248>>2]=h;g[J+252>>2]=0.0;h=+g[n+868>>2];f=+g[n+872>>2];if(!(h>f)){if(h>2]|0)+20>>2]&127](b)|0;O=c[(c[m>>2]|0)+60>>2]|0;c[J+208>>2]=0;c[J+212>>2]=0;c[J+216>>2]=0;c[J+220>>2]=0;Ub[O&0](m,d,J+240|0,J+256|0,o,o,h,f,J+208|0,1,10.0)}}else{m=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;O=c[(c[m>>2]|0)+60>>2]|0;c[J+224>>2]=0;c[J+228>>2]=0;c[J+232>>2]=0;c[J+236>>2]=0;Ub[O&0](m,d,J+240|0,J+256|0,o,o,-3.1415927410125732,3.1415927410125732,J+224|0,0,10.0)};c[J+320>>2]=c[n+1064>>2];c[J+324>>2]=c[n+1068>>2];c[J+328>>2]=c[n+1072>>2];c[J+332>>2]=c[n+1076>>2];c[w+0>>2]=c[k+0>>2];c[w+4>>2]=c[k+4>>2];c[w+8>>2]=c[k+8>>2];c[w+12>>2]=c[k+12>>2];c[q+0>>2]=c[j+0>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];c[F+0>>2]=c[l+0>>2];c[F+4>>2]=c[l+4>>2];c[F+8>>2]=c[l+8>>2];c[F+12>>2]=c[l+12>>2];c[J+192>>2]=c[n+680>>2];c[J+196>>2]=c[n+684>>2];c[J+200>>2]=c[n+688>>2];c[J+204>>2]=c[n+692>>2];c[J+176>>2]=c[n+696>>2];c[J+180>>2]=c[n+700>>2];c[J+184>>2]=c[n+704>>2];c[J+188>>2]=c[n+708>>2];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;j=c[(c[d>>2]|0)+72>>2]|0;c[J+160>>2]=0;c[J+164>>2]=0;c[J+168>>2]=0;c[J+172>>2]=0;Hb[j&31](d,J+192|0,J+176|0,J+320|0,J+160|0);d=C;continue b}case 7:{c[J+96>>2]=c[n+824>>2];c[J+100>>2]=c[n+828>>2];c[J+104>>2]=c[n+832>>2];c[J+108>>2]=c[n+836>>2];c[v+0>>2]=c[n+840>>2];c[v+4>>2]=c[n+844>>2];c[v+8>>2]=c[n+848>>2];c[v+12>>2]=c[n+852>>2];c[p+0>>2]=c[n+856>>2];c[p+4>>2]=c[n+860>>2];c[p+8>>2]=c[n+864>>2];c[p+12>>2]=c[n+868>>2];c[D+0>>2]=c[n+872>>2];c[D+4>>2]=c[n+876>>2];c[D+8>>2]=c[n+880>>2];c[D+12>>2]=c[n+884>>2];if(!(d&1)){c[J+96>>2]=c[n+888>>2];c[J+100>>2]=c[n+892>>2];c[J+104>>2]=c[n+896>>2];c[J+108>>2]=c[n+900>>2];c[v+0>>2]=c[n+904>>2];c[v+4>>2]=c[n+908>>2];c[v+8>>2]=c[n+912>>2];c[v+12>>2]=c[n+916>>2];c[p+0>>2]=c[n+920>>2];c[p+4>>2]=c[n+924>>2];c[p+8>>2]=c[n+928>>2];c[p+12>>2]=c[n+932>>2];c[D+0>>2]=c[n+936>>2];c[D+4>>2]=c[n+940>>2];c[D+8>>2]=c[n+944>>2];c[D+12>>2]=c[n+948>>2]}else{d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+96|0,o);c[J+96>>2]=c[n+888>>2];c[J+100>>2]=c[n+892>>2];c[J+104>>2]=c[n+896>>2];c[J+108>>2]=c[n+900>>2];c[v+0>>2]=c[n+904>>2];c[v+4>>2]=c[n+908>>2];c[v+8>>2]=c[n+912>>2];c[v+12>>2]=c[n+916>>2];c[p+0>>2]=c[n+920>>2];c[p+4>>2]=c[n+924>>2];c[p+8>>2]=c[n+928>>2];c[p+12>>2]=c[n+932>>2];c[D+0>>2]=c[n+936>>2];c[D+4>>2]=c[n+940>>2];c[D+8>>2]=c[n+944>>2];c[D+12>>2]=c[n+948>>2];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;rc[c[(c[d>>2]|0)+56>>2]&7](d,J+96|0,o)}if(!(m&1)){d=C;continue b}d=(a[n+180>>0]|0)!=0?n+824|0:n+888|0;K=+g[d>>2];f=+g[d+4>>2];h=+g[d+16>>2];e=+g[d+20>>2];N=+g[d+32>>2];M=+g[d+36>>2];W=+g[d+48>>2];U=+g[d+52>>2];Q=+g[d+56>>2];L=+g[n+184>>2];V=+g[d+8>>2]*0.0;T=+g[d+24>>2]*0.0;P=+g[d+40>>2]*0.0;g[J+80>>2]=W+(V+(f*0.0+K*L));g[J+84>>2]=U+(T+(e*0.0+h*L));g[J+88>>2]=Q+(P+(M*0.0+N*L));g[J+92>>2]=0.0;L=+g[n+188>>2];g[J+64>>2]=W+(V+(f*0.0+K*L));g[J+68>>2]=U+(T+(e*0.0+h*L));g[J+72>>2]=Q+(P+(M*0.0+N*L));g[J+76>>2]=0.0;d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;j=c[(c[d>>2]|0)+8>>2]|0;c[J+48>>2]=0;c[J+52>>2]=0;c[J+56>>2]=0;c[J+60>>2]=0;tc[j&127](d,J+80|0,J+64|0,J+48|0);g[J+32>>2]=K;g[J+36>>2]=h;g[J+40>>2]=N;g[J+44>>2]=0.0;g[J+16>>2]=f;g[J+20>>2]=e;g[J+24>>2]=M;g[J+28>>2]=0.0;M=+g[n+192>>2];e=+g[n+196>>2];d=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;j=c[(c[d>>2]|0)+60>>2]|0;c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;Ub[j&0](d,n+936|0,J+32|0,J+16|0,o,o,M,e,J,1,10.0);d=C;continue b}default:{d=C;continue b}}}}while(0);if(((((Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(E=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Nb[c[(c[E>>2]|0)+48>>2]&127](E)|0)&16387|0)!=0):0)?(Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0:0)?(E=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0,(Nb[c[(c[E>>2]|0)+48>>2]&127](E)|0)!=0):0)?(c[b+280>>2]|0)>0:0){d=0;do{E=c[(c[b+288>>2]|0)+(d<<2)>>2]|0;Lb[c[(c[E>>2]|0)+12>>2]&127](E,c[b+72>>2]|0);d=d+1|0}while((d|0)<(c[b+280>>2]|0))}d=c[5104]|0;E=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=E;if(E){i=J;return}do if(c[d+4>>2]|0){Cb(J+1008|0,0)|0;E=c[5090]|0;g[d+8>>2]=+(((c[J+1012>>2]|0)-(c[E+4>>2]|0)+(((c[J+1008>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[5104]|0;break}else{i=J;return}}while(0);c[5104]=c[d+20>>2];i=J;return}function Jp(a){a=a|0;var b=0,d=0,e=0;d=i;if((c[a+232>>2]|0)<=0){i=d;return}b=0;do{e=(c[(c[a+240>>2]|0)+(b<<2)>>2]|0)+412|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;b=b+1|0}while((b|0)<(c[a+232>>2]|0));i=d;return}function Kp(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,j=0.0,k=0.0;f=i;e=c[a+232>>2]|0;if((e|0)<=0){i=f;return}a=c[a+240>>2]|0;d=0;do{b=c[a+(d<<2)>>2]|0;h=c[b+216>>2]|0;if(!((h|0)==2|(h|0)==5)?(c[b+204>>2]&3|0)==0:0){k=+g[b+368>>2]*+g[b+352>>2];j=+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]=k+ +g[b+416>>2];g[b+420>>2]=j+ +g[b+420>>2]}d=d+1|0}while((d|0)!=(e|0));i=f;return}function Lp(b){b=b|0;var d=0,e=0.0,f=0,h=0,j=0.0,k=0.0,l=0,m=0;l=i;i=i+144|0;aE(1768);if(!(a[b+274>>0]|0)){d=c[b+232>>2]|0;if((d|0)>0){h=0;do{f=c[(c[b+240>>2]|0)+(h<<2)>>2]|0;m=c[f+216>>2]|0;if((!((m|0)==2|(m|0)==5)?(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];Ap(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;Lb[c[(c[d>>2]|0)+12>>2]&127](d,l);d=c[b+232>>2]|0}h=h+1|0}while((h|0)<(d|0))}}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;f=(c[f+236>>2]&2|0)==0?0:f;if(((f|0)!=0?(c[f+480>>2]|0)!=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];Ap(f+68|0,+g[f+132>>2],+g[f+136>>2],+g[f+140>>2],f+148|0,e,l+64|0);d=c[f+480>>2]|0;Lb[c[(c[d>>2]|0)+12>>2]&127](d,l+64|0);d=c[b+8>>2]|0}h=h+1|0}while((h|0)<(d|0))}}d=c[5104]|0;f=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=f;if(f){i=l;return}do if(c[d+4>>2]|0){Cb(l+128|0,0)|0;f=c[5090]|0;g[d+8>>2]=+(((c[l+132>>2]|0)-(c[f+4>>2]|0)+(((c[l+128>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[5104]|0;break}else{i=l;return}}while(0);c[5104]=c[d+20>>2];i=l;return}function Mp(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;Cb(c[5090]|0,0)|0;$D(20368);c[5093]=(c[5093]|0)+1;h=c[5096]|0;c[5096]=h+1;if(!h){Cb(l|0,0)|0;h=c[5090]|0;c[5095]=(c[l+4>>2]|0)-(c[h+4>>2]|0)+(((c[l>>2]|0)-(c[h>>2]|0)|0)*1e6|0)}c[5106]=0;Cb(l|0,0)|0;aE(1792);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.0:d;g[b+268>>2]=0.0;k=!(+O(+d)<1.1920928955078125e-07)&1;e=k}if(Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0){h=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;a[1448]=(Nb[c[(c[h>>2]|0)+48>>2]&127](h)|0)>>>4&1}if(k){h=(k|0)>(e|0)?e:k;Ib[c[(c[b>>2]|0)+164>>2]&31](b,d*+(h|0));Jb[c[(c[b>>2]|0)+168>>2]&255](b);if((h|0)>0){e=0;do{Ib[c[(c[b>>2]|0)+160>>2]&31](b,d);Jb[c[(c[b>>2]|0)+80>>2]&255](b);e=e+1|0}while((e|0)<(h|0))}}else Jb[c[(c[b>>2]|0)+80>>2]&255](b);Jb[c[(c[b>>2]|0)+120>>2]&255](b);c[5106]=(c[5106]|0)+1;h=c[5104]|0;e=(c[h+16>>2]|0)+-1|0;c[h+16>>2]=e;if(e){i=l;return k|0}do if(c[h+4>>2]|0){Cb(l|0,0)|0;e=c[5090]|0;g[h+8>>2]=+(((c[l+4>>2]|0)-(c[e+4>>2]|0)+(((c[l>>2]|0)-(c[e>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0)/1.0e3+ +g[h+8>>2];if(!(c[h+16>>2]|0)){h=c[5104]|0;break}else{i=l;return k|0}}while(0);c[5104]=c[h+20>>2];i=l;return k|0}function Np(d,e){d=d|0;e=+e;var f=0,h=0,j=0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0.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,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;D=i;i=i+464|0;aE(1808);f=c[d+84>>2]|0;if(f)Ib[f&31](d,e);Ib[c[(c[d>>2]|0)+140>>2]&31](d,e);g[d+28>>2]=e;c[d+32>>2]=0;c[d+48>>2]=Nb[c[(c[d>>2]|0)+20>>2]&127](d)|0;aE(1944);aE(1976);f=c[d+316>>2]|0;if((c[d+308>>2]|0)>0){h=0;do{r=c[d+24>>2]|0;Lb[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){if(a[d+320>>0]|0){c[5110]=(c[5110]|0)+1;RE(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[5104]|0;r=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=r;do if(!r){if(c[f+4>>2]|0){Cb(D+280|0,0)|0;r=c[5090]|0;g[f+8>>2]=+(((c[D+284>>2]|0)-(c[r+4>>2]|0)+(((c[D+280>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[5104]|0}c[5104]=c[f+20>>2]}while(0);if((c[d+232>>2]|0)>0){u=D+264|0;t=D+164|0;s=D+400|0;r=0;do{l=c[(c[d+240>>2]|0)+(r<<2)>>2]|0;g[l+244>>2]=1.0;n=c[l+216>>2]|0;do if(((!((n|0)==2|(n|0)==5)?(c[l+204>>2]&3|0)==0:0)?(Ap(l+4|0,+g[l+312>>2],+g[l+316>>2],+g[l+320>>2],l+328|0,e,D+216|0),w=+g[u>>2],A=w-+g[l+52>>2],x=+g[D+268>>2],C=x-+g[l+56>>2],y=+g[D+272>>2],B=y-+g[l+60>>2],(a[d+44>>0]|0)!=0):0)?(q=+g[l+252>>2],q*q!=0.0?q*q>2]|0)+4>>2]|0)<20?(c[484]=(c[484]|0)+1,k=c[d+68>>2]|0,k=Nb[c[(c[k>>2]|0)+36>>2]&127](k)|0,n=c[d+24>>2]|0,g[D+124>>2]=1.0,b[D+128>>1]=1,b[D+130>>1]=-1,c[D+120>>2]=880,c[D+132>>2]=c[l+52>>2],c[D+136>>2]=c[l+56>>2],c[D+140>>2]=c[l+60>>2],c[D+144>>2]=c[l+64>>2],c[D+148>>2]=c[u+0>>2],c[D+152>>2]=c[u+4>>2],c[D+156>>2]=c[u+8>>2],c[D+160>>2]=c[u+12>>2],c[D+196>>2]=0,c[D+120>>2]=2296,c[D+200>>2]=l,c[D+208>>2]=k,c[D+212>>2]=n,z=+g[l+248>>2],c[D+72>>2]=0,g[D+76>>2]=1.0,g[D+80>>2]=1.0,g[D+84>>2]=1.0,g[D+88>>2]=0.0,c[D+64>>2]=12008,c[D+68>>2]=8,g[D+92>>2]=z,g[D+108>>2]=z,g[D+204>>2]=+g[d+56>>2],n=c[l+188>>2]|0,b[D+128>>1]=b[n+4>>1]|0,b[D+130>>1]=b[n+6>>1]|0,c[D+48>>2]=c[u+0>>2],c[D+52>>2]=c[u+4>>2],c[D+56>>2]=c[u+8>>2],c[D+60>>2]=c[u+12>>2],c[D+0>>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+20>>2],c[D+20>>2]=c[l+24>>2],c[D+24>>2]=c[l+28>>2],c[D+28>>2]=c[l+32>>2],c[D+32>>2]=c[l+36>>2],c[D+36>>2]=c[l+40>>2],c[D+40>>2]=c[l+44>>2],c[D+44>>2]=c[l+48>>2],_u(d,D+64|0,l+4|0,D,D+120|0,0.0),z=+g[D+124>>2],z<1.0):0){o=z*(w-+g[l+52>>2]);p=z*(x-+g[l+56>>2]);q=z*(y-+g[l+60>>2]);m=-(p*+g[D+168>>2])-o*+g[t>>2]-q*+g[D+172>>2];n=c[d+24>>2]|0;n=Wb[c[(c[n>>2]|0)+12>>2]&63](n,l,c[D+196>>2]|0)|0;h=c[d+308>>2]|0;if((h|0)==(c[d+312>>2]|0)?(v=(h|0)==0?1:h<<1,(h|0)<(v|0)):0){if(!v)f=0;else{c[5108]=(c[5108]|0)+1;h=QE((v<<2|3)+16|0)|0;if(!h)f=0;else{c[(h+19&-16)+-4>>2]=h;f=h+19&-16}h=c[d+308>>2]|0}if((h|0)>0){k=0;do{j=f+(k<<2)|0;if(j)c[j>>2]=c[(c[d+316>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(h|0))}j=c[d+316>>2]|0;if(j){if(a[d+320>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-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]=v}f=(c[d+316>>2]|0)+(h<<2)|0;if(f)c[f>>2]=n;c[d+308>>2]=h+1;o=o+ +g[l+52>>2];p=p+ +g[l+56>>2];q=q+ +g[l+60>>2];k=c[D+196>>2]|0;P=+g[k+4>>2];O=+g[k+20>>2];N=+g[k+36>>2];M=+g[k+8>>2];L=+g[k+24>>2];K=+g[k+40>>2];J=+g[k+12>>2];H=+g[k+28>>2];F=+g[k+44>>2];I=-+g[k+52>>2];G=-+g[k+56>>2];E=-+g[k+60>>2];c[D+280>>2]=0;c[D+284>>2]=0;c[D+288>>2]=0;c[D+292>>2]=0;g[D+296>>2]=o*P+p*O+q*N+(P*I+O*G+N*E);g[D+300>>2]=o*M+p*L+q*K+(M*I+L*G+K*E);g[D+304>>2]=o*J+p*H+q*F+(J*I+H*G+F*E);g[D+308>>2]=0.0;c[D+344>>2]=c[t+0>>2];c[D+348>>2]=c[t+4>>2];c[D+352>>2]=c[t+8>>2];c[D+356>>2]=c[t+12>>2];g[D+360>>2]=m;g[D+364>>2]=0.0;g[D+368>>2]=0.0;g[D+372>>2]=0.0;c[D+392>>2]=0;a[D+396>>0]=0;c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[s+24>>2]=0;c[s+28>>2]=0;k=Es(n,D+280|0)|0;g[n+(k*184|0)+96>>2]=0.0;m=+g[l+224>>2]*+g[(c[D+196>>2]|0)+224>>2];m=m<-10.0?-10.0:m;g[n+(k*184|0)+88>>2]=m>10.0?10.0:m;c[n+(k*184|0)+52>>2]=c[l+52>>2];c[n+(k*184|0)+56>>2]=c[l+56>>2];c[n+(k*184|0)+60>>2]=c[l+60>>2];c[n+(k*184|0)+64>>2]=c[l+64>>2];g[n+(k*184|0)+36>>2]=o;g[n+(k*184|0)+40>>2]=p;g[n+(k*184|0)+44>>2]=q;g[n+(k*184|0)+48>>2]=0.0}h=c[5104]|0;n=(c[h+16>>2]|0)+-1|0;c[h+16>>2]=n;if(!n){if(c[h+4>>2]|0){Cb(D+280|0,0)|0;n=c[5090]|0;g[h+8>>2]=+(((c[D+284>>2]|0)-(c[n+4>>2]|0)+(((c[D+280>>2]|0)-(c[n>>2]|0)|0)*1e6|0)-(c[h+12>>2]|0)|0)>>>0)/1.0e3+ +g[h+8>>2];if(c[h+16>>2]|0)break;h=c[5104]|0}c[5104]=c[h+20>>2]}}while(0);r=r+1|0}while((r|0)<(c[d+232>>2]|0))}f=c[5104]|0;r=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=r;do if(!r){if(c[f+4>>2]|0){Cb(D+280|0,0)|0;r=c[5090]|0;g[f+8>>2]=+(((c[D+284>>2]|0)-(c[r+4>>2]|0)+(((c[D+280>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[5104]|0}c[5104]=c[f+20>>2]}while(0);Jb[c[(c[d>>2]|0)+44>>2]&255](d);Jb[c[(c[d>>2]|0)+148>>2]&255](d);g[d+104>>2]=e;Lb[c[(c[d>>2]|0)+152>>2]&127](d,d+92|0);Ib[c[(c[d>>2]|0)+144>>2]&31](d,e);aE(1840);if((c[d+280>>2]|0)>0){f=0;do{r=c[(c[d+288>>2]|0)+(f<<2)>>2]|0;rc[c[(c[r>>2]|0)+8>>2]&7](r,d,e);f=f+1|0}while((f|0)<(c[d+280>>2]|0))}f=c[5104]|0;r=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=r;do if(!r){if(c[f+4>>2]|0){Cb(D+280|0,0)|0;r=c[5090]|0;g[f+8>>2]=+(((c[D+284>>2]|0)-(c[r+4>>2]|0)+(((c[D+280>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[5104]|0}c[5104]=c[f+20>>2]}while(0);Ib[c[(c[d>>2]|0)+156>>2]&31](d,e);f=c[d+80>>2]|0;if(f)Ib[f&31](d,e);f=c[5104]|0;r=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=r;if(r){i=D;return}do if(c[f+4>>2]|0){Cb(D+280|0,0)|0;r=c[5090]|0;g[f+8>>2]=+(((c[D+284>>2]|0)-(c[r+4>>2]|0)+(((c[D+280>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(!(c[f+16>>2]|0)){f=c[5104]|0;break}else{i=D;return}}while(0);c[5104]=c[f+20>>2];i=D;return}function Op(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,j=0,k=0,l=0.0,m=0.0;j=i;c[a+248>>2]=c[b+0>>2];c[a+252>>2]=c[b+4>>2];c[a+256>>2]=c[b+8>>2];c[a+260>>2]=c[b+12>>2];d=c[a+232>>2]|0;if((d|0)<=0){i=j;return}h=0;do{f=c[(c[a+240>>2]|0)+(h<<2)>>2]|0;k=c[f+216>>2]|0;if(!((k|0)==2|(k|0)==5)?(c[f+504>>2]&1|0)==0:0){e=+g[f+344>>2];if(e!=0.0){m=1.0/e*+g[b+4>>2];l=1.0/e*+g[b+8>>2];g[f+364>>2]=1.0/e*+g[b>>2];g[f+368>>2]=m;g[f+372>>2]=l;g[f+376>>2]=0.0}c[f+380>>2]=c[b+0>>2];c[f+384>>2]=c[b+4>>2];c[f+388>>2]=c[b+8>>2];c[f+392>>2]=c[b+12>>2];d=c[a+232>>2]|0}h=h+1|0}while((h|0)<(d|0));i=j;return}function Pp(a,b){a=a|0;b=b|0;c[a+0>>2]=c[b+248>>2];c[a+4>>2]=c[b+252>>2];c[a+8>>2]=c[b+256>>2];c[a+12>>2]=c[b+260>>2];return}function Qp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;Su(a,b,c,d);i=e;return}function Rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;d=(c[b+236>>2]&2|0)==0?0:b;if(d){Lb[c[(c[a>>2]|0)+92>>2]&127](a,d);i=k;return}d=c[b+188>>2]|0;if(d){e=c[a+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;pc[c[(c[e>>2]|0)+40>>2]&127](e,d,c[a+24>>2]|0);e=c[a+68>>2]|0;pc[c[(c[e>>2]|0)+12>>2]&127](e,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0){i=k;return}e=c[a+16>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else{j=11;break}}if((j|0)==11){i=k;return}if((g|0)>=(d|0)){i=k;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;i=k;return}function Sp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;d=c[a+232>>2]|0;a:do if((d|0)>0){e=c[a+240>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else break a}if((g|0)<(d|0)){c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+240>>2]|0)+(d+-1<<2)>>2]=b;c[a+232>>2]=d+-1}}while(0);d=c[b+188>>2]|0;if(d){e=c[a+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;pc[c[(c[e>>2]|0)+40>>2]&127](e,d,c[a+24>>2]|0);e=c[a+68>>2]|0;pc[c[(c[e>>2]|0)+12>>2]&127](e,d,c[a+24>>2]|0);c[b+188>>2]=0}e=c[a+8>>2]|0;if((e|0)<=0){i=k;return}d=c[a+16>>2]|0;g=0;while(1){f=d+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(e|0))g=h;else{j=15;break}}if((j|0)==15){i=k;return}if((g|0)>=(e|0)){i=k;return}c[f>>2]=c[d+(e+-1<<2)>>2];c[(c[a+16>>2]|0)+(e+-1<<2)>>2]=b;c[a+8>>2]=e+-1;i=k;return}function Tp(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.0,o=0.0;m=i;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){o=1.0/h*+g[b+252>>2];n=1.0/h*+g[b+256>>2];g[d+364>>2]=1.0/h*+g[b+248>>2];g[d+368>>2]=o;g[d+372>>2]=n;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+384>>2]=c[b+252>>2];c[d+388>>2]=c[b+256>>2];c[d+392>>2]=c[b+260>>2]}if(!(c[d+192>>2]|0)){i=m;return}if(e&1){if((c[d+216>>2]&-2|0)!=4)c[d+216>>2]=2}else{e=c[b+232>>2]|0;if((e|0)==(c[b+236>>2]|0)?(l=(e|0)==0?1:e<<1,(e|0)<(l|0)):0){if(!l)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[b+232>>2]|0}if((e|0)>0){k=0;do{j=f+(k<<2)|0;if(j)c[j>>2]=c[(c[b+240>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(e|0))}j=c[b+240>>2]|0;if(j){if(a[b+244>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);e=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=f;c[b+236>>2]=l}f=(c[b+240>>2]|0)+(e<<2)|0;if(f)c[f>>2]=d;c[b+232>>2]=e+1;e=c[d+204>>2]|0}if(!(e&1))e=(e&2|0)==0;else e=0;tc[c[(c[b>>2]|0)+36>>2]&127](b,d,e?1:2,e?-1:-3);i=m;return}function Up(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,m=0,n=0,o=0,p=0.0,q=0.0;o=i;j=c[d+204>>2]|0;if((j&3|0)==0?(c[d+504>>2]&1|0)==0:0){k=+g[d+344>>2];if(k!=0.0){q=1.0/k*+g[b+252>>2];p=1.0/k*+g[b+256>>2];g[d+364>>2]=1.0/k*+g[b+248>>2];g[d+368>>2]=q;g[d+372>>2]=p;g[d+376>>2]=0.0}c[d+380>>2]=c[b+248>>2];c[d+384>>2]=c[b+252>>2];c[d+388>>2]=c[b+256>>2];c[d+392>>2]=c[b+260>>2]}if(!(c[d+192>>2]|0)){i=o;return}if(j&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)?(n=(h|0)==0?1:h<<1,(h|0)<(n|0)):0){if(!n)j=0;else{c[5108]=(c[5108]|0)+1;j=QE((n<<2|3)+16|0)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}h=c[b+232>>2]|0}if((h|0)>0){m=0;do{l=j+(m<<2)|0;if(l)c[l>>2]=c[(c[b+240>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(h|0))}l=c[b+240>>2]|0;if(l){if(a[b+244>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0);h=c[b+232>>2]|0}c[b+240>>2]=0}a[b+244>>0]=1;c[b+240>>2]=j;c[b+236>>2]=n}j=(c[b+240>>2]|0)+(h<<2)|0;if(j)c[j>>2]=d;c[b+232>>2]=h+1}tc[c[(c[b>>2]|0)+36>>2]&127](b,d,e,f);i=o;return}function Vp(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.0,p=0.0,q=0.0,r=0.0;n=i;i=i+16|0;aE(1856);e=c[b+232>>2]|0;if((e|0)>0){l=(a[1448]|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;do if(!((f|0)==4|(f|0)==2)){r=+g[j+312>>2];q=+g[j+316>>2];p=+g[j+320>>2];o=+g[j+472>>2];if(r*r+q*q+p*p>2],q=+g[j+332>>2],p=+g[j+336>>2],o=+g[j+476>>2],r*r+q*q+p*p>2]=+g[j+220>>2]+d;m=10;break}g[j+220>>2]=0.0;if((f&-2|0)!=4){c[j+216>>2]=0;h=0}else m=10}else m=10;while(0);if((m|0)==10){m=0;if((f|0)==4)break;else h=f}f=h&-2;do if(l){if((f|0)!=2?!(+g[j+220>>2]>2.0):0)break;if(c[j+204>>2]&3){if((f|0)==4)break a;c[j+216>>2]=2;break a}if((h|0)==1){if((f|0)==4)break a;c[j+216>>2]=3;break a}else{if((h|0)!=2)break a;e=(c[j+260>>2]|0)+2|0;c[j+328>>2]=0;c[j+332>>2]=0;c[j+336>>2]=0;c[j+340>>2]=0;c[j+260>>2]=e;c[j+312>>2]=0;c[j+316>>2]=0;c[j+320>>2]=0;c[j+324>>2]=0;e=c[b+232>>2]|0;break a}}while(0);if((f|0)!=4)c[j+216>>2]=1}while(0);k=k+1|0}while((k|0)<(e|0))}e=c[5104]|0;f=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=f;if(f){i=n;return}do if(c[e+4>>2]|0){Cb(n|0,0)|0;f=c[5090]|0;g[e+8>>2]=+(((c[n+4>>2]|0)-(c[f+4>>2]|0)+(((c[n>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[5104]|0;break}else{i=n;return}}while(0);c[5104]=c[e+20>>2];i=n;return}function Wp(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;l=i;f=c[b+212>>2]|0;if((f|0)==(c[b+216>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)g=0;else{c[5108]=(c[5108]|0)+1;g=QE((k<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+19&-16)+-4>>2]=g;g=g+19&-16}f=c[b+212>>2]|0}if((f|0)>0){j=0;do{h=g+(j<<2)|0;if(h)c[h>>2]=c[(c[b+220>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}h=c[b+220>>2]|0;if(h){if(a[b+224>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0);f=c[b+212>>2]|0}c[b+220>>2]=0}a[b+224>>0]=1;c[b+220>>2]=g;c[b+216>>2]=k}g=(c[b+220>>2]|0)+(f<<2)|0;if(g)c[g>>2]=d;c[b+212>>2]=f+1;if(!e){i=l;return}wp(c[d+28>>2]|0,d);wp(c[d+32>>2]|0,d);i=l;return}function Xp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;d=c[a+212>>2]|0;a:do if((d|0)>0){e=c[a+220>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else break a}if((g|0)<(d|0)){c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+220>>2]|0)+(d+-1<<2)>>2]=b;c[a+212>>2]=d+-1}}while(0);a=c[b+28>>2]|0;d=c[a+488>>2]|0;b:do if((d|0)>0){e=c[a+496>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else break b}if((g|0)<(d|0)){c[f>>2]=c[e+(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){e=d;e=(e|0)>0;e=e&1;d=a+256|0;c[d>>2]=e;i=k;return}e=c[a+496>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else{j=19;break}}if((j|0)==19){e=(d|0)>0;e=e&1;d=a+256|0;c[d>>2]=e;i=k;return}if((g|0)>=(d|0)){e=d;e=(e|0)>0;e=e&1;d=a+256|0;c[d>>2]=e;i=k;return}c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+496>>2]|0)+(d+-1<<2)>>2]=b;c[a+488>>2]=d+-1;e=d+-1|0;e=(e|0)>0;e=e&1;d=a+256|0;c[d>>2]=e;i=k;return}function Yp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;e=c[b+280>>2]|0;if((e|0)==(c[b+284>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[b+280>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[b+288>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[b+288>>2]|0;if(g){if(a[b+292>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[b+280>>2]|0}c[b+288>>2]=0}a[b+292>>0]=1;c[b+288>>2]=f;c[b+284>>2]=j}f=(c[b+288>>2]|0)+(e<<2)|0;if(!f){e=e+1|0;c[b+280>>2]=e;i=k;return}c[f>>2]=d;e=e+1|0;c[b+280>>2]=e;i=k;return}function Zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;d=c[a+280>>2]|0;if((d|0)<=0){i=k;return}e=c[a+288>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else{j=7;break}}if((j|0)==7){i=k;return}if((g|0)>=(d|0)){i=k;return}c[f>>2]=c[e+(d+-1<<2)>>2];c[(c[a+288>>2]|0)+(d+-1<<2)>>2]=b;c[a+280>>2]=d+-1;i=k;return}function _p(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function $p(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+68>>2]&127](a,b);i=d;return}function aq(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+64>>2]&127](a,b);i=d;return}function bq(a,b){a=a|0;b=b|0;var d=0;d=i;Lb[c[(c[a>>2]|0)+68>>2]&127](a,b);i=d;return}function cq(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,w=0;w=i;i=i+16|0;aE(1880);l=c[b+212>>2]|0;e=c[b+180>>2]|0;if((e|0)<(l|0)){if((c[b+184>>2]|0)<(l|0)){if(!l){j=e;k=0}else{c[5108]=(c[5108]|0)+1;f=QE((l<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}j=c[b+180>>2]|0;k=f}if((j|0)>0){f=0;do{h=k+(f<<2)|0;if(h)c[h>>2]=c[(c[b+188>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(j|0))}f=c[b+188>>2]|0;if(f){if(a[b+192>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+188>>2]=0}a[b+192>>0]=1;c[b+188>>2]=k;c[b+184>>2]=l;h=b+188|0}else h=b+188|0;do{f=(c[h>>2]|0)+(e<<2)|0;if(f)c[f>>2]=0;e=e+1|0}while((e|0)!=(l|0))}c[b+180>>2]=l;e=0;while(1){if((e|0)>=(Nb[c[(c[b>>2]|0)+104>>2]&127](b)|0))break;c[(c[b+188>>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)mq(b+176|0,0,e+-1|0);if(!(Nb[c[(c[b>>2]|0)+104>>2]&127](b)|0))e=0;else e=c[b+188>>2]|0;m=c[b+196>>2]|0;o=c[b+180>>2]|0;p=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;c[m+4>>2]=d;c[m+12>>2]=e;c[m+16>>2]=o;c[m+20>>2]=p;e=c[m+32>>2]|0;if((e|0)<0){if((c[m+36>>2]|0)<0){f=c[m+40>>2]|0;if(f){if(a[m+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[m+40>>2]=0}a[m+44>>0]=1;c[m+40>>2]=0;c[m+36>>2]=0}do{f=(c[m+40>>2]|0)+(e<<2)|0;if(f)c[f>>2]=0;e=e+1|0}while((e|0)!=0)}c[m+32>>2]=0;f=c[m+52>>2]|0;if((f|0)<0){if((c[m+56>>2]|0)<0){e=c[m+60>>2]|0;if(e){if(a[m+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[m+60>>2]=0}a[m+64>>0]=1;c[m+60>>2]=0;c[m+56>>2]=0}do{e=(c[m+60>>2]|0)+(f<<2)|0;if(e)c[e>>2]=0;f=f+1|0}while((f|0)!=0)}c[m+52>>2]=0;f=c[m+72>>2]|0;if((f|0)<0){if((c[m+76>>2]|0)<0){e=c[m+80>>2]|0;if(e){if(a[m+84>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[m+80>>2]=0}a[m+84>>0]=1;c[m+80>>2]=0;c[m+76>>2]=0}do{e=(c[m+80>>2]|0)+(f<<2)|0;if(e)c[e>>2]=0;f=f+1|0}while((f|0)!=0)}c[m+72>>2]=0;v=c[b+200>>2]|0;f=c[(c[v>>2]|0)+8>>2]|0;s=c[b+8>>2]|0;u=c[b+24>>2]|0;u=Nb[c[(c[u>>2]|0)+36>>2]&127](u)|0;pc[f&127](v,s,u);u=c[b+204>>2]|0;s=c[b+24>>2]|0;v=c[b+196>>2]|0;aE(6936);f=c[u+28>>2]|0;if((f|0)<0){if((c[u+32>>2]|0)<0){e=c[u+36>>2]|0;if(e){if(a[u+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[u+36>>2]=0}a[u+40>>0]=1;c[u+36>>2]=0;c[u+32>>2]=0}do{e=(c[u+36>>2]|0)+(f<<2)|0;if(e)c[e>>2]=0;f=f+1|0}while((f|0)!=0)}c[u+28>>2]=0;l=c[u+8>>2]|0;if((l|0)>0){f=c[u+16>>2]|0;e=0;do{m=f+(e<<3)|0;k=c[m>>2]|0;if((k|0)==(e|0))k=e;else{h=m;do{j=f+(k<<3)|0;c[h>>2]=c[j>>2];j=c[j>>2]|0;h=f+(j<<3)|0;k=c[h>>2]|0}while((j|0)!=(k|0));k=j}c[m>>2]=k;e=e+1|0}while((e|0)!=(l|0));if((l|0)>1){kw(u+4|0,0,l+-1|0);l=c[u+8>>2]|0}if((l|0)>0){o=c[u+16>>2]|0;k=o;h=0;while(1){e=c[o+(h<<3)>>2]|0;q=h;while(1){q=q+1|0;if((q|0)>=(l|0)){p=0;break}if((c[o+(q<<3)>>2]|0)!=(e|0)){p=1;break}}if((h|0)<(q|0)){n=c[b+16>>2]|0;m=1;f=h;do{j=c[n+(c[o+(f<<3)+4>>2]<<2)>>2]|0;if((c[j+208>>2]|0)==(e|0)){j=c[j+216>>2]|0;m=m&(j|0)!=1&(j|0)!=4}f=f+1|0}while((f|0)!=(q|0));if(m){m=o;while(1){j=c[n+(c[m+(h<<3)+4>>2]<<2)>>2]|0;if((c[j+208>>2]|0)==(e|0)?(c[j+216>>2]&-2|0)!=4:0)c[j+216>>2]=2;h=h+1|0;if((h|0)>=(q|0))break;else m=k}}else while(1){j=c[n+(c[o+(h<<3)+4>>2]<<2)>>2]|0;if((c[j+208>>2]|0)==(e|0)?(c[j+216>>2]|0)==2:0){c[j+216>>2]=3;g[j+220>>2]=0.0}h=h+1|0;if((h|0)>=(q|0))break;else k=o}}if(p)h=q;else break}}}o=Nb[c[(c[s>>2]|0)+36>>2]&127](s)|0;if((o|0)>0){q=0;do{n=ec[c[(c[s>>2]|0)+40>>2]&31](s,q)|0;j=c[n+740>>2]|0;h=c[n+744>>2]|0;if((j|0)!=0?(c[j+216>>2]|0)!=2:0)k=101;else k=99;if(((k|0)==99?(k=0,(h|0)!=0):0)?(c[h+216>>2]|0)!=2:0)k=101;if((k|0)==101){k=c[j+204>>2]|0;if(((k&2|0)!=0?((k&4|0)==0?(c[j+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}p=c[h+204>>2]|0;if((p&2|0)!=0?((p&4|0)==0?(c[h+216>>2]|0)!=2:0)&(k&3|0)==0:0){if((c[j+216>>2]&-2|0)!=4)c[j+216>>2]=1;g[j+220>>2]=0.0}if((a[u+64>>0]|0)!=0?Wb[c[(c[s>>2]|0)+28>>2]&63](s,j,h)|0:0){h=c[u+28>>2]|0;if((h|0)==(c[u+32>>2]|0)?(t=(h|0)==0?1:h<<1,(h|0)<(t|0)):0){if(!t)k=0;else{c[5108]=(c[5108]|0)+1;j=QE((t<<2|3)+16|0)|0;if(!j)k=0;else{c[(j+19&-16)+-4>>2]=j;k=j+19&-16}h=c[u+28>>2]|0}if((h|0)>0){f=0;do{j=k+(f<<2)|0;if(j)c[j>>2]=c[(c[u+36>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(h|0))}j=c[u+36>>2]|0;if(j){if(a[u+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);h=c[u+28>>2]|0}c[u+36>>2]=0}a[u+40>>0]=1;c[u+36>>2]=k;c[u+32>>2]=t}k=(c[u+36>>2]|0)+(h<<2)|0;if(k)c[k>>2]=n;c[u+28>>2]=h+1}}q=q+1|0}while((q|0)<(o|0))}e=c[5104]|0;p=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=p;do if(!p){if(c[e+4>>2]|0){Cb(w|0,0)|0;p=c[5090]|0;g[e+8>>2]=+(((c[w+4>>2]|0)-(c[p+4>>2]|0)+(((c[w>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[5104]|0}c[5104]=c[e+20>>2]}while(0);t=c[u+8>>2]|0;aE(6968);if(a[u+64>>0]|0){r=c[u+28>>2]|0;if((r|0)>1)Rt(u+24|0,0,r+-1|0);if((t|0)>0){o=1;j=0;s=0;while(1){k=c[u+16>>2]|0;p=c[k+(j<<3)>>2]|0;a:do if((j|0)<(t|0)){m=p;q=1;while(1){if((m|0)!=(p|0)){e=j;h=q;break a}n=c[(c[b+16>>2]|0)+(c[k+(j<<3)+4>>2]<<2)>>2]|0;k=c[u+48>>2]|0;do if((k|0)==(c[u+52>>2]|0)){f=(k|0)==0?1:k<<1;if((k|0)>=(f|0))break;if(!f)m=0;else{c[5108]=(c[5108]|0)+1;k=QE((f<<2|3)+16|0)|0;if(!k)m=0;else{c[(k+19&-16)+-4>>2]=k;m=k+19&-16}k=c[u+48>>2]|0}if((k|0)>0){h=0;do{l=m+(h<<2)|0;if(l)c[l>>2]=c[(c[u+56>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(k|0))}l=c[u+56>>2]|0;if(l){if(a[u+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0);k=c[u+48>>2]|0}c[u+56>>2]=0}a[u+60>>0]=1;c[u+56>>2]=m;c[u+52>>2]=f}while(0);h=(c[u+56>>2]|0)+(k<<2)|0;if(h)c[h>>2]=n;c[u+48>>2]=k+1;h=c[n+216>>2]|0;h=q&((h|0)==2|(h|0)==5);j=j+1|0;if((j|0)>=(t|0)){e=j;break a}k=c[u+16>>2]|0;m=c[k+(j<<3)>>2]|0;q=h}}else{e=j;h=1}while(0);if((s|0)<(r|0)){f=c[u+36>>2]|0;k=f+(s<<2)|0;l=c[k>>2]|0;j=c[(c[l+740>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[l+744>>2]|0)+208>>2]|0;if((j|0)==(p|0)){m=s;do{m=m+1|0;if((m|0)>=(r|0))break;l=c[f+(m<<2)>>2]|0;j=c[(c[l+740>>2]|0)+208>>2]|0;if((j|0)<=-1)j=c[(c[l+744>>2]|0)+208>>2]|0}while((p|0)==(j|0));l=m;j=m-s|0}else{l=o;j=0;k=0}}else{l=o;j=0;k=0}if(!h)Xb[c[(c[v>>2]|0)+8>>2]&7](v,c[u+56>>2]|0,c[u+48>>2]|0,k,j,p);s=(j|0)==0?s:l;k=c[u+48>>2]|0;if((k|0)<0){if((c[u+52>>2]|0)<0){j=c[u+56>>2]|0;if(j){if(a[u+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[u+56>>2]=0}a[u+60>>0]=1;c[u+56>>2]=0;c[u+52>>2]=0}do{j=(c[u+56>>2]|0)+(k<<2)|0;if(j)c[j>>2]=0;k=k+1|0}while((k|0)!=0)}c[u+48>>2]=0;if((e|0)>=(t|0))break;else{o=l;j=e}}}}else{o=Nb[c[(c[s>>2]|0)+44>>2]&127](s)|0;p=Nb[c[(c[s>>2]|0)+36>>2]&127](s)|0;Xb[c[(c[v>>2]|0)+8>>2]&7](v,c[b+16>>2]|0,c[b+8>>2]|0,o,p,-1)}e=c[5104]|0;p=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=p;do if(!p){if(c[e+4>>2]|0){Cb(w|0,0)|0;p=c[5090]|0;g[e+8>>2]=+(((c[w+4>>2]|0)-(c[p+4>>2]|0)+(((c[w>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(c[e+16>>2]|0)break;e=c[5104]|0}c[5104]=c[e+20>>2]}while(0);nq(c[b+196>>2]|0);e=c[b+200>>2]|0;pc[c[(c[e>>2]|0)+16>>2]&127](e,d,c[b+72>>2]|0);e=c[5104]|0;p=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=p;if(p){i=w;return}do if(c[e+4>>2]|0){Cb(w|0,0)|0;p=c[5090]|0;g[e+8>>2]=+(((c[w+4>>2]|0)-(c[p+4>>2]|0)+(((c[w>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[5104]|0;break}else{i=w;return}}while(0);c[5104]=c[e+20>>2];i=w;return}function dq(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;aE(1904);m=c[b+204>>2]|0;pc[c[(c[m>>2]|0)+8>>2]&127](m,b,c[b+24>>2]|0);m=c[b+308>>2]|0;if((m|0)>0){l=c[b+316>>2]|0;k=0;do{e=c[l+(k<<2)>>2]|0;d=c[e+740>>2]|0;e=c[e+744>>2]|0;if(((d|0)!=0?((e|0)!=0?(c[d+204>>2]&3|0)==0:0):0)?(c[e+204>>2]&3|0)==0:0){f=c[d+208>>2]|0;e=c[e+208>>2]|0;j=c[(c[b+204>>2]|0)+16>>2]|0;d=c[j+(f<<3)>>2]|0;if((d|0)!=(f|0)){h=j+(f<<3)|0;do{f=j+(d<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=j+(f<<3)|0;d=c[h>>2]|0}while((f|0)!=(d|0))}d=c[j+(e<<3)>>2]|0;if((d|0)!=(e|0)){h=j+(e<<3)|0;do{e=j+(d<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;d=c[h>>2]|0}while((e|0)!=(d|0))}if((f|0)!=(e|0)){c[j+(f<<3)>>2]=e;h=j+(e<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[j+(f<<3)+4>>2]|0)}}k=k+1|0}while((k|0)!=(m|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)!=0?(o=c[d+28>>2]|0,(c[o+204>>2]&3|0)==0):0)?(n=c[d+32>>2]|0,(c[n+204>>2]&3|0)==0):0){f=c[o+208>>2]|0;e=c[n+208>>2]|0;j=c[(c[b+204>>2]|0)+16>>2]|0;d=c[j+(f<<3)>>2]|0;if((d|0)!=(f|0)){h=j+(f<<3)|0;do{f=j+(d<<3)|0;c[h>>2]=c[f>>2];f=c[f>>2]|0;h=j+(f<<3)|0;d=c[h>>2]|0}while((f|0)!=(d|0))}d=c[j+(e<<3)>>2]|0;if((d|0)!=(e|0)){h=j+(e<<3)|0;do{e=j+(d<<3)|0;c[h>>2]=c[e>>2];e=c[e>>2]|0;h=j+(e<<3)|0;d=c[h>>2]|0}while((e|0)!=(d|0))}if((f|0)!=(e|0)){c[j+(f<<3)>>2]=e;h=j+(e<<3)+4|0;c[h>>2]=(c[h>>2]|0)+(c[j+(f<<3)+4>>2]|0)}}m=m+1|0}while((m|0)!=(l|0))}d=c[b+204>>2]|0;Lb[c[(c[d>>2]|0)+12>>2]&127](d,b);d=c[5104]|0;o=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=o;if(o){i=p;return}do if(c[d+4>>2]|0){Cb(p|0,0)|0;o=c[5090]|0;g[d+8>>2]=+(((c[p+4>>2]|0)-(c[o+4>>2]|0)+(((c[p>>2]|0)-(c[o>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[5104]|0;break}else{i=p;return}}while(0);c[5104]=c[d+20>>2];i=p;return}function eq(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.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0;y=i;i=i+352|0;aE(2048);if((c[d+232>>2]|0)>0){p=y+232|0;n=0;do{o=c[(c[d+240>>2]|0)+(n<<2)>>2]|0;g[o+244>>2]=1.0;f=c[o+216>>2]|0;do if(!((f|0)==2|(f|0)==5)?(c[o+204>>2]&3|0)==0:0){Ap(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,e,y+184|0);h=+g[p>>2]-+g[o+52>>2];l=+g[y+236>>2]-+g[o+56>>2];k=+g[y+240>>2]-+g[o+60>>2];if((a[d+44>>0]|0)!=0?(z=+g[o+252>>2],z*z!=0.0?z*z>2]|0)+4>>2]|0)<20){c[484]=(c[484]|0)+1;j=c[d+68>>2]|0;j=Nb[c[(c[j>>2]|0)+36>>2]&127](j)|0;f=c[d+24>>2]|0;g[y+252>>2]=1.0;b[y+256>>1]=1;b[y+258>>1]=-1;c[y+248>>2]=880;c[y+260>>2]=c[o+52>>2];c[y+264>>2]=c[o+56>>2];c[y+268>>2]=c[o+60>>2];c[y+272>>2]=c[o+64>>2];c[y+276>>2]=c[p+0>>2];c[y+280>>2]=c[p+4>>2];c[y+284>>2]=c[p+8>>2];c[y+288>>2]=c[p+12>>2];c[y+324>>2]=0;c[y+248>>2]=2296;c[y+328>>2]=o;c[y+336>>2]=j;c[y+340>>2]=f;h=+g[o+248>>2];c[y+136>>2]=0;g[y+140>>2]=1.0;g[y+144>>2]=1.0;g[y+148>>2]=1.0;g[y+152>>2]=0.0;c[y+128>>2]=12008;c[y+132>>2]=8;g[y+156>>2]=h;g[y+172>>2]=h;g[y+332>>2]=+g[d+56>>2];f=c[o+188>>2]|0;b[y+256>>1]=b[f+4>>1]|0;b[y+258>>1]=b[f+6>>1]|0;c[y+112>>2]=c[p+0>>2];c[y+116>>2]=c[p+4>>2];c[y+120>>2]=c[p+8>>2];c[y+124>>2]=c[p+12>>2];c[y+64>>2]=c[o+4>>2];c[y+68>>2]=c[o+8>>2];c[y+72>>2]=c[o+12>>2];c[y+76>>2]=c[o+16>>2];c[y+80>>2]=c[o+20>>2];c[y+84>>2]=c[o+24>>2];c[y+88>>2]=c[o+28>>2];c[y+92>>2]=c[o+32>>2];c[y+96>>2]=c[o+36>>2];c[y+100>>2]=c[o+40>>2];c[y+104>>2]=c[o+44>>2];c[y+108>>2]=c[o+48>>2];_u(d,y+128|0,o+4|0,y+64|0,y+248|0,0.0);h=+g[y+252>>2];if(h<1.0){g[o+244>>2]=h;Ap(o+4|0,+g[o+312>>2],+g[o+316>>2],+g[o+320>>2],o+328|0,h*e,y+184|0);g[o+244>>2]=0.0;up(o,y+184|0);j=4}else j=0;if(!j)m=11}else m=11;if((m|0)==11){m=0;j=0}f=c[5104]|0;A=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=A;do if(!A){if(c[f+4>>2]|0){Cb(y+248|0,0)|0;A=c[5090]|0;g[f+8>>2]=+(((c[y+252>>2]|0)-(c[A+4>>2]|0)+(((c[y+248>>2]|0)-(c[A>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[5104]|0}c[5104]=c[f+20>>2]}while(0);if((j|0)==4)break}up(o,y+184|0)}while(0);n=n+1|0}while((n|0)<(c[d+232>>2]|0))}do if(a[d+275>>0]|0){aE(2096);f=c[d+308>>2]|0;if((f|0)>0){p=0;do{m=c[(c[d+316>>2]|0)+(p<<2)>>2]|0;o=c[m+740>>2]|0;o=(c[o+236>>2]&2|0)==0?0:o;n=c[m+744>>2]|0;n=(c[n+236>>2]&2|0)==0?0:n;j=c[m+748>>2]|0;if((j|0)>0){if(!o){f=0;do{h=+g[57]*+g[n+228>>2];if((h>0.0?(q=+g[m+(f*184|0)+124>>2],q!=0.0):0)?(r=h*(q*+g[m+(f*184|0)+68>>2]),s=h*(q*+g[m+(f*184|0)+72>>2]),t=h*(q*+g[m+(f*184|0)+76>>2]),g[y+48>>2]=-r,g[y+52>>2]=-s,g[y+56>>2]=-t,g[y+60>>2]=0.0,e=+g[m+(f*184|0)+56>>2]-+g[o+56>>2],l=+g[m+(f*184|0)+60>>2]-+g[o+60>>2],g[y+32>>2]=+g[m+(f*184|0)+52>>2]-+g[o+52>>2],g[y+36>>2]=e,g[y+40>>2]=l,g[y+44>>2]=0.0,l=+g[m+(f*184|0)+40>>2]-+g[n+56>>2],e=+g[m+(f*184|0)+44>>2]-+g[n+60>>2],g[y+16>>2]=+g[m+(f*184|0)+36>>2]-+g[n+52>>2],g[y+20>>2]=l,g[y+24>>2]=e,g[y+28>>2]=0.0,(n|0)!=0):0){g[y>>2]=r;g[y+4>>2]=s;g[y+8>>2]=t;g[y+12>>2]=0.0;bn(n,y,y+16|0);j=c[m+748>>2]|0}f=f+1|0}while((f|0)<(j|0))}else{j=0;do{h=+g[o+228>>2]*+g[n+228>>2];if((h>0.0?(u=+g[m+(j*184|0)+124>>2],u!=0.0):0)?(v=h*(u*+g[m+(j*184|0)+68>>2]),w=h*(u*+g[m+(j*184|0)+72>>2]),x=h*(u*+g[m+(j*184|0)+76>>2]),g[y+48>>2]=-v,g[y+52>>2]=-w,g[y+56>>2]=-x,g[y+60>>2]=0.0,e=+g[m+(j*184|0)+56>>2]-+g[o+56>>2],l=+g[m+(j*184|0)+60>>2]-+g[o+60>>2],g[y+32>>2]=+g[m+(j*184|0)+52>>2]-+g[o+52>>2],g[y+36>>2]=e,g[y+40>>2]=l,g[y+44>>2]=0.0,l=+g[m+(j*184|0)+40>>2]-+g[n+56>>2],e=+g[m+(j*184|0)+44>>2]-+g[n+60>>2],g[y+16>>2]=+g[m+(j*184|0)+36>>2]-+g[n+52>>2],g[y+20>>2]=l,g[y+24>>2]=e,g[y+28>>2]=0.0,bn(o,y+48|0,y+32|0),(n|0)!=0):0){g[y>>2]=v;g[y+4>>2]=w;g[y+8>>2]=x;g[y+12>>2]=0.0;bn(n,y,y+16|0)}j=j+1|0}while((j|0)<(c[m+748>>2]|0))}f=c[d+308>>2]|0}p=p+1|0}while((p|0)<(f|0))}f=c[5104]|0;j=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=j;if(!j){if(c[f+4>>2]|0){Cb(y+248|0,0)|0;j=c[5090]|0;g[f+8>>2]=+(((c[y+252>>2]|0)-(c[j+4>>2]|0)+(((c[y+248>>2]|0)-(c[j>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(c[f+16>>2]|0)break;f=c[5104]|0}c[5104]=c[f+20>>2]}}while(0);f=c[5104]|0;j=(c[f+16>>2]|0)+-1|0;c[f+16>>2]=j;if(j){i=y;return}do if(c[f+4>>2]|0){Cb(y+248|0,0)|0;j=c[5090]|0;g[f+8>>2]=+(((c[y+252>>2]|0)-(c[j+4>>2]|0)+(((c[y+248>>2]|0)-(c[j>>2]|0)|0)*1e6|0)-(c[f+12>>2]|0)|0)>>>0)/1.0e3+ +g[f+8>>2];if(!(c[f+16>>2]|0)){f=c[5104]|0;break}else{i=y;return}}while(0);c[5104]=c[f+20>>2];i=y;return}function fq(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;aE(2136);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)){o=+g[q+444>>2];f=+Q(+(1.0-o),+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=+Q(+(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;j=t*j;h=t*h;f=t*f;n=k*t;l=t*l;m=t*m}else n=k;k=+P(+(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+316>>2]=0;c[q+320>>2]=0;c[q+324>>2]=0;j=0.0;h=0.0;f=0.0;break}while(0);k=+P(+(n*n+l*l+m*m));if(k.004999999888241291){g[q+328>>2]=n-n*(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+332>>2]=0;c[q+336>>2]=0;c[q+340>>2]=0;break}}while(0);Ap(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[5104]|0;r=(c[e+16>>2]|0)+-1|0;c[e+16>>2]=r;if(r){i=s;return}do if(c[e+4>>2]|0){Cb(s|0,0)|0;r=c[5090]|0;g[e+8>>2]=+(((c[s+4>>2]|0)-(c[r+4>>2]|0)+(((c[s>>2]|0)-(c[r>>2]|0)|0)*1e6|0)-(c[e+12>>2]|0)|0)>>>0)/1.0e3+ +g[e+8>>2];if(!(c[e+16>>2]|0)){e=c[5104]|0;break}else{i=s;return}}while(0);c[5104]=c[e+20>>2];i=s;return}function gq(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;if((a[b+273>>0]|0)!=0?(e=c[b+200>>2]|0,(e|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}a[b+273>>0]=0;c[b+200>>2]=d;c[(c[b+196>>2]|0)+8>>2]=d;i=f;return}function hq(a){a=a|0;return c[a+200>>2]|0}function iq(a){a=a|0;return c[a+212>>2]|0}function jq(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function kq(a,b){a=a|0;b=b|0;return c[(c[a+220>>2]|0)+(b<<2)>>2]|0}function lq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0;j=i;Jb[c[(c[b>>2]|0)+32>>2]&255](b);d=Wb[c[(c[b>>2]|0)+16>>2]&63](b,104,1)|0;e=c[d+8>>2]|0;f=e+0|0;h=f+104|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));g[e+88>>2]=+g[a+248>>2];g[e+92>>2]=+g[a+252>>2];g[e+96>>2]=+g[a+256>>2];g[e+100>>2]=+g[a+260>>2];g[e>>2]=+g[a+92>>2];g[e+4>>2]=+g[a+96>>2];g[e+8>>2]=+g[a+100>>2];g[e+12>>2]=+g[a+104>>2];g[e+16>>2]=+g[a+108>>2];g[e+20>>2]=+g[a+116>>2];g[e+24>>2]=+g[a+120>>2];g[e+28>>2]=+g[a+124>>2];g[e+32>>2]=+g[a+128>>2];g[e+36>>2]=+g[a+132>>2];g[e+40>>2]=+g[a+140>>2];g[e+44>>2]=+g[a+144>>2];g[e+48>>2]=+g[a+148>>2];g[e+52>>2]=+g[a+152>>2];g[e+56>>2]=+g[a+168>>2];g[e+60>>2]=+g[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];Hb[c[(c[b>>2]|0)+20>>2]&31](b,d,2168,1145853764,e);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){h=Nb[c[(c[e>>2]|0)+16>>2]&127](e)|0;h=Wb[c[(c[b>>2]|0)+16>>2]&63](b,h,1)|0;d=Wb[c[(c[e>>2]|0)+20>>2]&63](e,c[h+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,h,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){cv(a,b);d=c[b>>2]|0;d=d+36|0;d=c[d>>2]|0;Jb[d&255](b);i=j;return}d=0;do{e=c[(c[a+220>>2]|0)+(d<<2)>>2]|0;h=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;h=Wb[c[(c[b>>2]|0)+16>>2]&63](b,h,1)|0;f=Wb[c[(c[e>>2]|0)+40>>2]&63](e,c[h+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,h,f,1397641027,e);d=d+1|0}while((d|0)<(c[a+212>>2]|0));cv(a,b);d=c[b>>2]|0;d=d+36|0;d=c[d>>2]|0;Jb[d&255](b);i=j;return}function mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;while(1){n=c[a+12>>2]|0;m=c[n+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[m+28>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){h=c[n+(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)<(l|0))e=e+1|0;else break}else{k=c[(c[m+32>>2]|0)+208>>2]|0;while(1){h=c[n+(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)<(k|0))e=e+1|0;else break}}if((l|0)>-1)while(1){j=c[n+(f<<2)>>2]|0;g=c[(c[j+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[j+32>>2]|0)+208>>2]|0;if((l|0)<(g|0))f=f+-1|0;else{g=j;break}}else{k=c[(c[m+32>>2]|0)+208>>2]|0;while(1){j=c[n+(f<<2)>>2]|0;g=c[(c[j+28>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[j+32>>2]|0)+208>>2]|0;if((k|0)<(g|0))f=f+-1|0;else{g=j;break}}}if((e|0)<=(f|0)){c[n+(e<<2)>>2]=g;c[(c[a+12>>2]|0)+(f<<2)>>2]=h;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;n=c[a+12>>2]|0}if((f|0)>(b|0))mq(a,b,f);if((e|0)<(d|0))b=e;else break}i=o;return}function nq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i;e=c[b+32>>2]|0;if(!e)g=0;else g=c[b+40>>2]|0;d=c[b+52>>2]|0;if(!d)h=0;else h=c[b+60>>2]|0;f=c[b+72>>2]|0;if(!f)j=0;else j=c[b+80>>2]|0;l=c[b+8>>2]|0;+gc[c[(c[l>>2]|0)+12>>2]&3](l,g,e,h,d,j,f,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){if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(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{e=(c[b+40>>2]|0)+(d<<2)|0;if(e)c[e>>2]=0;d=d+1|0}while((d|0)!=0)}c[b+32>>2]=0;e=c[b+52>>2]|0;if((e|0)<0){if((c[b+56>>2]|0)<0){d=c[b+60>>2]|0;if(d){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=0;c[b+56>>2]=0}do{d=(c[b+60>>2]|0)+(e<<2)|0;if(d)c[d>>2]=0;e=e+1|0}while((e|0)!=0)}c[b+52>>2]=0;e=c[b+72>>2]|0;if((e|0)>=0){c[b+72>>2]=0;i=k;return}if((c[b+76>>2]|0)<0){d=c[b+80>>2]|0;if(d){if(a[b+84>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=0;c[b+76>>2]=0}do{d=(c[b+80>>2]|0)+(e<<2)|0;if(d)c[d>>2]=0;e=e+1|0}while((e|0)!=0);c[b+72>>2]=0;i=k;return}function oq(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=i;i=i+16|0;aE(1840);if((c[a+280>>2]|0)>0){d=0;do{f=c[(c[a+288>>2]|0)+(d<<2)>>2]|0;rc[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[5104]|0;a=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=a;if(a){i=e;return}do if(c[d+4>>2]|0){Cb(e|0,0)|0;a=c[5090]|0;g[d+8>>2]=+(((c[e+4>>2]|0)-(c[a+4>>2]|0)+(((c[e>>2]|0)-(c[a>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[5104]|0;break}else{i=e;return}}while(0);c[5104]=c[d+20>>2];i=e;return}function pq(a,b){a=a|0;b=b|0;return}function qq(a){a=a|0;return 2}function rq(a){a=a|0;return c[a+72>>2]|0}function sq(a,b){a=a|0;b=b|0;c[a+72>>2]=b;return}function tq(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,l=0.0,m=0.0;f=i;e=c[b>>2]|0;if((e|0)==(c[a+80>>2]|0)){h=1.0;i=f;return +h}if(c[e+204>>2]&4){h=1.0;i=f;return +h}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]){h=1.0;i=f;return +h}g[a+4>>2]=+g[b+40>>2];c[a+76>>2]=e;if(d){c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2]}else{m=+g[b+8>>2];l=+g[b+12>>2];k=+g[b+16>>2];j=m*+g[e+20>>2]+l*+g[e+24>>2]+k*+g[e+28>>2];h=m*+g[e+36>>2]+l*+g[e+40>>2]+k*+g[e+44>>2];g[a+44>>2]=+g[e+4>>2]*m+ +g[e+8>>2]*l+ +g[e+12>>2]*k;g[a+48>>2]=j;g[a+52>>2]=h;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+64>>2]=c[b+28>>2];c[a+68>>2]=c[b+32>>2];c[a+72>>2]=c[b+36>>2];h=+g[b+40>>2];i=f;return +h}function uq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;e=c[d>>2]|0;f=c[a+80>>2]|0;if((e|0)==(f|0)){e=0;i=g;return e|0}if(!((b[a+10>>1]&b[d+4>>1])<<16>>16)){e=0;i=g;return e|0}if(!((b[d+6>>1]&b[a+8>>1])<<16>>16)){e=0;i=g;return e|0}d=c[a+92>>2]|0;e=Wb[c[(c[d>>2]|0)+28>>2]&63](d,f,e)|0;i=g;return e|0}function vq(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function wq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=i;if((h|0)<0){p=c[b+8>>2]|0;+gc[c[(c[p>>2]|0)+12>>2]&3](p,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);i=r;return}p=c[b+16>>2]|0;a:do if((p|0)>0){k=c[b+12>>2]|0;j=0;while(1){n=k+(j<<2)|0;m=c[n>>2]|0;l=c[(c[m+28>>2]|0)+208>>2]|0;if((l|0)<=-1)l=c[(c[m+32>>2]|0)+208>>2]|0;m=j+1|0;if((l|0)==(h|0)){m=j;break a}if((m|0)<(p|0))j=m;else{n=0;break}}}else{m=0;n=0}while(0);if((m|0)<(p|0)){o=c[b+12>>2]|0;l=0;do{j=c[o+(m<<2)>>2]|0;k=c[(c[j+28>>2]|0)+208>>2]|0;if((k|0)<=-1)k=c[(c[j+32>>2]|0)+208>>2]|0;l=((k|0)==(h|0)&1)+l|0;m=m+1|0}while((m|0)!=(p|0));q=l}else q=0;j=c[b+4>>2]|0;if((c[j+72>>2]|0)<2){p=c[b+8>>2]|0;+gc[c[(c[p>>2]|0)+12>>2]&3](p,d,e,f,g,n,q,j,c[b+20>>2]|0,c[b+24>>2]|0);i=r;return}if((e|0)>0){m=c[b+32>>2]|0;l=c[b+36>>2]|0;o=0;while(1){p=d+(o<<2)|0;if((m|0)==(l|0)){h=(l|0)==0?1:l<<1;if((l|0)<(h|0)){if(!h){m=l;l=0}else{c[5108]=(c[5108]|0)+1;m=QE((h<<2|3)+16|0)|0;if(!m)l=0;else{c[(m+19&-16)+-4>>2]=m;l=m+19&-16}m=c[b+32>>2]|0}if((m|0)>0){j=0;do{k=l+(j<<2)|0;if(k)c[k>>2]=c[(c[b+40>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(m|0))}k=c[b+40>>2]|0;if(k){if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0);m=c[b+32>>2]|0}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=l;c[b+36>>2]=h;k=h}else{m=l;k=l}}else k=l;l=(c[b+40>>2]|0)+(m<<2)|0;if(l)c[l>>2]=c[p>>2];m=m+1|0;c[b+32>>2]=m;o=o+1|0;if((o|0)==(e|0))break;else l=k}}if((g|0)>0){k=c[b+52>>2]|0;l=c[b+56>>2]|0;h=0;do{p=f+(h<<2)|0;if((k|0)==(l|0)){o=(l|0)==0?1:l<<1;if((l|0)<(o|0)){if(!o)m=0;else{c[5108]=(c[5108]|0)+1;l=QE((o<<2|3)+16|0)|0;if(!l)m=0;else{c[(l+19&-16)+-4>>2]=l;m=l+19&-16}l=c[b+52>>2]|0}if((l|0)>0){j=0;do{k=m+(j<<2)|0;if(k)c[k>>2]=c[(c[b+60>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(l|0))}k=c[b+60>>2]|0;if(k){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0);l=c[b+52>>2]|0}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=m;c[b+56>>2]=o;k=l;l=o}else k=l}j=(c[b+60>>2]|0)+(k<<2)|0;if(j)c[j>>2]=c[p>>2];k=k+1|0;c[b+52>>2]=k;h=h+1|0}while((h|0)!=(g|0))}if((q|0)>0){j=c[b+72>>2]|0;k=c[b+76>>2]|0;p=0;while(1){h=n+(p<<2)|0;if((j|0)==(k|0)){o=(k|0)==0?1:k<<1;if((k|0)<(o|0)){if(!o){j=k;k=0}else{c[5108]=(c[5108]|0)+1;j=QE((o<<2|3)+16|0)|0;if(!j)k=0;else{c[(j+19&-16)+-4>>2]=j;k=j+19&-16}j=c[b+72>>2]|0}if((j|0)>0){m=0;do{l=k+(m<<2)|0;if(l)c[l>>2]=c[(c[b+80>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(j|0))}l=c[b+80>>2]|0;if(l){if(a[b+84>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0);j=c[b+72>>2]|0}c[b+80>>2]=0}a[b+84>>0]=1;c[b+80>>2]=k;c[b+76>>2]=o;l=o}else{j=k;l=k}}else l=k;k=(c[b+80>>2]|0)+(j<<2)|0;if(k)c[k>>2]=c[h>>2];j=j+1|0;c[b+72>>2]=j;p=p+1|0;if((p|0)==(q|0))break;else k=l}}else j=c[b+72>>2]|0;if(((c[b+52>>2]|0)+j|0)<=(c[(c[b+4>>2]|0)+72>>2]|0)){i=r;return}nq(b);i=r;return}function xq(a){a=a|0;var b=0;b=i;yq(a);RE(a);i=b;return}function yq(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=2376;d=c[b+80>>2]|0;if(d){if(a[b+84>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+36|0;c[d>>2]=0;i=e;return}if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+36|0;c[d>>2]=0;i=e;return}function zq(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;k=i;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]=2504;c[b+48>>2]=c[f+0>>2];c[b+52>>2]=c[f+4>>2];c[b+56>>2]=c[f+8>>2];c[b+60>>2]=c[f+12>>2];c[b+64>>2]=c[f+16>>2];c[b+68>>2]=c[f+20>>2];c[b+72>>2]=c[f+24>>2];c[b+76>>2]=c[f+28>>2];c[b+80>>2]=c[f+32>>2];c[b+84>>2]=c[f+36>>2];c[b+88>>2]=c[f+40>>2];c[b+92>>2]=c[f+44>>2];c[b+96>>2]=c[f+48>>2];c[b+100>>2]=c[f+52>>2];c[b+104>>2]=c[f+56>>2];c[b+108>>2]=c[f+60>>2];c[b+112>>2]=c[h+0>>2];c[b+116>>2]=c[h+4>>2];c[b+120>>2]=c[h+8>>2];c[b+124>>2]=c[h+12>>2];c[b+128>>2]=c[h+16>>2];c[b+132>>2]=c[h+20>>2];c[b+136>>2]=c[h+24>>2];c[b+140>>2]=c[h+28>>2];c[b+144>>2]=c[h+32>>2];c[b+148>>2]=c[h+36>>2];c[b+152>>2]=c[h+40>>2];c[b+156>>2]=c[h+44>>2];c[b+160>>2]=c[h+48>>2];c[b+164>>2]=c[h+52>>2];c[b+168>>2]=c[h+56>>2];c[b+172>>2]=c[h+60>>2];h=b+680|0;f=h+48|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(f|0));c[b+740>>2]=0;c[b+744>>2]=0;c[b+748>>2]=0;c[b+752>>2]=0;g[b+756>>2]=.20000000298023224;g[b+760>>2]=.20000000298023224;g[b+764>>2]=.20000000298023224;c[b+768>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;c[b+780>>2]=0;c[b+784>>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]=j&1;a[b+1301>>0]=1;c[b+1304>>2]=0;a[b+1308>>0]=0;Bq(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);i=k;return}function Aq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,j=0;j=i;i=i+64|0;ar();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]=2960;c[b+32>>2]=d;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=2504;c[b+112>>2]=c[e+0>>2];c[b+116>>2]=c[e+4>>2];c[b+120>>2]=c[e+8>>2];c[b+124>>2]=c[e+12>>2];c[b+128>>2]=c[e+16>>2];c[b+132>>2]=c[e+20>>2];c[b+136>>2]=c[e+24>>2];c[b+140>>2]=c[e+28>>2];c[b+144>>2]=c[e+32>>2];c[b+148>>2]=c[e+36>>2];c[b+152>>2]=c[e+40>>2];c[b+156>>2]=c[e+44>>2];c[b+160>>2]=c[e+48>>2];c[b+164>>2]=c[e+52>>2];c[b+168>>2]=c[e+56>>2];c[b+172>>2]=c[e+60>>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+744>>2]=0;c[b+748>>2]=0;c[b+752>>2]=0;g[b+756>>2]=.20000000298023224;g[b+760>>2]=.20000000298023224;g[b+764>>2]=.20000000298023224;c[b+768>>2]=0;c[b+772>>2]=0;c[b+776>>2]=0;c[b+780>>2]=0;c[b+784>>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;ip(j,d+4|0,b+112|0);c[b+48>>2]=c[j+0>>2];c[b+52>>2]=c[j+4>>2];c[b+56>>2]=c[j+8>>2];c[b+60>>2]=c[j+12>>2];c[b+64>>2]=c[j+16>>2];c[b+68>>2]=c[j+20>>2];c[b+72>>2]=c[j+24>>2];c[b+76>>2]=c[j+28>>2];c[b+80>>2]=c[j+32>>2];c[b+84>>2]=c[j+36>>2];c[b+88>>2]=c[j+40>>2];c[b+92>>2]=c[j+44>>2];c[b+96>>2]=c[j+48>>2];c[b+100>>2]=c[j+52>>2];c[b+104>>2]=c[j+56>>2];c[b+108>>2]=c[j+60>>2];Bq(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);i=j;return}function Bq(b,d,e){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;C=i;i=i+128|0;ip(C+64|0,d,b+48|0);c[b+1064>>2]=c[C+64>>2];c[b+1068>>2]=c[C+68>>2];c[b+1072>>2]=c[C+72>>2];c[b+1076>>2]=c[C+76>>2];c[b+1080>>2]=c[C+80>>2];c[b+1084>>2]=c[C+84>>2];c[b+1088>>2]=c[C+88>>2];c[b+1092>>2]=c[C+92>>2];c[b+1096>>2]=c[C+96>>2];c[b+1100>>2]=c[C+100>>2];c[b+1104>>2]=c[C+104>>2];c[b+1108>>2]=c[C+108>>2];c[b+1112>>2]=c[C+112>>2];c[b+1116>>2]=c[C+116>>2];c[b+1120>>2]=c[C+120>>2];c[b+1124>>2]=c[C+124>>2];ip(C,e,b+112|0);c[b+1128>>2]=c[C+0>>2];c[b+1132>>2]=c[C+4>>2];c[b+1136>>2]=c[C+8>>2];c[b+1140>>2]=c[C+12>>2];c[b+1144>>2]=c[C+16>>2];c[b+1148>>2]=c[C+20>>2];c[b+1152>>2]=c[C+24>>2];c[b+1156>>2]=c[C+28>>2];c[b+1160>>2]=c[C+32>>2];c[b+1164>>2]=c[C+36>>2];c[b+1168>>2]=c[C+40>>2];c[b+1172>>2]=c[C+44>>2];c[b+1176>>2]=c[C+48>>2];c[b+1180>>2]=c[C+52>>2];c[b+1184>>2]=c[C+56>>2];c[b+1188>>2]=c[C+60>>2];f=+g[b+1176>>2]-+g[b+1112>>2];h=+g[b+1180>>2]-+g[b+1116>>2];l=+g[b+1184>>2]-+g[b+1120>>2];w=+g[b+1084>>2];x=+g[b+1104>>2];y=+g[b+1088>>2];z=+g[b+1100>>2];r=+g[b+1096>>2];s=+g[b+1080>>2];t=+g[b+1064>>2];u=+g[b+1068>>2];v=+g[b+1072>>2];A=1.0/((w*x-y*z)*t+u*(y*r-x*s)+(z*s-w*r)*v);B=(z*s-w*r)*A;j=(w*x-y*z)*A*f+A*(z*v-x*u)*h+A*(y*u-w*v)*l;k=f*((y*r-x*s)*A)+h*(A*(x*t-r*v))+A*(s*v-y*t)*l;l=f*B+A*(r*u-z*t)*h+A*(w*t-s*u)*l;g[b+1256>>2]=j;g[b+1260>>2]=k;g[b+1264>>2]=l;g[b+1268>>2]=0.0;g[b+840>>2]=j;h=+g[b+680>>2];f=+g[b+696>>2];do if(!(h>f)){if(h>j){c[b+856>>2]=2;g[b+824>>2]=j-h;break}if(f>2]=1;g[b+824>>2]=j-f;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]=k;h=+g[b+684>>2];f=+g[b+700>>2];do if(!(h>f)){if(h>k){c[b+860>>2]=2;g[b+828>>2]=k-h;break}if(f>2]=1;g[b+828>>2]=k-f;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]=l;h=+g[b+688>>2];f=+g[b+704>>2];do if(!(h>f)){if(h>l){c[b+864>>2]=2;g[b+832>>2]=l-h;break}if(f>2]=1;g[b+832>>2]=l-f;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);l=+g[b+1128>>2];k=+g[b+1144>>2];j=+g[b+1160>>2];h=+g[b+1132>>2];f=+g[b+1148>>2];m=+g[b+1164>>2];o=(w*x-y*z)*A*h+A*(z*v-x*u)*f+A*(y*u-w*v)*m;q=(y*r-x*s)*A*h+A*(x*t-r*v)*f+A*(s*v-y*t)*m;p=l*B+A*(r*u-z*t)*k+A*(w*t-s*u)*j;n=B*+g[b+1136>>2]+A*(r*u-z*t)*+g[b+1152>>2]+A*(w*t-s*u)*+g[b+1168>>2];do if(p<1.0)if(p>-1.0){g[b+1192>>2]=+X(+-(B*h+A*(r*u-z*t)*f+A*(w*t-s*u)*m),+n);p=p<-1.0?-1.0:p;g[b+1196>>2]=+V(+(p>1.0?1.0:p));g[b+1200>>2]=+X(+-(l*((y*r-x*s)*A)+k*(A*(x*t-r*v))+A*(s*v-y*t)*j),+(l*((w*x-y*z)*A)+k*(A*(z*v-x*u))+A*(y*u-w*v)*j));break}else{g[b+1192>>2]=-+X(+o,+q);g[b+1196>>2]=-1.5707963705062866;g[b+1200>>2]=0.0;break}else{g[b+1192>>2]=+X(+o,+q);g[b+1196>>2]=1.5707963705062866;g[b+1200>>2]=0.0}while(0);g[b+1236>>2]=0.0;f=x*(l*x-j*v)-y*(k*v-l*y);q=v*(k*v-l*y)-x*(j*y-k*x);h=y*(j*y-k*x)-v*(l*x-j*v);g[b+1220>>2]=0.0;m=k*(k*v-l*y)-j*(l*x-j*v);n=j*(j*y-k*x)-l*(k*v-l*y);o=l*(l*x-j*v)-k*(j*y-k*x);g[b+1252>>2]=0.0;p=1.0/+P(+(f*f+q*q+h*h));g[b+1208>>2]=f*p;g[b+1212>>2]=q*p;g[b+1216>>2]=h*p;p=1.0/+P(+((j*y-k*x)*(j*y-k*x)+(l*x-j*v)*(l*x-j*v)+(k*v-l*y)*(k*v-l*y)));g[b+1224>>2]=(j*y-k*x)*p;g[b+1228>>2]=(l*x-j*v)*p;g[b+1232>>2]=(k*v-l*y)*p;p=1.0/+P(+(m*m+n*n+o*o));g[b+1240>>2]=m*p;g[b+1244>>2]=n*p;g[b+1248>>2]=o*p;if(!(a[b+1301>>0]|0)){i=C;return}f=+g[(c[b+28>>2]|0)+344>>2];h=+g[(c[b+32>>2]|0)+344>>2];if(f<1.1920928955078125e-07)e=1;else e=h<1.1920928955078125e-07&1;a[b+1280>>0]=e;if(f+h>0.0)f=h/(f+h);else f=.5;g[b+1272>>2]=f;g[b+1276>>2]=1.0-f;i=C;return} +function aD(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,q=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,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0,da=0;aa=i;i=i+64|0;a[aa+48>>0]=1;c[aa+44>>2]=0;c[aa+36>>2]=0;c[aa+40>>2]=0;m=c[f+4>>2]|0;if((m|0)>0){c[5108]=(c[5108]|0)+1;l=QE((m<<4|3)+16|0)|0;if(!l)l=0;else{c[(l+19&-16)+-4>>2]=l;l=l+19&-16}a[aa+48>>0]=1;c[aa+44>>2]=l;c[aa+40>>2]=m}else l=0;q=c[d+28>>2]|0;if((q|0)>0){_=c[d+36>>2]|0;u=+g[e>>2];t=+g[e+4>>2];n=+g[e+8>>2];D=+g[e+16>>2];E=+g[e+20>>2];F=+g[e+24>>2];G=+g[e+32>>2];r=+g[e+36>>2];s=+g[e+40>>2];w=+g[b>>2];x=+g[b+4>>2];y=+g[b+8>>2];$=-1;C=3402823466385288598117041.0e14;o=0;while(1){z=+g[_+(o*36|0)+20>>2];A=+g[_+(o*36|0)+24>>2];B=+g[_+(o*36|0)+28>>2];p=(z*u+A*t+B*n)*w+(z*D+A*E+B*F)*x+(z*G+A*r+B*s)*y=0){R=c[_+($*36|0)+4>>2]|0;if((R|0)>0){S=_+($*36|0)+12|0;U=_+($*36|0)+20|0;p=_+($*36|0)+24|0;Z=_+($*36|0)+28|0;B=D;w=E;x=F;C=G;Q=0;P=f;T=aa+32|0;while(1){L=c[S>>2]|0;v=c[L+(Q<<2)>>2]|0;q=c[d+16>>2]|0;Q=Q+1|0;L=c[L+(((Q|0)==(R|0)?0:Q)<<2)>>2]|0;F=+g[q+(v<<4)>>2];G=F-+g[q+(L<<4)>>2];E=+g[q+(v<<4)+4>>2];ba=E-+g[q+(L<<4)+4>>2];D=+g[q+(v<<4)+8>>2];z=D-+g[q+(L<<4)+8>>2];O=G*u+ba*t+z*n;M=G*B+ba*w+z*x;z=G*C+ba*r+z*s;ba=+g[U>>2];G=+g[p>>2];y=+g[Z>>2];N=u*ba+t*G+n*y;A=B*ba+w*G+x*y;y=C*ba+r*G+s*y;B=(F*u+E*t+D*n+ +g[e+48>>2])*-(M*y-z*A)+(F*B+E*w+D*x+ +g[e+52>>2])*-(z*N-O*y)+(F*C+E*r+D*s+ +g[e+56>>2])*-(O*A-M*N);L=P+4|0;q=c[L>>2]|0;if((q|0)>=2){H=P+12|0;o=c[H>>2]|0;D=+g[o+(q+-1<<4)>>2];F=+g[o+(q+-1<<4)+4>>2];G=+g[o+(q+-1<<4)+8>>2];K=T+4|0;l=T+8|0;I=T+12|0;J=T+16|0;E=D*-(M*y-z*A)+F*-(z*N-O*y)+G*-(O*A-M*N)-B;v=0;while(1){x=+g[o+(v<<4)>>2];s=+g[o+(v<<4)+4>>2];r=+g[o+(v<<4)+8>>2];C=+g[o+(v<<4)+12>>2];n=x*-(M*y-z*A)+s*-(z*N-O*y)+r*-(O*A-M*N)-B;do if(E<0.0)if(n<0.0){f=c[K>>2]|0;if((f|0)==(c[l>>2]|0)?(W=(f|0)==0?1:f<<1,(f|0)<(W|0)):0){if(!W)o=0;else{c[5108]=(c[5108]|0)+1;f=QE((W<<4|3)+16|0)|0;if(!f)o=0;else{c[(f+19&-16)+-4>>2]=f;o=f+19&-16}f=c[K>>2]|0}if((f|0)>0){m=0;do{ca=o+(m<<4)|0;da=(c[I>>2]|0)+(m<<4)|0;c[ca+0>>2]=c[da+0>>2];c[ca+4>>2]=c[da+4>>2];c[ca+8>>2]=c[da+8>>2];c[ca+12>>2]=c[da+12>>2];m=m+1|0}while((m|0)!=(f|0))}f=c[I>>2]|0;if(f){if(a[J>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[I>>2]=0}a[J>>0]=1;c[I>>2]=o;c[l>>2]=W;f=c[K>>2]|0}o=c[I>>2]|0;g[o+(f<<4)>>2]=x;g[o+(f<<4)+4>>2]=s;g[o+(f<<4)+8>>2]=r;g[o+(f<<4)+12>>2]=C;c[K>>2]=(c[K>>2]|0)+1;break}else{w=E/(E-n);E=D+(x-D)*w;F=F+(s-F)*w;G=G+(r-G)*w;f=c[K>>2]|0;if((f|0)==(c[l>>2]|0)?(Y=(f|0)==0?1:f<<1,(f|0)<(Y|0)):0){if(!Y)o=0;else{c[5108]=(c[5108]|0)+1;f=QE((Y<<4|3)+16|0)|0;if(!f)o=0;else{c[(f+19&-16)+-4>>2]=f;o=f+19&-16}f=c[K>>2]|0}if((f|0)>0){m=0;do{ca=o+(m<<4)|0;da=(c[I>>2]|0)+(m<<4)|0;c[ca+0>>2]=c[da+0>>2];c[ca+4>>2]=c[da+4>>2];c[ca+8>>2]=c[da+8>>2];c[ca+12>>2]=c[da+12>>2];m=m+1|0}while((m|0)!=(f|0))}f=c[I>>2]|0;if(f){if(a[J>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[I>>2]=0}a[J>>0]=1;c[I>>2]=o;c[l>>2]=Y;f=c[K>>2]|0}o=c[I>>2]|0;g[o+(f<<4)>>2]=E;g[o+(f<<4)+4>>2]=F;g[o+(f<<4)+8>>2]=G;g[o+(f<<4)+12>>2]=0.0;c[K>>2]=(c[K>>2]|0)+1;break}else if(n<0.0){w=E/(E-n);E=D+(x-D)*w;F=F+(s-F)*w;G=G+(r-G)*w;f=c[K>>2]|0;if((f|0)==(c[l>>2]|0)?(X=(f|0)==0?1:f<<1,(f|0)<(X|0)):0){if(!X)o=0;else{c[5108]=(c[5108]|0)+1;f=QE((X<<4|3)+16|0)|0;if(!f)o=0;else{c[(f+19&-16)+-4>>2]=f;o=f+19&-16}f=c[K>>2]|0}if((f|0)>0){m=0;do{ca=o+(m<<4)|0;da=(c[I>>2]|0)+(m<<4)|0;c[ca+0>>2]=c[da+0>>2];c[ca+4>>2]=c[da+4>>2];c[ca+8>>2]=c[da+8>>2];c[ca+12>>2]=c[da+12>>2];m=m+1|0}while((m|0)!=(f|0))}f=c[I>>2]|0;if(f){if(a[J>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[I>>2]=0}a[J>>0]=1;c[I>>2]=o;c[l>>2]=X;f=c[K>>2]|0}o=c[I>>2]|0;g[o+(f<<4)>>2]=E;g[o+(f<<4)+4>>2]=F;g[o+(f<<4)+8>>2]=G;g[o+(f<<4)+12>>2]=0.0;f=(c[K>>2]|0)+1|0;c[K>>2]=f;if((f|0)==(c[l>>2]|0)?(V=(f|0)==0?1:f<<1,(f|0)<(V|0)):0){if(!V)o=0;else{c[5108]=(c[5108]|0)+1;f=QE((V<<4|3)+16|0)|0;if(!f)o=0;else{c[(f+19&-16)+-4>>2]=f;o=f+19&-16}f=c[K>>2]|0}if((f|0)>0){m=0;do{ca=o+(m<<4)|0;da=(c[I>>2]|0)+(m<<4)|0;c[ca+0>>2]=c[da+0>>2];c[ca+4>>2]=c[da+4>>2];c[ca+8>>2]=c[da+8>>2];c[ca+12>>2]=c[da+12>>2];m=m+1|0}while((m|0)!=(f|0))}f=c[I>>2]|0;if(f){if(a[J>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[I>>2]=0}a[J>>0]=1;c[I>>2]=o;c[l>>2]=V;f=c[K>>2]|0}o=c[I>>2]|0;g[o+(f<<4)>>2]=x;g[o+(f<<4)+4>>2]=s;g[o+(f<<4)+8>>2]=r;g[o+(f<<4)+12>>2]=C;c[K>>2]=(c[K>>2]|0)+1}while(0);f=v+1|0;if((f|0)==(q|0))break;o=c[H>>2]|0;E=n;D=x;F=s;G=r;v=f}q=c[L>>2]|0}if((q|0)<0){m=P+8|0;f=P+12|0;if((c[m>>2]|0)<0){o=c[f>>2]|0;l=P+16|0;if(o){if(a[l>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[f>>2]=0}a[l>>0]=1;c[f>>2]=0;c[m>>2]=0}do{v=(c[f>>2]|0)+(q<<4)|0;c[v+0>>2]=c[aa+16>>2];c[v+4>>2]=c[aa+20>>2];c[v+8>>2]=c[aa+24>>2];c[v+12>>2]=c[aa+28>>2];q=q+1|0}while((q|0)!=0)}c[L>>2]=0;u=+g[e>>2];t=+g[e+4>>2];n=+g[e+8>>2];B=+g[e+16>>2];w=+g[e+20>>2];x=+g[e+24>>2];C=+g[e+32>>2];r=+g[e+36>>2];s=+g[e+40>>2];if((Q|0)>=(R|0)){l=e+56|0;v=e+48|0;m=e+52|0;o=U;q=Z;f=T;break}else{v=T;T=P;P=v}}}else{B=D;w=E;x=F;C=G;l=e+56|0;v=e+48|0;m=e+52|0;o=_+($*36|0)+20|0;p=_+($*36|0)+24|0;q=_+($*36|0)+28|0}y=+g[o>>2];z=+g[p>>2];A=+g[q>>2];u=y*u+z*t+A*n;t=y*B+z*w+A*x;s=y*C+z*r+A*s;r=+g[_+($*36|0)+32>>2]-(u*+g[v>>2]+t*+g[m>>2]+s*+g[l>>2]);q=f+4|0;l=c[q>>2]|0;if((l|0)>0){p=f+12|0;o=0;do{Y=c[p>>2]|0;m=Y+(o<<4)|0;n=r+(u*+g[m>>2]+t*+g[Y+(o<<4)+4>>2]+s*+g[Y+(o<<4)+8>>2]);n=!(n<=h)?n:h;if(n<=j){c[aa+0>>2]=c[m+0>>2];c[aa+4>>2]=c[m+4>>2];c[aa+8>>2]=c[m+8>>2];c[aa+12>>2]=c[m+12>>2];oc[c[(c[k>>2]|0)+16>>2]&15](k,b,aa,n);l=c[q>>2]|0}o=o+1|0}while((o|0)<(l|0))}l=c[aa+44>>2]|0}}if(!l){i=aa;return}if(a[aa+48>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[aa+44>>2]=0;i=aa;return}function bD(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+288|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+32>>2]=(n*J+k*I+m*y)*A+(n*H+k*G+m*w)*t+(n*v+k*z+m*x)*o;g[h+36>>2]=(q*J+r*I+s*y)*A+(q*H+r*G+s*w)*t+(q*v+r*z+s*x)*o;g[h+40>>2]=(u*J+j*I+l*y)*A+(u*H+j*G+l*w)*t+(u*v+j*z+l*x)*o;g[h+44>>2]=0.0;pc[d&127](h+48|0,K,h+32|0);o=+g[h+48>>2];t=+g[h+52>>2];A=+g[h+56>>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=s*(y-x*j)+(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+16>>2]=t*(A-z*j)+(v*(y-x*j)+u*(w-l*j))+ +g[e+48>>2];g[h+20>>2]=n;g[h+24>>2]=p;g[h+28>>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;oc[c[(c[f>>2]|0)+16>>2]&15](f,h,h+16|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;g[N+292>>2]=999999984306749440.0;g[N+296>>2]=999999984306749440.0;g[N+300>>2]=999999984306749440.0;g[N+304>>2]=0.0;c[N+336>>2]=0;c[N+340>>2]=0;c[N+344>>2]=0;c[N+348>>2]=0;a[N+352>>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;D=+Zb[c[(c[N>>2]|0)+48>>2]&15](N);O=c[b+16>>2]|0;E=+Zb[c[(c[O>>2]|0)+48>>2]&15](O);O=c[b+4>>2]|0;b=c[b+8>>2]|0;c[h+200>>2]=19400;g[h+204>>2]=0.0;g[h+208>>2]=1.0;g[h+212>>2]=0.0;g[h+216>>2]=0.0;c[h+220>>2]=b;c[h+224>>2]=O;c[h+228>>2]=N;c[h+232>>2]=M;c[h+236>>2]=L;c[h+240>>2]=K;g[h+244>>2]=D;g[h+248>>2]=E;a[h+252>>0]=0;c[h+260>>2]=-1;c[h+272>>2]=1;c[h+276>>2]=1;g[h+192>>2]=999999984306749440.0;c[h+64>>2]=c[d+0>>2];c[h+68>>2]=c[d+4>>2];c[h+72>>2]=c[d+8>>2];c[h+76>>2]=c[d+12>>2];c[h+80>>2]=c[d+16>>2];c[h+84>>2]=c[d+20>>2];c[h+88>>2]=c[d+24>>2];c[h+92>>2]=c[d+28>>2];c[h+96>>2]=c[d+32>>2];c[h+100>>2]=c[d+36>>2];c[h+104>>2]=c[d+40>>2];c[h+108>>2]=c[d+44>>2];c[h+112>>2]=c[d+48>>2];c[h+116>>2]=c[d+52>>2];c[h+120>>2]=c[d+56>>2];c[h+124>>2]=c[d+60>>2];c[h+128>>2]=c[e+0>>2];c[h+132>>2]=c[e+4>>2];c[h+136>>2]=c[e+8>>2];c[h+140>>2]=c[e+12>>2];c[h+144>>2]=c[e+16>>2];c[h+148>>2]=c[e+20>>2];c[h+152>>2]=c[e+24>>2];c[h+156>>2]=c[e+28>>2];c[h+160>>2]=c[e+32>>2];c[h+164>>2]=c[e+36>>2];c[h+168>>2]=c[e+40>>2];c[h+172>>2]=c[e+44>>2];c[h+176>>2]=c[e+48>>2];c[h+180>>2]=c[e+52>>2];c[h+184>>2]=c[e+56>>2];c[h+188>>2]=c[e+60>>2];eD(h+200|0,h+64|0,f,0,0);i=h;return}}function cD(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0.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.0,x=0.0,y=0.0,z=0;z=i;i=i+304|0;w=+g[e+48>>2]-+g[d+48>>2];y=+g[e+52>>2]-+g[d+52>>2];x=+g[e+56>>2]-+g[d+56>>2];Bp(d,e,z+256|0,z+192|0);r=+g[z+192>>2];p=+g[z+256>>2]*r;q=r*+g[z+260>>2];r=r*+g[z+264>>2];g[z+176>>2]=p;g[z+180>>2]=q;g[z+184>>2]=r;g[z+188>>2]=0.0;t=+g[h+48>>2]-+g[f+48>>2];v=+g[h+52>>2]-+g[f+52>>2];u=+g[h+56>>2]-+g[f+56>>2];Bp(f,h,z+256|0,z+192|0);o=+g[z+192>>2];m=+g[z+256>>2]*o;n=o*+g[z+260>>2];o=o*+g[z+264>>2];g[z+160>>2]=m;g[z+164>>2]=n;g[z+168>>2]=o;g[z+172>>2]=0.0;h=c[b+12>>2]|0;l=+Zb[c[(c[h>>2]|0)+16>>2]&15](h);h=c[b+16>>2]|0;if(!h)k=0.0;else k=+Zb[c[(c[h>>2]|0)+16>>2]&15](h);p=l*+P(+(p*p+q*q+r*r))+k*+P(+(m*m+n*n+o*o));if(p+ +P(+((t-w)*(t-w)+(v-y)*(v-y)+(u-x)*(u-x)))==0.0){e=0;i=z;return e|0}c[z+256>>2]=19192;g[z+292>>2]=999999984306749440.0;a[z+296>>0]=0;bD(b,d,f,z+256|0);e=(a[z+296>>0]|0)==0;c[z+144>>2]=c[z+276>>2];c[z+148>>2]=c[z+280>>2];c[z+152>>2]=c[z+284>>2];c[z+156>>2]=c[z+288>>2];if(e){e=0;i=z;return e|0}k=+g[z+260>>2];l=+g[z+264>>2];o=+g[z+268>>2];if(p+((t-w)*k+(v-y)*l+(u-x)*o)<=1.1920928955078125e-07){e=0;i=z;return e|0}q=+g[z+292>>2]+ +g[j+172>>2];n=0.0;r=+g[z+272>>2];s=0;while(1){if(!(q>1.0000000474974513e-03)){h=18;break}h=c[j+168>>2]|0;if(h){e=c[(c[h>>2]|0)+20>>2]|0;g[z+128>>2]=1.0;g[z+132>>2]=1.0;g[z+136>>2]=1.0;g[z+140>>2]=0.0;Ob[e&7](h,z+144|0,.20000000298023224,z+128|0)}k=p+((u-x)*o+((v-y)*l+(t-w)*k));if(k<=1.1920928955078125e-07){e=0;h=19;break}k=n+q/k;if(!(!(k<0.0)&!(k>1.0)&!(k<=n))){e=0;h=19;break}Ap(d,w,y,x,z+176|0,k,z+192|0);Ap(f,t,v,u,z+160|0,k,z+64|0);h=c[j+168>>2]|0;if(h){e=c[(c[h>>2]|0)+20>>2]|0;g[z+48>>2]=1.0;g[z+52>>2]=0.0;g[z+56>>2]=0.0;g[z+60>>2]=0.0;Ob[e&7](h,z+240|0,.20000000298023224,z+48|0)}Ib[c[c[j>>2]>>2]&31](j,k);c[z>>2]=19192;g[z+36>>2]=999999984306749440.0;a[z+40>>0]=0;bD(b,z+192|0,z+64|0,z);if(!(a[z+40>>0]|0)){h=16;break}q=+g[z+36>>2]+ +g[j+172>>2];c[z+144>>2]=c[z+20>>2];c[z+148>>2]=c[z+24>>2];c[z+152>>2]=c[z+28>>2];c[z+156>>2]=c[z+32>>2];e=s+1|0;if((s|0)>63){h=17;break}else{n=k;k=+g[z+4>>2];r=+g[z+16>>2];l=+g[z+8>>2];o=+g[z+12>>2];s=e}}if((h|0)==16){pc[c[(c[j>>2]|0)+8>>2]&127](j,-1,s);e=0;i=z;return e|0}else if((h|0)==17){pc[c[(c[j>>2]|0)+8>>2]&127](j,-2,e);e=0;i=z;return e|0}else if((h|0)==18){g[j+164>>2]=n;g[j+132>>2]=k;g[j+136>>2]=l;g[j+140>>2]=o;g[j+144>>2]=r;c[j+148>>2]=c[z+144>>2];c[j+152>>2]=c[z+148>>2];c[j+156>>2]=c[z+152>>2];c[j+160>>2]=c[z+156>>2];e=1;i=z;return e|0}else if((h|0)==19){i=z;return e|0}return 0}function dD(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function eD(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,p=0.0,q=0.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,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,N=0,O=0.0,Q=0.0,R=0.0,S=0;N=i;i=i+288|0;g[b+56>>2]=0.0;L=N+276|0;M=N+280|0;c[N+272>>2]=0;c[N+276>>2]=0;c[N+280>>2]=0;c[N+284>>2]=0;c[N+208>>2]=c[d+0>>2];c[N+212>>2]=c[d+4>>2];c[N+216>>2]=c[d+8>>2];c[N+220>>2]=c[d+12>>2];c[N+224>>2]=c[d+16>>2];c[N+228>>2]=c[d+20>>2];c[N+232>>2]=c[d+24>>2];c[N+236>>2]=c[d+28>>2];c[N+240>>2]=c[d+32>>2];c[N+244>>2]=c[d+36>>2];c[N+248>>2]=c[d+40>>2];c[N+252>>2]=c[d+44>>2];o=N+256|0;c[o+0>>2]=c[d+48>>2];c[o+4>>2]=c[d+52>>2];c[o+8>>2]=c[d+56>>2];c[o+12>>2]=c[d+60>>2];c[N+144>>2]=c[d+64>>2];c[N+148>>2]=c[d+68>>2];c[N+152>>2]=c[d+72>>2];c[N+156>>2]=c[d+76>>2];c[N+160>>2]=c[d+80>>2];c[N+164>>2]=c[d+84>>2];c[N+168>>2]=c[d+88>>2];c[N+172>>2]=c[d+92>>2];c[N+176>>2]=c[d+96>>2];c[N+180>>2]=c[d+100>>2];c[N+184>>2]=c[d+104>>2];c[N+188>>2]=c[d+108>>2];u=N+192|0;c[u+0>>2]=c[d+112>>2];c[u+4>>2]=c[d+116>>2];c[u+8>>2]=c[d+120>>2];c[u+12>>2]=c[d+124>>2];F=+g[o>>2];G=+g[u>>2];H=+g[N+260>>2];I=+g[N+196>>2];J=+g[N+264>>2];K=+g[N+200>>2];g[o>>2]=F-(F+G)*.5;g[N+260>>2]=H-(H+I)*.5;g[N+264>>2]=J-(J+K)*.5;g[u>>2]=G-(F+G)*.5;g[N+196>>2]=I-(H+I)*.5;g[N+200>>2]=K-(J+K)*.5;if(((c[(c[b+28>>2]|0)+4>>2]|0)+-17|0)>>>0<2)h=((c[(c[b+32>>2]|0)+4>>2]|0)+-17|0)>>>0<2;else h=0;D=+g[b+44>>2];E=+g[b+48>>2];c[4846]=(c[4846]|0)+1;u=(a[b+52>>0]|0)==0;E=u?E:0.0;c[b+64>>2]=0;g[b+4>>2]=0.0;g[b+8>>2]=1.0;g[b+12>>2]=0.0;g[b+16>>2]=0.0;c[b+68>>2]=0;c[b+60>>2]=-1;D=(u?D:0.0)+E;u=c[b+24>>2]|0;a[u+312>>0]=0;c[u>>2]=0;a[u+356>>0]=1;g[u+292>>2]=999999984306749440.0;g[u+296>>2]=999999984306749440.0;g[u+300>>2]=999999984306749440.0;g[u+304>>2]=0.0;c[u+336>>2]=0;c[u+340>>2]=0;c[u+344>>2]=0;c[u+348>>2]=0;a[u+352>>0]=0;a[u+332>>0]=a[u+332>>0]&-16;k=+g[b+4>>2];j=+g[b+8>>2];l=+g[b+12>>2];a:do if(h){m=j;j=999999984306749440.0;while(1){r=-k;n=-m;p=-l;s=+g[d+4>>2]*r+ +g[d+20>>2]*n+ +g[d+36>>2]*p;B=+g[d+8>>2]*r+ +g[d+24>>2]*n+ +g[d+40>>2]*p;g[N+128>>2]=+g[d>>2]*r+ +g[d+16>>2]*n+ +g[d+32>>2]*p;g[N+132>>2]=s;g[N+136>>2]=B;g[N+140>>2]=0.0;B=k*+g[d+68>>2]+m*+g[d+84>>2]+l*+g[d+100>>2];s=k*+g[d+72>>2]+m*+g[d+88>>2]+l*+g[d+104>>2];g[N+112>>2]=+g[d+64>>2]*k+ +g[d+80>>2]*m+ +g[d+96>>2]*l;g[N+116>>2]=B;g[N+120>>2]=s;g[N+124>>2]=0.0;By(N+96|0,c[b+28>>2]|0,N+128|0);By(N+80|0,c[b+32>>2]|0,N+112|0);s=+g[N+96>>2];B=+g[N+100>>2];m=+g[N+104>>2];p=s*+g[N+208>>2]+B*+g[N+212>>2]+m*+g[N+216>>2]+ +g[N+256>>2];m=s*+g[N+224>>2]+B*+g[N+228>>2]+m*+g[N+232>>2]+ +g[N+260>>2];B=+g[N+80>>2];s=+g[N+84>>2];n=+g[N+88>>2];r=B*+g[N+144>>2]+s*+g[N+148>>2]+n*+g[N+152>>2]+ +g[N+192>>2];n=B*+g[N+160>>2]+s*+g[N+164>>2]+n*+g[N+168>>2]+ +g[N+196>>2];s=+g[b+4>>2]*(p-r)+ +g[b+8>>2]*(m-n)+ +g[b+12>>2]*0.0;if(s>0.0?s*s>j*+g[d+128>>2]:0){S=22;break a}t=c[b+24>>2]|0;u=c[t>>2]|0;if((u|0)>0){q=+g[t+308>>2];o=0;h=0;do{z=p-r-+g[t+(h<<4)+4>>2];A=m-n-+g[t+(h<<4)+8>>2];B=0.0-+g[t+(h<<4)+12>>2];o=o|z*z+A*A+B*B<=q;h=h+1|0}while((h|0)!=(u|0))}else o=0;if((+g[t+304>>2]==0.0?+g[t+300>>2]==0.0:0)?m-n==+g[t+296>>2]:0)h=p-r==+g[t+292>>2];else h=0;if(h|o){S=31;break a}k=j-s;if(k<=j*9.999999974752427e-07){S=33;break a}g[t+292>>2]=p-r;g[t+296>>2]=m-n;g[t+300>>2]=0.0;g[t+304>>2]=0.0;a[t+356>>0]=1;g[t+(u<<4)+4>>2]=p-r;g[t+(u<<4)+8>>2]=m-n;g[t+(u<<4)+12>>2]=0.0;g[t+(u<<4)+16>>2]=0.0;o=c[t>>2]|0;g[t+(o<<4)+84>>2]=p;g[t+(o<<4)+88>>2]=m;g[t+(o<<4)+92>>2]=0.0;g[t+(o<<4)+96>>2]=0.0;o=c[t>>2]|0;g[t+(o<<4)+164>>2]=r;g[t+(o<<4)+168>>2]=n;g[t+(o<<4)+172>>2]=0.0;g[t+(o<<4)+176>>2]=0.0;c[t>>2]=(c[t>>2]|0)+1;o=c[b+24>>2]|0;u=qD(o)|0;k=+g[o+276>>2];m=+g[o+280>>2];l=+g[o+284>>2];n=+g[o+288>>2];if(!u){S=35;break a}p=j;j=k*k+m*m+l*l;if(j<9.999999974752427e-07){j=p;S=37;break a}if(p-j<=p*1.1920928955078125e-07){S=39;break a}g[b+4>>2]=k;g[b+8>>2]=m;g[b+12>>2]=l;g[b+16>>2]=n;u=c[b+64>>2]|0;c[b+64>>2]=u+1;if((u|0)>1e3){B=0.0;o=0;m=0.0;A=0.0;q=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){S=42;break}}}else{m=j;j=999999984306749440.0;while(1){w=-k;x=-m;v=-l;z=+g[d+4>>2]*w+ +g[d+20>>2]*x+ +g[d+36>>2]*v;B=+g[d+8>>2]*w+ +g[d+24>>2]*x+ +g[d+40>>2]*v;g[N+128>>2]=+g[d>>2]*w+ +g[d+16>>2]*x+ +g[d+32>>2]*v;g[N+132>>2]=z;g[N+136>>2]=B;g[N+140>>2]=0.0;B=k*+g[d+68>>2]+m*+g[d+84>>2]+l*+g[d+100>>2];z=k*+g[d+72>>2]+m*+g[d+88>>2]+l*+g[d+104>>2];g[N+112>>2]=+g[d+64>>2]*k+ +g[d+80>>2]*m+ +g[d+96>>2]*l;g[N+116>>2]=B;g[N+120>>2]=z;g[N+124>>2]=0.0;By(N+96|0,c[b+28>>2]|0,N+128|0);By(N+80|0,c[b+32>>2]|0,N+112|0);z=+g[N+96>>2];B=+g[N+100>>2];v=+g[N+104>>2];x=z*+g[N+208>>2]+B*+g[N+212>>2]+v*+g[N+216>>2]+ +g[N+256>>2];m=z*+g[N+224>>2]+B*+g[N+228>>2]+v*+g[N+232>>2]+ +g[N+260>>2];v=z*+g[N+240>>2]+B*+g[N+244>>2]+v*+g[N+248>>2]+ +g[N+264>>2];B=+g[N+80>>2];z=+g[N+84>>2];w=+g[N+88>>2];y=B*+g[N+144>>2]+z*+g[N+148>>2]+w*+g[N+152>>2]+ +g[N+192>>2];l=B*+g[N+160>>2]+z*+g[N+164>>2]+w*+g[N+168>>2]+ +g[N+196>>2];w=B*+g[N+176>>2]+z*+g[N+180>>2]+w*+g[N+184>>2]+ +g[N+200>>2];z=+g[b+4>>2]*(x-y)+ +g[b+8>>2]*(m-l)+ +g[b+12>>2]*(v-w);if(z>0.0?z*z>j*+g[d+128>>2]:0){S=22;break a}u=c[b+24>>2]|0;t=c[u>>2]|0;if((t|0)>0){q=+g[u+308>>2];h=0;o=0;do{k=x-y-+g[u+(o<<4)+4>>2];A=m-l-+g[u+(o<<4)+8>>2];B=v-w-+g[u+(o<<4)+12>>2];h=h|k*k+A*A+B*B<=q;o=o+1|0}while((o|0)!=(t|0))}else h=0;if((+g[u+304>>2]==0.0?v-w==+g[u+300>>2]:0)?m-l==+g[u+296>>2]:0)o=x-y==+g[u+292>>2];else o=0;if(o|h){S=31;break a}k=j-z;if(k<=j*9.999999974752427e-07){S=33;break a}g[u+292>>2]=x-y;g[u+296>>2]=m-l;g[u+300>>2]=v-w;g[u+304>>2]=0.0;a[u+356>>0]=1;g[u+(t<<4)+4>>2]=x-y;g[u+(t<<4)+8>>2]=m-l;g[u+(t<<4)+12>>2]=v-w;g[u+(t<<4)+16>>2]=0.0;o=c[u>>2]|0;g[u+(o<<4)+84>>2]=x;g[u+(o<<4)+88>>2]=m;g[u+(o<<4)+92>>2]=v;g[u+(o<<4)+96>>2]=0.0;o=c[u>>2]|0;g[u+(o<<4)+164>>2]=y;g[u+(o<<4)+168>>2]=l;g[u+(o<<4)+172>>2]=w;g[u+(o<<4)+176>>2]=0.0;c[u>>2]=(c[u>>2]|0)+1;o=c[b+24>>2]|0;u=qD(o)|0;k=+g[o+276>>2];m=+g[o+280>>2];l=+g[o+284>>2];n=+g[o+288>>2];if(!u){S=35;break a}p=j;j=k*k+m*m+l*l;if(j<9.999999974752427e-07){j=p;S=37;break a}if(p-j<=p*1.1920928955078125e-07){S=39;break a}g[b+4>>2]=k;g[b+8>>2]=m;g[b+12>>2]=l;g[b+16>>2]=n;u=c[b+64>>2]|0;c[b+64>>2]=u+1;if((u|0)>1e3){B=0.0;o=0;m=0.0;A=0.0;q=0.0;break a}if((c[c[b+24>>2]>>2]|0)==4){S=42;break}}}while(0);if((S|0)==22){c[b+68>>2]=10;S=43}else if((S|0)==31){c[b+68>>2]=1;S=43}else if((S|0)==33){c[b+68>>2]=!(k<=0.0)?11:2;S=43}else if((S|0)==35){c[b+68>>2]=3;S=43}else if((S|0)==37){g[b+4>>2]=k;g[b+8>>2]=m;g[b+12>>2]=l;g[b+16>>2]=n;c[b+68>>2]=6;S=43}else if((S|0)==39){c[b+68>>2]=12;S=43}else if((S|0)==42){c[b+68>>2]=13;B=0.0;o=0;m=0.0;A=0.0;q=0.0}do if((S|0)==43){u=c[b+24>>2]|0;qD(u)|0;m=+g[u+260>>2];k=+g[u+264>>2];q=+g[u+268>>2];c[N+272>>2]=c[b+4>>2];c[N+276>>2]=c[b+8>>2];c[N+280>>2]=c[b+12>>2];c[N+284>>2]=c[b+16>>2];n=+g[b+4>>2];l=+g[b+8>>2];p=+g[b+12>>2];if(n*n+l*l+p*p<.0001)c[b+68>>2]=5;if(n*n+l*l+p*p>1.4210854715202004e-14){B=1.0/+P(+(n*n+l*l+p*p));g[N+272>>2]=B*+g[N+272>>2];g[L>>2]=B*+g[L>>2];g[M>>2]=B*+g[M>>2];z=E/+P(+j);c[b+60>>2]=1;B=1.0/B-D;o=1;m=z*n+m;A=z*l+k;q=z*p+q;break}else{c[b+60>>2]=2;B=0.0;o=0;A=k;break}}while(0);if(((c[b+72>>2]|0)!=0?(c[b+20>>2]|0)!=0:0)?(c[b+68>>2]|0)!=0:0)h=D+B<.01;else h=0;u=o^1;do if(h|u?(C=c[b+20>>2]|0,(C|0)!=0):0){c[4844]=(c[4844]|0)+1;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;if(!(Mb[c[(c[C>>2]|0)+8>>2]&3](C,c[b+24>>2]|0,c[b+28>>2]|0,c[b+32>>2]|0,N+208|0,N+144|0,b+4|0,N+64|0,N+48|0,f)|0)){n=+g[b+4>>2];k=+g[b+8>>2];r=+g[b+12>>2];if(!(n*n+k*k+r*r>0.0)){S=66;break}l=+g[N+48>>2];y=+g[N+64>>2]-l;j=+g[N+52>>2];z=+g[N+68>>2]-j;s=+g[N+56>>2];p=+g[N+72>>2]-s;p=+P(+(y*y+z*z+p*p))-D;if(p>2]=c[b+4>>2];c[N+276>>2]=c[b+8>>2];c[N+280>>2]=c[b+12>>2];c[N+284>>2]=c[b+16>>2];A=+g[N+272>>2];B=+g[L>>2];D=+g[M>>2];m=1.0/+P(+(A*A+B*B+D*D));g[N+272>>2]=A*m;g[L>>2]=B*m;g[M>>2]=D*m;c[b+60>>2]=6;m=E*n+l;k=E*k+j;j=E*r+s;break}c[b+60>>2]=5;if(o){p=B;k=A;j=q;break}i=N;return}z=+g[N+48>>2];n=+g[N+64>>2];k=+g[N+52>>2];l=+g[N+68>>2];j=+g[N+56>>2];r=+g[N+72>>2];if(!((z-n)*(z-n)+(k-l)*(k-l)+(j-r)*(j-r)<=1.4210854715202004e-14)){p=(z-n)*(z-n)+(k-l)*(k-l)+(j-r)*(j-r);v=z-n;w=j-r;x=0.0;y=k-l}else{v=+g[b+4>>2];y=+g[b+8>>2];w=+g[b+12>>2];p=v*v+y*y+w*w;x=+g[b+16>>2]}if(!(p>1.4210854715202004e-14)){c[b+60>>2]=9;if(o){p=B;k=A;j=q;break}i=N;return}s=1.0/+P(+p);p=-+P(+((n-z)*(n-z)+(l-k)*(l-k)+(r-j)*(r-j)));if(B>p|u){g[N+272>>2]=v*s;g[L>>2]=y*s;g[M>>2]=w*s;g[N+284>>2]=x;c[b+60>>2]=3;m=z;break}c[b+60>>2]=8;if(o){p=B;k=A;j=q}else{i=N;return}}else S=66;while(0);if((S|0)==66)if(o){p=B;k=A;j=q}else{i=N;return}if(!(p<0.0)?!(p*p<+g[d+128>>2]):0){i=N;return}if((c[b+76>>2]|0)!=0?(d=c[b+28>>2]|0,tc[c[(c[d>>2]|0)+8>>2]&127](d,N+208|0,N+32|0,N+16|0),B=(+g[N+16>>2]+ +g[N+32>>2])*.5,D=(+g[N+20>>2]+ +g[N+36>>2])*.5,E=(+g[N+24>>2]+ +g[N+40>>2])*.5,d=c[b+32>>2]|0,tc[c[(c[d>>2]|0)+8>>2]&127](d,N+144|0,N+32|0,N+16|0),O=+g[N+272>>2],Q=+g[L>>2],R=+g[M>>2],(B-(+g[N+32>>2]+ +g[N+16>>2])*.5)*O+(D-(+g[N+36>>2]+ +g[N+20>>2])*.5)*Q+(E-(+g[N+40>>2]+ +g[N+24>>2])*.5)*R<0.0):0){g[N+272>>2]=-O;g[L>>2]=-Q;g[M>>2]=-R};c[b+4>>2]=c[N+272>>2];c[b+8>>2]=c[N+276>>2];c[b+12>>2]=c[N+280>>2];c[b+16>>2]=c[N+284>>2];g[b+56>>2]=p;d=c[(c[e>>2]|0)+16>>2]|0;g[N>>2]=(F+G)*.5+m;g[N+4>>2]=(H+I)*.5+k;g[N+8>>2]=(J+K)*.5+j;g[N+12>>2]=0.0;oc[d&15](e,N+272|0,N,p);i=N;return}function fD(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function gD(a){a=a|0;return}function hD(b,e,f){b=b|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,p=0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0;B=i;i=i+176|0;c[b+348>>2]=b+220;c[b+352>>2]=b+252;c[b+356>>2]=b+284;c[b+360>>2]=b+316;c[b+364>>2]=4;c[b+368>>2]=0;c[b+376>>2]=0;x=c[e+4>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=x;c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[b+16>>2]=c[e+16>>2];c[b+20>>2]=c[e+20>>2];c[b+24>>2]=c[e+24>>2];c[b+28>>2]=c[e+28>>2];c[b+32>>2]=c[e+32>>2];c[b+36>>2]=c[e+36>>2];c[b+40>>2]=c[e+40>>2];c[b+44>>2]=c[e+44>>2];c[b+48>>2]=c[e+48>>2];c[b+52>>2]=c[e+52>>2];c[b+56>>2]=c[e+56>>2];c[b+60>>2]=c[e+60>>2];c[b+64>>2]=c[e+64>>2];c[b+68>>2]=c[e+68>>2];c[b+72>>2]=c[e+72>>2];c[b+76>>2]=c[e+76>>2];c[b+80>>2]=c[e+80>>2];c[b+84>>2]=c[e+84>>2];c[b+88>>2]=c[e+88>>2];c[b+92>>2]=c[e+92>>2];c[b+96>>2]=c[e+96>>2];c[b+100>>2]=c[e+100>>2];c[b+104>>2]=c[e+104>>2];c[b+108>>2]=c[e+108>>2];c[b+112>>2]=c[e+112>>2];c[b+116>>2]=c[e+116>>2];x=d[e+120>>0]|d[e+121>>0]<<8|d[e+122>>0]<<16|d[e+123>>0]<<24;y=d[e+124>>0]|d[e+125>>0]<<8|d[e+126>>0]<<16|d[e+127>>0]<<24;a[b+120>>0]=x;a[b+121>>0]=x>>8;a[b+122>>0]=x>>16;a[b+123>>0]=x>>24;a[b+124>>0]=y;a[b+125>>0]=y>>8;a[b+126>>0]=y>>16;a[b+127>>0]=y>>24;g[b+144>>2]=0.0;c[b+180>>2]=0;c[b+128>>2]=c[f+0>>2];c[b+132>>2]=c[f+4>>2];c[b+136>>2]=c[f+8>>2];c[b+140>>2]=c[f+12>>2];l=+g[b+128>>2];m=+g[b+132>>2];n=+g[b+136>>2];if(l*l+m*m+n*n>0.0){h=-l;j=-m;k=-n}else{h=1.0;j=0.0;k=0.0}g[b+164>>2]=0.0;c[b+364>>2]=3;c[b+148>>2]=b+316;c[b+180>>2]=1;jD(b,h,j,k,b+316|0);g[b+164>>2]=1.0;x=(c[b+148>>2]|0)+16|0;c[b+128>>2]=c[x+0>>2];c[b+132>>2]=c[x+4>>2];c[b+136>>2]=c[x+8>>2];c[b+140>>2]=c[x+12>>2];c[B+72>>2]=c[x+0>>2];c[B+76>>2]=c[x+4>>2];c[B+80>>2]=c[x+8>>2];c[B+84>>2]=c[x+12>>2];c[B+56>>2]=c[x+0>>2];c[B+60>>2]=c[x+4>>2];c[B+64>>2]=c[x+8>>2];c[B+68>>2]=c[x+12>>2];c[B+40>>2]=c[x+0>>2];c[B+44>>2]=c[x+4>>2];c[B+48>>2]=c[x+8>>2];c[B+52>>2]=c[x+12>>2];c[B+24>>2]=c[x+0>>2];c[B+28>>2]=c[x+4>>2];c[B+32>>2]=c[x+8>>2];c[B+36>>2]=c[x+12>>2];w=0.0;x=0;y=0;j=l*l+m*m+n*n;a:while(1){v=c[b+368>>2]|0;n=+g[b+128>>2];m=+g[b+132>>2];l=+g[b+136>>2];k=+P(+(n*n+m*m+l*l));if(k<9.999999747378752e-05){A=5;break}g[b+(v*36|0)+(c[b+(v*36|0)+180>>2]<<2)+164>>2]=0.0;q=(c[b+364>>2]|0)+-1|0;c[b+364>>2]=q;c[b+(v*36|0)+(c[b+(v*36|0)+180>>2]<<2)+148>>2]=c[b+(q<<2)+348>>2];q=c[b+(v*36|0)+180>>2]|0;c[b+(v*36|0)+180>>2]=q+1;jD(b,-n,-m,-l,c[b+(v*36|0)+(q<<2)+148>>2]|0);q=c[b+(v*36|0)+180>>2]|0;p=c[b+(v*36|0)+(q+-1<<2)+148>>2]|0;n=+g[p+16>>2];m=+g[p+20>>2];l=+g[p+24>>2];o=0;do{u=n-+g[B+24+(o<<4)>>2];r=m-+g[B+24+(o<<4)+4>>2];s=l-+g[B+24+(o<<4)+8>>2];o=o+1|0;if(u*u+r*r+s*s<9.999999747378752e-05){A=9;break a}}while(o>>>0<4);x=x+1&3;t=B+24+(x<<4)|0;c[t+0>>2]=c[p+16>>2];c[t+4>>2]=c[p+20>>2];c[t+8>>2]=c[p+24>>2];c[t+12>>2]=c[p+28>>2];s=(+g[b+128>>2]*n+ +g[b+132>>2]*m+ +g[b+136>>2]*l)/k;w=s>w?s:w;if(k-w-k*9.999999747378752e-05<=0.0){A=11;break}c[B>>2]=0;if((q|0)==2)n=+oD((c[b+(v*36|0)+148>>2]|0)+16|0,(c[b+(v*36|0)+152>>2]|0)+16|0,B+8|0,B);else if((q|0)==3)n=+nD((c[b+(v*36|0)+148>>2]|0)+16|0,(c[b+(v*36|0)+152>>2]|0)+16|0,(c[b+(v*36|0)+156>>2]|0)+16|0,B+8|0,B);else if((q|0)==4){o=c[b+(v*36|0)+148>>2]|0;e=c[b+(v*36|0)+152>>2]|0;f=c[b+(v*36|0)+156>>2]|0;t=c[b+(v*36|0)+160>>2]|0;c[B+152>>2]=o+16;c[B+156>>2]=e+16;c[B+160>>2]=f+16;c[B+164>>2]=t+16;l=+g[o+16>>2];k=+g[t+16>>2];n=+g[o+20>>2];j=+g[t+20>>2];m=+g[o+24>>2];h=+g[t+24>>2];g[B+104>>2]=l-k;g[B+108>>2]=n-j;g[B+112>>2]=m-h;g[B+116>>2]=0.0;C=+g[e+16>>2];E=+g[e+20>>2];s=+g[e+24>>2];g[B+120>>2]=C-k;g[B+124>>2]=E-j;g[B+128>>2]=s-h;g[B+132>>2]=0.0;r=+g[f+16>>2];F=+g[f+20>>2];D=+g[f+24>>2];g[B+136>>2]=r-k;g[B+140>>2]=F-j;g[B+144>>2]=D-h;g[B+148>>2]=0.0;u=(n-j)*(s-h)*(r-k)+(m-h)*(C-k)*(F-j)-(F-j)*((s-h)*(l-k))-(n-j)*(C-k)*(D-h)+(D-h)*((l-k)*(E-j))-(r-k)*((m-h)*(E-j));if(!(!(u*(m*((C-r)*(n-E)-(E-F)*(l-C))+(l*((E-F)*(m-s)-(s-D)*(n-E))+n*((s-D)*(l-C)-(C-r)*(m-s))))<=0.0)|(u!=u|0.0!=0.0|u==0.0))){c[B+92>>2]=0;c[B+96>>2]=0;c[B+100>>2]=0;c[B+88>>2]=0;s=n-j;r=m-h;m=l-k;q=0;n=-1.0;while(1){p=c[19520+(q<<2)>>2]|0;E=+g[B+104+(p<<4)+8>>2];F=+g[B+104+(p<<4)+4>>2];l=+g[B+104+(p<<4)>>2];if(u*((s*E-r*F)*k+j*(r*l-E*m)+(F*m-s*l)*h)>0.0?(z=+nD(c[B+152+(q<<2)>>2]|0,c[B+152+(p<<2)>>2]|0,t+16|0,B+92|0,B+88|0),n<0.0|z>2]|0;c[B>>2]=((G&2|0)==0?0:1<>2]=+g[B+92>>2];g[B+8+(p<<2)>>2]=+g[B+96>>2];g[B+8+(c[19520+(p<<2)>>2]<<2)>>2]=0.0;g[B+20>>2]=+g[B+100>>2];n=z}q=q+1|0;if((q|0)==3)break;s=+g[B+104+(q<<4)+4>>2];r=+g[B+104+(q<<4)+8>>2];m=+g[B+104+(q<<4)>>2];k=+g[t+16>>2];j=+g[t+20>>2];h=+g[t+24>>2]}if(n<0.0){c[B>>2]=15;n=+g[f+20>>2];D=+g[e+24>>2];r=+g[t+16>>2];F=+g[f+24>>2];C=+g[e+16>>2];h=+g[t+20>>2];k=+g[f+16>>2];l=+g[t+24>>2];E=+g[e+20>>2];g[B+8>>2]=(n*D*r+F*C*h-h*(D*k)-n*C*l+l*(k*E)-r*(F*E))/u;j=+g[o+20>>2];s=+g[o+24>>2];m=+g[o+16>>2];g[B+12>>2]=(j*F*r+s*k*h-h*(F*m)-j*k*l+l*(m*n)-r*(s*n))/u;g[B+16>>2]=(E*s*r+D*m*h-h*(s*C)-E*m*l+l*(C*j)-r*(D*j))/u;g[B+20>>2]=1.0-((E*s*r+D*m*h-h*(s*C)-E*m*l+l*(C*j)-r*(D*j))/u+((n*D*r+F*C*h-h*(D*k)-n*C*l+l*(k*E)-r*(F*E))/u+(j*F*r+s*k*h-h*(F*m)-j*k*l+l*(m*n)-r*(s*n))/u));n=0.0}}else n=-1.0}else n=j;if(!(n>=0.0)){A=32;break}c[b+((1-v|0)*36|0)+180>>2]=0;c[b+128>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;c[b+140>>2]=0;c[b+368>>2]=1-v;e=c[b+(v*36|0)+180>>2]|0;f=c[B>>2]|0;if(e){q=0;do{p=b+(v*36|0)+(q<<2)+148|0;o=c[p>>2]|0;if(!(f&1<>2]|0;c[b+364>>2]=t+1;c[b+(t<<2)+348>>2]=o}else{c[b+((1-v|0)*36|0)+(c[b+((1-v|0)*36|0)+180>>2]<<2)+148>>2]=o;m=+g[B+8+(q<<2)>>2];t=c[b+((1-v|0)*36|0)+180>>2]|0;c[b+((1-v|0)*36|0)+180>>2]=t+1;g[b+((1-v|0)*36|0)+(t<<2)+164>>2]=m;t=c[p>>2]|0;r=m*+g[t+20>>2];s=m*+g[t+24>>2];g[b+128>>2]=+g[t+16>>2]*m+ +g[b+128>>2];g[b+132>>2]=r+ +g[b+132>>2];g[b+136>>2]=s+ +g[b+136>>2]}q=q+1|0}while((q|0)!=(e|0))}if((f|0)==15)c[b+376>>2]=1;y=y+1|0;if(y>>>0>=128){A=34;break}if(c[b+376>>2]|0)break;else j=n}if((A|0)==5)c[b+376>>2]=1;else if((A|0)==9){y=c[b+368>>2]|0;x=(c[b+(y*36|0)+180>>2]|0)+-1|0;c[b+(y*36|0)+180>>2]=x;x=c[b+(y*36|0)+(x<<2)+148>>2]|0;y=c[b+364>>2]|0;c[b+364>>2]=y+1;c[b+(y<<2)+348>>2]=x}else if((A|0)==11){y=c[b+368>>2]|0;x=(c[b+(y*36|0)+180>>2]|0)+-1|0;c[b+(y*36|0)+180>>2]=x;x=c[b+(y*36|0)+(x<<2)+148>>2]|0;y=c[b+364>>2]|0;c[b+364>>2]=y+1;c[b+(y<<2)+348>>2]=x}else if((A|0)==32){y=c[b+368>>2]|0;x=(c[b+(y*36|0)+180>>2]|0)+-1|0;c[b+(y*36|0)+180>>2]=x;x=c[b+(y*36|0)+(x<<2)+148>>2]|0;y=c[b+364>>2]|0;c[b+364>>2]=y+1;c[b+(y<<2)+348>>2]=x}else if((A|0)==34)c[b+376>>2]=2;c[b+372>>2]=b+((c[b+368>>2]|0)*36|0)+148;f=c[b+376>>2]|0;if((f|0)==1){g[b+144>>2]=0.0;i=B;return f|0}else if(!f){n=+g[b+128>>2];r=+g[b+132>>2];s=+g[b+136>>2];g[b+144>>2]=+P(+(n*n+r*r+s*s));i=B;return f|0}else{i=B;return f|0}return 0}function iD(b,e,f,h,j,k){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0;n=i;if((d[h+55>>0]|0|0)==(e|0)){l=0;i=n;return l|0}l=c[19520+(j<<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){m=kD(b,c[h+(l<<2)+20>>2]|0,c[h+(j<<2)+20>>2]|0,f,0)|0;if(!m){l=0;i=n;return l|0}a[m+52>>0]=j;c[m+32>>2]=h;a[h+j+52>>0]=0;c[h+(j<<2)+32>>2]=m;l=c[k>>2]|0;if(!l)c[k+4>>2]=m;else{a[l+53>>0]=2;c[l+36>>2]=m;a[m+54>>0]=1;c[m+40>>2]=l}c[k>>2]=m;c[k+8>>2]=(c[k+8>>2]|0)+1;l=1;i=n;return l|0}m=c[19504+(j<<2)>>2]|0;a[h+55>>0]=e;if(!(iD(b,e,f,c[h+(l<<2)+32>>2]|0,d[h+l+52>>0]|0,k)|0)){l=0;i=n;return l|0}if(!(iD(b,e,f,c[h+(m<<2)+32>>2]|0,d[h+m+52>>0]|0,k)|0)){l=0;i=n;return l|0}l=c[h+48>>2]|0;if(l)c[l+44>>2]=c[h+44>>2];l=c[h+44>>2]|0;if(l)c[l+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];l=c[b+9288>>2]|0;if(l)c[l+44>>2]=h;c[b+9288>>2]=h;c[b+9292>>2]=(c[b+9292>>2]|0)+1;l=1;i=n;return l|0}function jD(a,b,e,f,h){a=a|0;b=+b;e=+e;f=+f;h=h|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0;l=i;i=i+48|0;n=1.0/+P(+(b*b+e*e+f*f));g[h>>2]=n*b;g[h+4>>2]=n*e;g[h+8>>2]=n*f;g[h+12>>2]=0.0;j=d[a+120>>0]|d[a+121>>0]<<8|d[a+122>>0]<<16|d[a+123>>0]<<24;m=d[a+124>>0]|d[a+125>>0]<<8|d[a+126>>0]<<16|d[a+127>>0]<<24;k=(c[a>>2]|0)+(m>>1)|0;if(m&1)j=c[(c[k>>2]|0)+j>>2]|0;pc[j&127](l,k,h);f=-+g[h>>2];e=-+g[h+4>>2];b=-+g[h+8>>2];k=d[a+120>>0]|d[a+121>>0]<<8|d[a+122>>0]<<16|d[a+123>>0]<<24;m=d[a+124>>0]|d[a+125>>0]<<8|d[a+126>>0]<<16|d[a+127>>0]<<24;j=(c[a+4>>2]|0)+(m>>1)|0;if(m&1)k=c[(c[j>>2]|0)+k>>2]|0;n=+g[a+24>>2]*f+ +g[a+28>>2]*e+ +g[a+32>>2]*b;o=+g[a+40>>2]*f+ +g[a+44>>2]*e+ +g[a+48>>2]*b;g[l+16>>2]=+g[a+8>>2]*f+ +g[a+12>>2]*e+ +g[a+16>>2]*b;g[l+20>>2]=n;g[l+24>>2]=o;g[l+28>>2]=0.0;pc[k&127](l+32|0,j,l+16|0);o=+g[l+32>>2];n=+g[l+36>>2];f=+g[l+40>>2];e=+g[l+4>>2]-(o*+g[a+72>>2]+n*+g[a+76>>2]+f*+g[a+80>>2]+ +g[a+108>>2]);b=+g[l+8>>2]-(o*+g[a+88>>2]+n*+g[a+92>>2]+f*+g[a+96>>2]+ +g[a+112>>2]);g[h+16>>2]=+g[l>>2]-(o*+g[a+56>>2]+n*+g[a+60>>2]+f*+g[a+64>>2]+ +g[a+104>>2]);g[h+20>>2]=e;g[h+24>>2]=b;g[h+28>>2]=0.0;i=l;return}function kD(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,s=0;s=i;r=c[b+9288>>2]|0;if(!r){c[b>>2]=5;j=0;i=s;return j|0}j=c[r+48>>2]|0;if(j)c[j+44>>2]=c[r+44>>2];j=c[r+44>>2]|0;if(j)c[j+48>>2]=c[r+48>>2];if((c[b+9288>>2]|0)==(r|0))c[b+9288>>2]=c[r+48>>2];c[b+9292>>2]=(c[b+9292>>2]|0)+-1;c[r+44>>2]=0;c[r+48>>2]=c[b+9280>>2];j=c[b+9280>>2]|0;if(j)c[j+44>>2]=r;c[b+9280>>2]=r;c[b+9284>>2]=(c[b+9284>>2]|0)+1;a[r+55>>0]=0;c[r+20>>2]=d;c[r+24>>2]=e;c[r+28>>2]=f;m=+g[d+16>>2];l=+g[e+16>>2]-m;q=+g[d+20>>2];p=+g[e+20>>2]-q;o=+g[d+24>>2];n=+g[e+24>>2]-o;m=+g[f+16>>2]-m;q=+g[f+20>>2]-q;o=+g[f+24>>2]-o;g[r>>2]=p*o-n*q;g[r+4>>2]=n*m-l*o;g[r+8>>2]=l*q-p*m;g[r+12>>2]=0.0;k=+P(+((p*o-n*q)*(p*o-n*q)+(n*m-l*o)*(n*m-l*o)+(l*q-p*m)*(l*q-p*m)));do if(k>9.999999747378752e-05){if((!(lD(p*o-n*q,n*m-l*o,l*q-p*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],r+16|0)|0)?!(lD(+g[r>>2],+g[r+4>>2],+g[r+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],r+16|0)|0):0)?!(lD(+g[r>>2],+g[r+4>>2],+g[r+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],r+16|0)|0):0)g[r+16>>2]=(+g[d+16>>2]*+g[r>>2]+ +g[d+20>>2]*+g[r+4>>2]+ +g[d+24>>2]*+g[r+8>>2])/k;g[r>>2]=1.0/k*+g[r>>2];g[r+4>>2]=1.0/k*+g[r+4>>2];g[r+8>>2]=1.0/k*+g[r+8>>2];if(h){j=r;i=s;return j|0}if(!(+g[r+16>>2]>=-9.999999747378752e-06)){c[b>>2]=3;break}else{j=r;i=s;return j|0}}else c[b>>2]=2;while(0);j=c[r+48>>2]|0;if(j)c[j+44>>2]=c[r+44>>2];j=c[r+44>>2]|0;if(j)c[j+48>>2]=c[r+48>>2];if((c[b+9280>>2]|0)==(r|0))c[b+9280>>2]=c[r+48>>2];c[b+9284>>2]=(c[b+9284>>2]|0)+-1;c[r+44>>2]=0;c[r+48>>2]=c[b+9288>>2];j=c[b+9288>>2]|0;if(j)c[j+44>>2]=r;c[b+9288>>2]=r;c[b+9292>>2]=(c[b+9292>>2]|0)+1;j=0;i=s;return j|0}function lD(a,b,c,d,e,f,h,j,k,l){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;h=+h;j=+j;k=+k;l=l|0;var m=0;m=i;if(!(((h-d)*b-(j-e)*a)*f+(((j-e)*c-(k-f)*b)*d+((k-f)*a-(h-d)*c)*e)<0.0)){l=0;i=m;return l|0}if((h-d)*d+(j-e)*e+(k-f)*f>0.0){g[l>>2]=+P(+(d*d+e*e+f*f));l=1;i=m;return l|0}if((h-d)*h+(j-e)*j+(k-f)*k<0.0){g[l>>2]=+P(+(h*h+j*j+k*k));l=1;i=m;return l|0}else{d=((h*h+j*j+k*k)*(d*d+e*e+f*f)-(h*d+j*e+k*f)*(h*d+j*e+k*f))/((h-d)*(h-d)+(j-e)*(j-e)+(k-f)*(k-f));g[l>>2]=+P(+(d>0.0?d:0.0));l=1;i=m;return l|0}return 0}function mD(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.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;n=i;i=i+32|0;j=c[a+372>>2]|0;d=c[j+32>>2]|0;a:do if((d|0)==4){b=c[j>>2]|0;d=c[j+12>>2]|0;e=+g[d+16>>2];q=+g[b+16>>2]-e;o=+g[d+20>>2];m=+g[b+20>>2]-o;k=+g[d+24>>2];h=+g[b+24>>2]-k;b=c[j+4>>2]|0;l=+g[b+16>>2]-e;f=+g[b+20>>2]-o;p=+g[b+24>>2]-k;b=c[j+8>>2]|0;e=+g[b+16>>2]-e;o=+g[b+20>>2]-o;k=+g[b+24>>2]-k;if(!((0.0!=0.0?1:q*f*k+(m*p*e+h*l*o-q*p*o-m*l*k)-h*f*e!=q*f*k+(m*p*e+h*l*o-q*p*o-m*l*k)-h*f*e)|q*f*k+(m*p*e+h*l*o-q*p*o-m*l*k)-h*f*e==0.0)){b=1;i=n;return b|0}}else if((d|0)==1){b=1;d=0;while(1){c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;c[n+28>>2]=0;g[n+16+(d<<2)>>2]=1.0;r=j+32|0;g[j+(b<<2)+16>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[j+(c[r>>2]<<2)>>2]=c[a+(b<<2)+348>>2];b=c[r>>2]|0;c[r>>2]=b+1;e=+g[n+16>>2];f=+g[n+20>>2];h=+g[n+24>>2];jD(a,e,f,h,c[j+(b<<2)>>2]|0);if(mD(a)|0){b=1;d=19;break}j=c[a+372>>2]|0;b=(c[j+32>>2]|0)+-1|0;c[j+32>>2]=b;b=c[j+(b<<2)>>2]|0;j=c[a+364>>2]|0;c[a+364>>2]=j+1;c[a+(j<<2)+348>>2]=b;j=c[a+372>>2]|0;g[j+(c[j+32>>2]<<2)+16>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[j+(c[j+32>>2]<<2)>>2]=c[a+(b<<2)+348>>2];b=c[j+32>>2]|0;c[j+32>>2]=b+1;jD(a,-e,-f,-h,c[j+(b<<2)>>2]|0);if(mD(a)|0){b=1;d=19;break}b=c[a+372>>2]|0;j=(c[b+32>>2]|0)+-1|0;c[b+32>>2]=j;j=c[b+(j<<2)>>2]|0;b=c[a+364>>2]|0;c[a+364>>2]=b+1;c[a+(b<<2)+348>>2]=j;d=d+1|0;if(d>>>0>=3)break a;b=c[a+372>>2]|0;j=b;b=c[b+32>>2]|0}if((d|0)==19){i=n;return b|0}}else if((d|0)==3){b=c[j+4>>2]|0;d=c[j>>2]|0;h=+g[d+16>>2];f=+g[b+16>>2]-h;e=+g[d+20>>2];m=+g[b+20>>2]-e;l=+g[d+24>>2];k=+g[b+24>>2]-l;b=c[j+8>>2]|0;h=+g[b+16>>2]-h;e=+g[b+20>>2]-e;l=+g[b+24>>2]-l;if((m*l-k*e)*(m*l-k*e)+(k*h-f*l)*(k*h-f*l)+(f*e-m*h)*(f*e-m*h)>0.0){g[j+28>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[j+12>>2]=c[a+(b<<2)+348>>2];b=c[j+32>>2]|0;c[j+32>>2]=b+1;jD(a,m*l-k*e,k*h-f*l,f*e-m*h,c[j+(b<<2)>>2]|0);if(mD(a)|0){b=1;i=n;return b|0}d=c[a+372>>2]|0;b=(c[d+32>>2]|0)+-1|0;c[d+32>>2]=b;b=c[d+(b<<2)>>2]|0;d=c[a+364>>2]|0;c[a+364>>2]=d+1;c[a+(d<<2)+348>>2]=b;d=c[a+372>>2]|0;g[d+(c[d+32>>2]<<2)+16>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[d+(c[d+32>>2]<<2)>>2]=c[a+(b<<2)+348>>2];b=c[d+32>>2]|0;c[d+32>>2]=b+1;jD(a,-(m*l-k*e),-(k*h-f*l),-(f*e-m*h),c[d+(b<<2)>>2]|0);if(mD(a)|0){b=1;i=n;return b|0}else{b=c[a+372>>2]|0;d=(c[b+32>>2]|0)+-1|0;c[b+32>>2]=d;d=c[b+(d<<2)>>2]|0;b=c[a+364>>2]|0;c[a+364>>2]=b+1;c[a+(b<<2)+348>>2]=d;break}}}else if((d|0)==2){b=c[j+4>>2]|0;j=c[j>>2]|0;k=+g[b+16>>2]-+g[j+16>>2];m=+g[b+20>>2]-+g[j+20>>2];l=+g[b+24>>2]-+g[j+24>>2];j=0;while(1){c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;g[n+(j<<2)>>2]=1.0;h=+g[n+8>>2];f=+g[n+4>>2];e=+g[n>>2];if((m*h-l*f)*(m*h-l*f)+(l*e-k*h)*(l*e-k*h)+(k*f-m*e)*(k*f-m*e)>0.0){d=c[a+372>>2]|0;g[d+(c[d+32>>2]<<2)+16>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[d+(c[d+32>>2]<<2)>>2]=c[a+(b<<2)+348>>2];b=c[d+32>>2]|0;c[d+32>>2]=b+1;jD(a,m*h-l*f,l*e-k*h,k*f-m*e,c[d+(b<<2)>>2]|0);if(mD(a)|0){b=1;d=19;break}d=c[a+372>>2]|0;b=(c[d+32>>2]|0)+-1|0;c[d+32>>2]=b;b=c[d+(b<<2)>>2]|0;d=c[a+364>>2]|0;c[a+364>>2]=d+1;c[a+(d<<2)+348>>2]=b;d=c[a+372>>2]|0;g[d+(c[d+32>>2]<<2)+16>>2]=0.0;b=(c[a+364>>2]|0)+-1|0;c[a+364>>2]=b;c[d+(c[d+32>>2]<<2)>>2]=c[a+(b<<2)+348>>2];b=c[d+32>>2]|0;c[d+32>>2]=b+1;jD(a,-(m*h-l*f),-(l*e-k*h),-(k*f-m*e),c[d+(b<<2)>>2]|0);if(mD(a)|0){b=1;d=19;break}b=c[a+372>>2]|0;d=(c[b+32>>2]|0)+-1|0;c[b+32>>2]=d;d=c[b+(d<<2)>>2]|0;b=c[a+364>>2]|0;c[a+364>>2]=b+1;c[a+(b<<2)+348>>2]=d}j=j+1|0;if(j>>>0>=3)break a}if((d|0)==19){i=n;return b|0}}while(0);b=0;i=n;return b|0}function nD(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,s=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;F=i;i=i+80|0;c[F+64>>2]=a;c[F+68>>2]=b;c[F+72>>2]=d;k=+g[a>>2];l=+g[b>>2];t=+g[a+4>>2];v=+g[b+4>>2];w=+g[a+8>>2];x=+g[b+8>>2];g[F+16>>2]=k-l;g[F+20>>2]=t-v;g[F+24>>2]=w-x;g[F+28>>2]=0.0;y=+g[d>>2];z=+g[d+4>>2];A=+g[d+8>>2];g[F+32>>2]=l-y;g[F+36>>2]=v-z;g[F+40>>2]=x-A;g[F+44>>2]=0.0;g[F+48>>2]=y-k;g[F+52>>2]=z-t;g[F+56>>2]=A-w;g[F+60>>2]=0.0;C=(t-v)*(x-A)-(w-x)*(v-z);D=(w-x)*(l-y)-(x-A)*(k-l);E=(v-z)*(k-l)-(t-v)*(l-y);if(!(E*E+(C*C+D*D)>0.0)){t=-1.0;i=F;return +t}c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;m=t-v;n=w-x;o=k-l;p=k;q=t;r=w;u=a;h=0;j=-1.0;while(1){if(p*(E*m-D*n)+q*(C*n-E*o)+(D*o-C*m)*r>0.0?(s=c[19520+(h<<2)>>2]|0,B=+oD(u,c[F+64+(s<<2)>>2]|0,F,F+8|0),j<0.0|B>2]|0;c[f>>2]=((u&1|0)==0?0:1<>2]=+g[F>>2];g[e+(s<<2)>>2]=+g[F+4>>2];g[e+(c[19520+(s<<2)>>2]<<2)>>2]=0.0;j=B}h=h+1|0;if((h|0)==3)break;u=c[F+64+(h<<2)>>2]|0;m=+g[F+16+(h<<4)+4>>2];n=+g[F+16+(h<<4)+8>>2];o=+g[F+16+(h<<4)>>2];p=+g[u>>2];q=+g[u+4>>2];r=+g[u+8>>2]}if(!(j<0.0)){t=j;i=F;return +t}p=+P(+(E*E+(C*C+D*D)));r=(C*+g[a>>2]+D*+g[a+4>>2]+E*+g[a+8>>2])/(E*E+(C*C+D*D));c[f>>2]=7;n=+g[b>>2]-C*r;m=+g[b+4>>2]-D*r;q=+g[b+8>>2]-E*r;q=+P(+((m*(l-y)-n*(v-z))*(m*(l-y)-n*(v-z))+(((v-z)*q-m*(x-A))*((v-z)*q-m*(x-A))+(n*(x-A)-q*(l-y))*(n*(x-A)-q*(l-y)))))/p;g[e>>2]=q;n=+g[d>>2]-C*r;m=+g[d+4>>2]-D*r;o=+g[d+8>>2]-E*r;t=+P(+((m*(y-k)-n*(z-t))*(m*(y-k)-n*(z-t))+(((z-t)*o-m*(A-w))*((z-t)*o-m*(A-w))+(n*(A-w)-o*(y-k))*(n*(A-w)-o*(y-k)))))/p;g[e+4>>2]=t;g[e+8>>2]=1.0-(t+q);t=E*r*(E*r)+(C*r*(C*r)+D*r*(D*r));i=F;return +t}function oD(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;n=i;f=+g[a>>2];k=+g[b>>2]-f;h=+g[a+4>>2];m=+g[b+4>>2]-h;j=+g[a+8>>2];l=+g[b+8>>2]-j;if(!(k*k+m*m+l*l>0.0)){f=-1.0;i=n;return +f}f=-(f*k+h*m+j*l)/(k*k+m*m+l*l);if(f>=1.0){g[d>>2]=0.0;g[d+4>>2]=1.0;c[e>>2]=2;j=+g[b>>2];h=+g[b+4>>2];f=+g[b+8>>2];f=j*j+h*h+f*f;i=n;return +f}if(!(f<=0.0)){g[d+4>>2]=f;g[d>>2]=1.0-f;c[e>>2]=3;j=k*f+ +g[a>>2];h=m*f+ +g[a+4>>2];f=l*f+ +g[a+8>>2];f=j*j+h*h+f*f;i=n;return +f}else{g[d>>2]=1.0;g[d+4>>2]=0.0;c[e>>2]=1;j=+g[a>>2];h=+g[a+4>>2];f=+g[a+8>>2];f=j*j+h*h+f*f;i=n;return +f}return 0.0}function pD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;e=c[b>>2]|0;if((e|0)>3){f=a[d>>0]|0;if(!(f&8)){c[b>>2]=e+-1;g=b+(e+-1<<4)+4|0;c[b+52>>2]=c[g+0>>2];c[b+56>>2]=c[g+4>>2];c[b+60>>2]=c[g+8>>2];c[b+64>>2]=c[g+12>>2];g=b+(e+-1<<4)+84|0;c[b+132>>2]=c[g+0>>2];c[b+136>>2]=c[g+4>>2];c[b+140>>2]=c[g+8>>2];c[b+144>>2]=c[g+12>>2];g=b+(e+-1<<4)+164|0;c[b+212>>2]=c[g+0>>2];c[b+216>>2]=c[g+4>>2];c[b+220>>2]=c[g+8>>2];c[b+224>>2]=c[g+12>>2];e=e+-1|0;g=4}else g=6}else g=4;if((g|0)==4)if((e|0)>2){f=a[d>>0]|0;g=6}if((g|0)==6)if(!(f&4)){e=e+-1|0;c[b>>2]=e;c[b+36>>2]=c[b+(e<<4)+4>>2];c[b+40>>2]=c[b+(e<<4)+8>>2];c[b+44>>2]=c[b+(e<<4)+12>>2];c[b+48>>2]=c[b+(e<<4)+16>>2];c[b+116>>2]=c[b+(e<<4)+84>>2];c[b+120>>2]=c[b+(e<<4)+88>>2];c[b+124>>2]=c[b+(e<<4)+92>>2];c[b+128>>2]=c[b+(e<<4)+96>>2];c[b+196>>2]=c[b+(e<<4)+164>>2];c[b+200>>2]=c[b+(e<<4)+168>>2];c[b+204>>2]=c[b+(e<<4)+172>>2];c[b+208>>2]=c[b+(e<<4)+176>>2]}if((e|0)>1){f=a[d>>0]|0;if(!(f&2)){e=e+-1|0;c[b>>2]=e;c[b+20>>2]=c[b+(e<<4)+4>>2];c[b+24>>2]=c[b+(e<<4)+8>>2];c[b+28>>2]=c[b+(e<<4)+12>>2];c[b+32>>2]=c[b+(e<<4)+16>>2];c[b+100>>2]=c[b+(e<<4)+84>>2];c[b+104>>2]=c[b+(e<<4)+88>>2];c[b+108>>2]=c[b+(e<<4)+92>>2];c[b+112>>2]=c[b+(e<<4)+96>>2];c[b+180>>2]=c[b+(e<<4)+164>>2];c[b+184>>2]=c[b+(e<<4)+168>>2];c[b+188>>2]=c[b+(e<<4)+172>>2];c[b+192>>2]=c[b+(e<<4)+176>>2];g=11}}else g=11;do if((g|0)==11)if((e|0)>0){f=a[d>>0]|0;break}else{i=h;return}while(0);if(f&1){i=h;return}e=e+-1|0;c[b>>2]=e;c[b+4>>2]=c[b+(e<<4)+4>>2];c[b+8>>2]=c[b+(e<<4)+8>>2];c[b+12>>2]=c[b+(e<<4)+12>>2];c[b+16>>2]=c[b+(e<<4)+16>>2];c[b+84>>2]=c[b+(e<<4)+84>>2];c[b+88>>2]=c[b+(e<<4)+88>>2];c[b+92>>2]=c[b+(e<<4)+92>>2];c[b+96>>2]=c[b+(e<<4)+96>>2];c[b+164>>2]=c[b+(e<<4)+164>>2];c[b+168>>2]=c[b+(e<<4)+168>>2];c[b+172>>2]=c[b+(e<<4)+172>>2];c[b+176>>2]=c[b+(e<<4)+176>>2];i=h;return}function qD(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,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,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,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;U=i;i=i+80|0;if(!(a[b+356>>0]|0)){d=a[b+312>>0]|0;d=d<<24>>24!=0;i=U;return d|0}c[b+336>>2]=0;c[b+340>>2]=0;c[b+344>>2]=0;c[b+348>>2]=0;a[b+352>>0]=0;d=a[b+332>>0]|0;a[b+332>>0]=d&-16;a[b+356>>0]=0;switch(c[b>>2]|0){case 2:{h=+g[b+4>>2];e=+g[b+8>>2];f=+g[b+12>>2];j=+g[b+20>>2]-h;l=+g[b+24>>2]-e;k=+g[b+28>>2]-f;do if((0.0-h)*j+(0.0-e)*l+(0.0-f)*k>0.0)if((0.0-h)*j+(0.0-e)*l+(0.0-f)*k>0]=d&-16|3;e=((0.0-h)*j+(0.0-e)*l+(0.0-f)*k)/(j*j+l*l+k*k);break}else{a[b+332>>0]=d&-16|2;e=1.0;break}else{a[b+332>>0]=d&-16|1;e=0.0}while(0);g[b+336>>2]=1.0-e;g[b+340>>2]=e;g[b+344>>2]=0.0;g[b+348>>2]=0.0;v=+g[b+84>>2];z=+g[b+88>>2];B=+g[b+92>>2];v=v+e*(+g[b+100>>2]-v);z=z+e*(+g[b+104>>2]-z);B=B+e*(+g[b+108>>2]-B);g[b+244>>2]=v;g[b+248>>2]=z;g[b+252>>2]=B;g[b+256>>2]=0.0;y=+g[b+164>>2];A=+g[b+168>>2];C=+g[b+172>>2];y=y+e*(+g[b+180>>2]-y);A=A+e*(+g[b+184>>2]-A);C=C+e*(+g[b+188>>2]-C);g[b+260>>2]=y;g[b+264>>2]=A;g[b+268>>2]=C;g[b+272>>2]=0.0;g[b+276>>2]=v-y;g[b+280>>2]=z-A;g[b+284>>2]=B-C;g[b+288>>2]=0.0;pD(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;d=d<<24>>24!=0;i=U;return d|0}case 1:{c[b+244>>2]=c[b+84>>2];c[b+248>>2]=c[b+88>>2];c[b+252>>2]=c[b+92>>2];c[b+256>>2]=c[b+96>>2];c[b+260>>2]=c[b+164>>2];c[b+264>>2]=c[b+168>>2];c[b+268>>2]=c[b+172>>2];c[b+272>>2]=c[b+176>>2];B=+g[b+248>>2]-+g[b+264>>2];C=+g[b+252>>2]-+g[b+268>>2];g[b+276>>2]=+g[b+244>>2]-+g[b+260>>2];g[b+280>>2]=B;g[b+284>>2]=C;g[b+288>>2]=0.0;c[b+336>>2]=0;c[b+340>>2]=0;c[b+344>>2]=0;c[b+348>>2]=0;a[b+352>>0]=0;a[b+332>>0]=d&-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;d=1;d=d<<24>>24!=0;i=U;return d|0}case 3:{c[U+16>>2]=0;c[U+20>>2]=0;c[U+24>>2]=0;c[U+28>>2]=0;rD(U+16|0,b+4|0,b+20|0,b+36|0,b+316|0);t=+g[b+336>>2];u=+g[b+340>>2];C=+g[b+344>>2];v=+g[b+84>>2]*t+ +g[b+100>>2]*u+ +g[b+116>>2]*C;z=t*+g[b+88>>2]+u*+g[b+104>>2]+C*+g[b+120>>2];B=t*+g[b+92>>2]+u*+g[b+108>>2]+C*+g[b+124>>2];g[b+244>>2]=v;g[b+248>>2]=z;g[b+252>>2]=B;g[b+256>>2]=0.0;y=+g[b+164>>2]*t+ +g[b+180>>2]*u+ +g[b+196>>2]*C;A=t*+g[b+168>>2]+u*+g[b+184>>2]+C*+g[b+200>>2];C=t*+g[b+172>>2]+u*+g[b+188>>2]+C*+g[b+204>>2];g[b+260>>2]=y;g[b+264>>2]=A;g[b+268>>2]=C;g[b+272>>2]=0.0;g[b+276>>2]=v-y;g[b+280>>2]=z-A;g[b+284>>2]=B-C;g[b+288>>2]=0.0;pD(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;d=d<<24>>24!=0;i=U;return d|0}case 0:{a[b+312>>0]=0;d=0;d=d<<24>>24!=0;i=U;return d|0}case 4:{c[U+0>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;Q=U+48|0;a[Q>>0]=0;c[b+316>>2]=c[U+0>>2];c[b+320>>2]=c[U+4>>2];c[b+324>>2]=c[U+8>>2];c[b+328>>2]=c[U+12>>2];a[b+332>>0]=d|15;f=+g[b+20>>2];k=+g[b+4>>2];e=+g[b+24>>2];j=+g[b+8>>2];p=+g[b+28>>2];h=+g[b+12>>2];q=+g[b+36>>2];r=+g[b+40>>2];s=+g[b+44>>2];t=+g[b+52>>2];u=+g[b+56>>2];v=+g[b+60>>2];l=(t-k)*((e-j)*(s-h)-(p-h)*(r-j))+(u-j)*((p-h)*(q-k)-(f-k)*(s-h))+((f-k)*(r-j)-(e-j)*(q-k))*(v-h);if(l*l<9.99999905104687e-09)x=-1;else x=l*(((e-j)*(s-h)-(p-h)*(r-j))*(0.0-k)+((p-h)*(q-k)-(f-k)*(s-h))*(0.0-j)+((f-k)*(r-j)-(e-j)*(q-k))*(0.0-h))<0.0&1;l=(f-k)*((r-j)*(v-h)-(s-h)*(u-j))+(e-j)*((s-h)*(t-k)-(q-k)*(v-h))+((q-k)*(u-j)-(r-j)*(t-k))*(p-h);if(l*l<9.99999905104687e-09)o=-1;else o=l*(((r-j)*(v-h)-(s-h)*(u-j))*(0.0-k)+((s-h)*(t-k)-(q-k)*(v-h))*(0.0-j)+((q-k)*(u-j)-(r-j)*(t-k))*(0.0-h))<0.0&1;l=(q-k)*((u-j)*(p-h)-(v-h)*(e-j))+(r-j)*((v-h)*(f-k)-(t-k)*(p-h))+((t-k)*(e-j)-(u-j)*(f-k))*(s-h);if(l*l<9.99999905104687e-09)w=-1;else w=l*(((u-j)*(p-h)-(v-h)*(e-j))*(0.0-k)+((v-h)*(f-k)-(t-k)*(p-h))*(0.0-j)+((t-k)*(e-j)-(u-j)*(f-k))*(0.0-h))<0.0&1;l=(k-f)*((u-e)*(s-p)-(v-p)*(r-e))+(j-e)*((v-p)*(q-f)-(t-f)*(s-p))+((t-f)*(r-e)-(u-e)*(q-f))*(h-p);if(l*l<9.99999905104687e-09)d=-1;else d=l*(((u-e)*(s-p)-(v-p)*(r-e))*(0.0-f)+((v-p)*(q-f)-(t-f)*(s-p))*(0.0-e)+((t-f)*(r-e)-(u-e)*(q-f))*(0.0-p))<0.0&1;m=o|x|w|d;if((m|0)<0){a[b+352>>0]=1;a[b+312>>0]=0;d=0;d=d<<24>>24!=0;i=U;return d|0}n=(o|0)==0;o=(w|0)==0;d=(d|0)==0;if(!m){a[b+312>>0]=1;c[b+276>>2]=0;c[b+280>>2]=0;c[b+284>>2]=0;c[b+288>>2]=0;d=1;d=d<<24>>24!=0;i=U;return d|0}if((x|0)!=0?(rD(U,b+4|0,b+20|0,b+36|0,U+32|0),y=+g[U+32>>2],z=+g[U+36>>2],A=+g[U+40>>2],B=y-+g[U>>2],D=z-+g[U+4>>2],C=A-+g[U+8>>2],B*B+D*D+C*C<3402823466385288598117041.0e14):0){e=+g[U+44>>2];g[b+316>>2]=y;g[b+320>>2]=z;g[b+324>>2]=A;g[b+328>>2]=e;m=a[Q>>0]|0;a[b+332>>0]=m&1|a[b+332>>0]&-16|m&2|m&4;A=+g[U+56>>2];e=+g[U+60>>2];g[b+336>>2]=+g[U+52>>2];g[b+340>>2]=A;g[b+344>>2]=e;g[b+348>>2]=0.0;e=B*B+D*D+C*C}else e=3402823466385288598117041.0e14;if(!n?(rD(U,b+4|0,b+36|0,b+52|0,U+32|0),E=+g[U+32>>2],F=+g[U+36>>2],G=+g[U+40>>2],H=E-+g[U>>2],J=F-+g[U+4>>2],I=G-+g[U+8>>2],H*H+J*J+I*I>2];g[b+316>>2]=E;g[b+320>>2]=F;g[b+324>>2]=G;g[b+328>>2]=C;m=a[Q>>0]|0;a[b+332>>0]=m<<1&4|(m&1|a[b+332>>0]&-16)|m<<1&8;C=+g[U+56>>2];e=+g[U+60>>2];g[b+336>>2]=+g[U+52>>2];g[b+340>>2]=0.0;g[b+344>>2]=C;g[b+348>>2]=e;e=H*H+J*J+I*I}if(!o?(rD(U,b+4|0,b+52|0,b+20|0,U+32|0),K=+g[U+32>>2],L=+g[U+36>>2],M=+g[U+40>>2],N=K-+g[U>>2],P=L-+g[U+4>>2],O=M-+g[U+8>>2],N*N+P*P+O*O>2];g[b+316>>2]=K;g[b+320>>2]=L;g[b+324>>2]=M;g[b+328>>2]=C;m=a[Q>>0]|0;a[b+332>>0]=(m&255)>>>1&2|(m&1|a[b+332>>0]&-16)|m<<2&8;C=+g[U+60>>2];e=+g[U+56>>2];g[b+336>>2]=+g[U+52>>2];g[b+340>>2]=C;g[b+344>>2]=0.0;g[b+348>>2]=e;e=N*N+P*P+O*O}if(!d?(rD(U,b+20|0,b+52|0,b+36|0,U+32|0),R=+g[U+32>>2],S=+g[U+36>>2],T=+g[U+40>>2],A=R-+g[U>>2],B=S-+g[U+4>>2],C=T-+g[U+8>>2],A*A+B*B+C*C>2];g[b+316>>2]=R;g[b+320>>2]=S;g[b+324>>2]=T;g[b+328>>2]=A;d=a[Q>>0]|0;a[b+332>>0]=d<<1&2|a[b+332>>0]&-16|d&4|d<<2&8;A=+g[U+52>>2];B=+g[U+60>>2];C=+g[U+56>>2];g[b+336>>2]=0.0;g[b+340>>2]=A;g[b+344>>2]=B;g[b+348>>2]=C}D=+g[b+336>>2];t=+g[b+340>>2];u=+g[b+344>>2];C=+g[b+348>>2];v=+g[b+84>>2]*D+ +g[b+100>>2]*t+ +g[b+116>>2]*u+ +g[b+132>>2]*C;z=D*+g[b+88>>2]+t*+g[b+104>>2]+u*+g[b+120>>2]+C*+g[b+136>>2];B=D*+g[b+92>>2]+t*+g[b+108>>2]+u*+g[b+124>>2]+C*+g[b+140>>2];g[b+244>>2]=v;g[b+248>>2]=z;g[b+252>>2]=B;g[b+256>>2]=0.0;y=+g[b+164>>2]*D+ +g[b+180>>2]*t+ +g[b+196>>2]*u+ +g[b+212>>2]*C;A=D*+g[b+168>>2]+t*+g[b+184>>2]+u*+g[b+200>>2]+C*+g[b+216>>2];C=D*+g[b+172>>2]+t*+g[b+188>>2]+u*+g[b+204>>2]+C*+g[b+220>>2];g[b+260>>2]=y;g[b+264>>2]=A;g[b+268>>2]=C;g[b+272>>2]=0.0;g[b+276>>2]=v-y;g[b+280>>2]=z-A;g[b+284>>2]=B-C;g[b+288>>2]=0.0;pD(b,b+332|0);if((+g[b+336>>2]>=0.0?+g[b+340>>2]>=0.0:0)?+g[b+344>>2]>=0.0:0)d=+g[b+348>>2]>=0.0&1;else d=0;a[b+312>>0]=d;d=d<<24>>24!=0;i=U;return d|0}default:{a[b+312>>0]=0;d=0;d=d<<24>>24!=0;i=U;return d|0}}return 0}function rD(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,B=0;B=i;A=a[h+16>>0]&-16;a[h+16>>0]=A;r=+g[e>>2];s=+g[d>>2];t=+g[e+4>>2];u=+g[d+4>>2];v=+g[e+8>>2];w=+g[d+8>>2];x=+g[f>>2];y=+g[f+4>>2];z=+g[f+8>>2];n=+g[b>>2];o=+g[b+4>>2];j=+g[b+8>>2];q=(r-s)*(n-s)+(t-u)*(o-u)+(v-w)*(j-w);p=(x-s)*(n-s)+(y-u)*(o-u)+(z-w)*(j-w);if(q<=0.0&p<=0.0){c[h+0>>2]=c[d+0>>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]=A|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;i=B;return}m=(r-s)*(n-r)+(t-u)*(o-t)+(v-w)*(j-v);l=(x-s)*(n-r)+(y-u)*(o-t)+(z-w)*(j-v);if(!(!(m>=0.0)|!(l<=m))){c[h+0>>2]=c[e+0>>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]=A|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;i=B;return}if((q>=0.0?q*l-m*p<=0.0:0)&m<=0.0){g[h>>2]=s+(r-s)*(q/(q-m));g[h+4>>2]=u+(t-u)*(q/(q-m));g[h+8>>2]=w+(v-w)*(q/(q-m));g[h+12>>2]=0.0;a[h+16>>0]=A|3;g[h+20>>2]=1.0-q/(q-m);g[h+24>>2]=q/(q-m);g[h+28>>2]=0.0;g[h+32>>2]=0.0;i=B;return}k=(r-s)*(n-x)+(t-u)*(o-y)+(v-w)*(j-z);j=(x-s)*(n-x)+(y-u)*(o-y)+(z-w)*(j-z);if(!(!(j>=0.0)|!(k<=j))){c[h+0>>2]=c[f+0>>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]=A|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;i=B;return}if((p>=0.0?k*p-q*j<=0.0:0)&j<=0.0){g[h>>2]=s+(x-s)*(p/(p-j));g[h+4>>2]=u+(y-u)*(p/(p-j));g[h+8>>2]=w+(z-w)*(p/(p-j));g[h+12>>2]=0.0;a[h+16>>0]=A|5;g[h+20>>2]=1.0-p/(p-j);g[h+24>>2]=0.0;g[h+28>>2]=p/(p-j);g[h+32>>2]=0.0;i=B;return}if((m*j-k*l<=0.0?l-m>=0.0:0)?k-j>=0.0:0){q=(l-m)/(l-m+(k-j));g[h>>2]=r+(x-r)*q;g[h+4>>2]=t+(y-t)*q;g[h+8>>2]=v+(z-v)*q;g[h+12>>2]=0.0;a[h+16>>0]=A|6;g[h+20>>2]=0.0;g[h+24>>2]=1.0-q;g[h+28>>2]=q;g[h+32>>2]=0.0;i=B;return}n=1.0/(q*l-m*p+(m*j-k*l+(k*p-q*j)));o=(k*p-q*j)*n;q=(q*l-m*p)*n;g[h>>2]=(x-s)*q+(s+(r-s)*o);g[h+4>>2]=(y-u)*q+(u+(t-u)*o);g[h+8>>2]=(z-w)*q+((v-w)*o+w);g[h+12>>2]=0.0;a[h+16>>0]=A|7;g[h+20>>2]=1.0-o-q;g[h+24>>2]=o;g[h+28>>2]=q;g[h+32>>2]=0.0;i=B;return}function sD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return}function tD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function uD(a,b){a=a|0;b=b|0;return}function vD(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function wD(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=19672;if(!(a[b+8>>0]|0)){i=e;return}d=c[b+12>>2]|0;if(!d){i=e;return}b=c[b+4>>2]|0;Lb[c[(c[b>>2]|0)+16>>2]&127](b,d);i=e;return}function xD(b){b=b|0;var d=0,e=0,f=0;e=i;c[b>>2]=19672;if(!(a[b+8>>0]|0)){RE(b);i=e;return}d=c[b+12>>2]|0;if(!d){RE(b);i=e;return}f=c[b+4>>2]|0;Lb[c[(c[f>>2]|0)+16>>2]&127](f,d);RE(b);i=e;return}function yD(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;e=c[b+4>>2]|0;r=c[d+4>>2]|0;b=c[b+12>>2]|0;a=c[d+12>>2]|0;j=+g[b+48>>2]-+g[a+48>>2];h=+g[b+52>>2]-+g[a+52>>2];l=+g[b+56>>2]-+g[a+56>>2];n=+P(+(j*j+h*h+l*l));o=+g[r+28>>2]*+g[r+12>>2];m=+g[e+28>>2]*+g[e+12>>2]+o;if(n>m){if(!(c[p+748>>2]|0)){i=q;return}d=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((d|0)==(b|0)){Fs(p,d+4|0,e+4|0);i=q;return}else{Fs(p,e+4|0,b+4|0);i=q;return}}g[q+16>>2]=1.0;g[q+20>>2]=0.0;g[q+24>>2]=0.0;g[q+28>>2]=0.0;if(n>1.1920928955078125e-07){g[q+16>>2]=j*(1.0/n);g[q+20>>2]=h*(1.0/n);g[q+24>>2]=l*(1.0/n);g[q+28>>2]=0.0;k=j*(1.0/n);j=h*(1.0/n);h=l*(1.0/n)}else{k=1.0;j=0.0;h=0.0}j=o*j+ +g[a+52>>2];h=o*h+ +g[a+56>>2];g[q>>2]=o*k+ +g[a+48>>2];g[q+4>>2]=j;g[q+8>>2]=h;g[q+12>>2]=0.0;oc[c[(c[f>>2]|0)+16>>2]&15](f,q+16|0,q,n-m);b=c[f+4>>2]|0;if(!(c[b+748>>2]|0)){i=q;return}d=c[b+740>>2]|0;a=c[(c[f+8>>2]|0)+8>>2]|0;e=c[(c[f+12>>2]|0)+8>>2]|0;if((d|0)==(a|0)){Fs(b,d+4|0,e+4|0);i=q;return}else{Fs(b,e+4|0,a+4|0);i=q;return}}function zD(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function AD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+12>>2]|0)){i=k;return}if(!(a[b+8>>0]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+12>>2];c[d+4>>2]=e+1;i=k;return}function BD(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,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.0,x=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,J=0,K=0,L=0,M=0.0,N=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,_=0.0,$=0,aa=0.0,ba=0.0,ca=0.0,da=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,na=0,oa=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.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0;Ia=i;i=i+656|0;g[Ia+48>>2]=+g[b>>2];g[Ia>>2]=+g[b+64>>2];na=Ia+52|0;g[na>>2]=+g[b+4>>2];g[Ia+4>>2]=+g[b+68>>2];g[Ia+56>>2]=+g[b+8>>2];g[Ia+8>>2]=+g[b+72>>2];g[Ia+64>>2]=+g[b+16>>2];g[Ia+16>>2]=+g[b+80>>2];g[Ia+68>>2]=+g[b+20>>2];g[Ia+20>>2]=+g[b+84>>2];g[Ia+72>>2]=+g[b+24>>2];g[Ia+24>>2]=+g[b+88>>2];g[Ia+80>>2]=+g[b+32>>2];g[Ia+32>>2]=+g[b+96>>2];g[Ia+84>>2]=+g[b+36>>2];g[Ia+36>>2]=+g[b+100>>2];g[Ia+88>>2]=+g[b+40>>2];g[Ia+40>>2]=+g[b+104>>2];L=c[a+4>>2]|0;sa=+g[L+28>>2];ta=+g[L+32>>2];ra=+g[L+36>>2];pa=+Zb[c[(c[L>>2]|0)+48>>2]&15](L);qa=+Zb[c[(c[L>>2]|0)+48>>2]&15](L);ra=(ra+ +Zb[c[(c[L>>2]|0)+48>>2]&15](L))*2.0;L=c[a+8>>2]|0;ya=+g[L+28>>2];za=+g[L+32>>2];Ca=+g[L+36>>2];wa=+Zb[c[(c[L>>2]|0)+48>>2]&15](L);xa=+Zb[c[(c[L>>2]|0)+48>>2]&15](L);Ca=(Ca+ +Zb[c[(c[L>>2]|0)+48>>2]&15](L))*2.0;R=+g[b+112>>2]-+g[b+48>>2];ca=+g[b+116>>2]-+g[b+52>>2];Q=+g[b+120>>2]-+g[b+56>>2];la=+g[Ia+48>>2];ja=+g[Ia+64>>2];ka=+g[Ia+80>>2];ia=+g[na>>2];ga=+g[Ia+68>>2];ha=+g[Ia+84>>2];k=+g[Ia+56>>2];p=+g[Ia+72>>2];j=+g[Ia+88>>2];g[Ia+548>>2]=(sa+pa)*2.0*.5;g[Ia+552>>2]=(ta+qa)*2.0*.5;g[Ia+556>>2]=ra*.5;g[Ia+536>>2]=(ya+wa)*2.0*.5;g[Ia+540>>2]=(za+xa)*2.0*.5;g[Ia+544>>2]=Ca*.5;Da=+g[Ia>>2];ua=+g[Ia+16>>2];Aa=+g[Ia+32>>2];Ea=+g[Ia+4>>2];va=+g[Ia+20>>2];Ba=+g[Ia+36>>2];Fa=+g[Ia+8>>2];Ga=+g[Ia+24>>2];Ha=+g[Ia+40>>2];Z=+O(+(la*Da+ja*ua+ka*Aa));o=+O(+(la*Ea+ja*va+ka*Ba));T=+O(+(la*Fa+ja*Ga+ka*Ha));M=+O(+(Da*ia+ua*ga+Aa*ha));n=+O(+(Ea*ia+va*ga+Ba*ha));U=+O(+(Fa*ia+Ga*ga+Ha*ha));S=+O(+(Da*k+ua*p+Aa*j));fa=+O(+(Ea*k+va*p+Ba*j));m=+O(+(Fa*k+Ga*p+Ha*j));y=+O(+(R*la+ca*ja+Q*ka))-(Ca*.5*T+((sa+pa)*2.0*.5+Z*((ya+wa)*2.0*.5)+o*((za+xa)*2.0*.5)));if(y>0.0){i=Ia;return}if(y>-3402823466385288598117041.0e14){l=1;u=R*la+ca*ja+Q*ka<0.0&1;a=Ia+48|0}else{l=0;u=0;a=0;y=-3402823466385288598117041.0e14}z=+O(+(R*ia+ca*ga+Q*ha))-((ta+qa)*2.0*.5+M*((ya+wa)*2.0*.5)+n*((za+xa)*2.0*.5)+U*(Ca*.5));if(z>0.0){i=Ia;return}if(z>y){l=2;u=R*ia+ca*ga+Q*ha<0.0&1;a=na;y=z}z=+O(+(R*k+ca*p+Q*j))-(ra*.5+S*((ya+wa)*2.0*.5)+fa*((za+xa)*2.0*.5)+m*(Ca*.5));if(z>0.0){i=Ia;return}if(z>y){l=3;u=R*k+ca*p+Q*j<0.0&1;a=Ia+56|0;y=z}z=+O(+(R*Da+ca*ua+Q*Aa))-((ya+wa)*2.0*.5+(Z*((sa+pa)*2.0*.5)+M*((ta+qa)*2.0*.5)+S*(ra*.5)));if(z>0.0){i=Ia;return}if(z>y){l=4;u=R*Da+ca*ua+Q*Aa<0.0&1;a=Ia;y=z}z=+O(+(R*Ea+ca*va+Q*Ba))-((za+xa)*2.0*.5+(o*((sa+pa)*2.0*.5)+n*((ta+qa)*2.0*.5)+fa*(ra*.5)));if(z>0.0){i=Ia;return}if(z>y){l=5;u=R*Ea+ca*va+Q*Ba<0.0&1;a=Ia+4|0}else z=y;y=+O(+(R*Fa+ca*Ga+Q*Ha))-(Ca*.5+(T*((sa+pa)*2.0*.5)+U*((ta+qa)*2.0*.5)+m*(ra*.5)));if(y>0.0){i=Ia;return}if(y>z){l=6;u=R*Fa+ca*Ga+Q*Ha<0.0&1;a=Ia+8|0}else y=z;z=(R*k+ca*p+Q*j)*(Da*ia+ua*ga+Aa*ha)-(R*ia+ca*ga+Q*ha)*(Da*k+ua*p+Aa*j);v=+O(+z)-((S+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(M+9.999999747378752e-06)*(ra*.5)+(T+9.999999747378752e-06)*((za+xa)*2.0*.5)+(o+9.999999747378752e-06)*(Ca*.5));if(v>1.1920928955078125e-07){i=Ia;return}t=(Da*k+ua*p+Aa*j)*(Da*k+ua*p+Aa*j)+0.0;ba=(Da*ia+ua*ga+Aa*ha)*(Da*ia+ua*ga+Aa*ha);w=+P(+(ba+t));if(w>1.1920928955078125e-07?v/w*1.0499999523162842>y:0){l=7;s=0.0/w;h=-(Da*k+ua*p+Aa*j)/w;x=(Da*ia+ua*ga+Aa*ha)/w;u=z<0.0&1;a=0;y=v/w}else{s=0.0;h=0.0;x=0.0}z=(R*k+ca*p+Q*j)*(Ea*ia+va*ga+Ba*ha)-(R*ia+ca*ga+Q*ha)*(Ea*k+va*p+Ba*j);v=+O(+z)-((fa+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(n+9.999999747378752e-06)*(ra*.5)+(T+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(Z+9.999999747378752e-06)*(Ca*.5));if(v>1.1920928955078125e-07){i=Ia;return}V=(Ea*k+va*p+Ba*j)*(Ea*k+va*p+Ba*j)+0.0;aa=(Ea*ia+va*ga+Ba*ha)*(Ea*ia+va*ga+Ba*ha);w=+P(+(aa+V));if(w>1.1920928955078125e-07?v/w*1.0499999523162842>y:0){l=8;s=0.0/w;h=-(Ea*k+va*p+Ba*j)/w;x=(Ea*ia+va*ga+Ba*ha)/w;u=z<0.0&1;a=0;y=v/w}z=(R*k+ca*p+Q*j)*(Fa*ia+Ga*ga+Ha*ha)-(R*ia+ca*ga+Q*ha)*(Fa*k+Ga*p+Ha*j);v=+O(+z)-((m+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(U+9.999999747378752e-06)*(ra*.5)+(o+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(Z+9.999999747378752e-06)*((za+xa)*2.0*.5));if(v>1.1920928955078125e-07){i=Ia;return}q=(Fa*k+Ga*p+Ha*j)*(Fa*k+Ga*p+Ha*j)+0.0;_=(Fa*ia+Ga*ga+Ha*ha)*(Fa*ia+Ga*ga+Ha*ha);w=+P(+(_+q));if(w>1.1920928955078125e-07?v/w*1.0499999523162842>y:0){l=9;s=0.0/w;h=-(Fa*k+Ga*p+Ha*j)/w;x=(Fa*ia+Ga*ga+Ha*ha)/w;u=z<0.0&1;a=0;y=v/w}z=(R*la+ca*ja+Q*ka)*(Da*k+ua*p+Aa*j)-(R*k+ca*p+Q*j)*(la*Da+ja*ua+ka*Aa);v=+O(+z)-((S+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(Z+9.999999747378752e-06)*(ra*.5)+(U+9.999999747378752e-06)*((za+xa)*2.0*.5)+(n+9.999999747378752e-06)*(Ca*.5));if(v>1.1920928955078125e-07){i=Ia;return}Y=(la*Da+ja*ua+ka*Aa)*(la*Da+ja*ua+ka*Aa);w=+P(+(Y+t));do if(w>1.1920928955078125e-07){if(!(v/w*1.0499999523162842>y))break;l=10;s=(Da*k+ua*p+Aa*j)/w;h=0.0/w;x=-(la*Da+ja*ua+ka*Aa)/w;u=z<0.0&1;a=0;y=v/w}while(0);z=(R*la+ca*ja+Q*ka)*(Ea*k+va*p+Ba*j)-(R*k+ca*p+Q*j)*(la*Ea+ja*va+ka*Ba);v=+O(+z)-((fa+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(o+9.999999747378752e-06)*(ra*.5)+(U+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(M+9.999999747378752e-06)*(Ca*.5));if(v>1.1920928955078125e-07){i=Ia;return}W=(la*Ea+ja*va+ka*Ba)*(la*Ea+ja*va+ka*Ba);w=+P(+(W+V));do if(w>1.1920928955078125e-07){if(!(v/w*1.0499999523162842>y))break;l=11;s=(Ea*k+va*p+Ba*j)/w;h=0.0/w;x=-(la*Ea+ja*va+ka*Ba)/w;u=z<0.0&1;a=0;y=v/w}while(0);z=(R*la+ca*ja+Q*ka)*(Fa*k+Ga*p+Ha*j)-(R*k+ca*p+Q*j)*(la*Fa+ja*Ga+ka*Ha);v=+O(+z)-((m+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(T+9.999999747378752e-06)*(ra*.5)+(n+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(M+9.999999747378752e-06)*((za+xa)*2.0*.5));if(v>1.1920928955078125e-07){i=Ia;return}N=(la*Fa+ja*Ga+ka*Ha)*(la*Fa+ja*Ga+ka*Ha);w=+P(+(N+q));do if(w>1.1920928955078125e-07){if(!(v/w*1.0499999523162842>y))break;l=12;s=(Fa*k+Ga*p+Ha*j)/w;h=0.0/w;x=-(la*Fa+ja*Ga+ka*Ha)/w;u=z<0.0&1;a=0;y=v/w}while(0);w=(R*ia+ca*ga+Q*ha)*(la*Da+ja*ua+ka*Aa)-(R*la+ca*ja+Q*ka)*(Da*ia+ua*ga+Aa*ha);v=+O(+w)-((M+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(Z+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(m+9.999999747378752e-06)*((za+xa)*2.0*.5)+(fa+9.999999747378752e-06)*(Ca*.5));if(v>1.1920928955078125e-07){i=Ia;return}z=+P(+(Y+ba+0.0));do if(z>1.1920928955078125e-07){if(!(v/z*1.0499999523162842>y))break;l=13;s=-(Da*ia+ua*ga+Aa*ha)/z;h=(la*Da+ja*ua+ka*Aa)/z;x=0.0/z;u=w<0.0&1;a=0;y=v/z}while(0);v=(R*ia+ca*ga+Q*ha)*(la*Ea+ja*va+ka*Ba)-(R*la+ca*ja+Q*ka)*(Ea*ia+va*ga+Ba*ha);w=+O(+v)-((n+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(o+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(m+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(S+9.999999747378752e-06)*(Ca*.5));if(w>1.1920928955078125e-07){i=Ia;return}z=+P(+(W+aa+0.0));do if(z>1.1920928955078125e-07){if(!(w/z*1.0499999523162842>y))break;l=14;s=-(Ea*ia+va*ga+Ba*ha)/z;h=(la*Ea+ja*va+ka*Ba)/z;x=0.0/z;u=v<0.0&1;a=0;y=w/z}while(0);z=(R*ia+ca*ga+Q*ha)*(la*Fa+ja*Ga+ka*Ha)-(R*la+ca*ja+Q*ka)*(Fa*ia+Ga*ga+Ha*ha);v=+O(+z)-((U+9.999999747378752e-06)*((sa+pa)*2.0*.5)+(T+9.999999747378752e-06)*((ta+qa)*2.0*.5)+(fa+9.999999747378752e-06)*((ya+wa)*2.0*.5)+(S+9.999999747378752e-06)*((za+xa)*2.0*.5));if(v>1.1920928955078125e-07){i=Ia;return}w=+P(+(N+_+0.0));do if(w>1.1920928955078125e-07){if(!(v/w*1.0499999523162842>y)){oa=55;break}l=15;s=-(Fa*ia+Ga*ga+Ha*ha)/w;h=(la*Fa+ja*Ga+ka*Ha)/w;x=0.0/w;u=z<0.0&1;y=v/w;oa=58}else oa=55;while(0);do if((oa|0)==55){if(!l){i=Ia;return}if(!a){oa=58;break}L=l;w=+g[a>>2];v=+g[a+16>>2];x=+g[a+32>>2];z=y}while(0);if((oa|0)==58){L=l;w=s*+g[Ia+48>>2]+h*+g[na>>2]+x*k;v=s*+g[Ia+64>>2]+h*+g[Ia+68>>2]+x*p;x=s*+g[Ia+80>>2]+h*+g[Ia+84>>2]+x*j;z=y}if(!u){ha=w;ia=v;ja=x}else{ha=-w;ia=-v;ja=-x}if((L|0)>6){n=+g[Ia+48>>2];h=+g[Ia+64>>2];t=+g[Ia+80>>2];s=(ha*n+ia*h+ja*t>0.0?1.0:-1.0)*((sa+pa)*2.0*.5);y=+g[na>>2];x=+g[Ia+68>>2];q=+g[Ia+84>>2];v=(ha*y+ia*x+ja*q>0.0?1.0:-1.0)*((ta+qa)*2.0*.5);w=(ha*k+ia*p+ja*j>0.0?1.0:-1.0)*(ra*.5);y=+g[b+48>>2]+s*n+v*y+w*k;x=+g[b+52>>2]+s*h+v*x+w*p;w=+g[b+56>>2]+s*t+v*q+w*j;c[Ia+520>>2]=c[b+112>>2];c[Ia+524>>2]=c[b+116>>2];c[Ia+528>>2]=c[b+120>>2];k=(ha*Da+ia*ua+ja*Aa>0.0?-1.0:1.0)*((ya+wa)*2.0*.5);q=(ha*Ea+ia*va+ja*Ba>0.0?-1.0:1.0)*((za+xa)*2.0*.5);v=+g[Ia+524>>2]+k*ua+q*va;t=+g[Ia+528>>2]+k*Aa+q*Ba;s=(ha*Fa+ia*Ga+ja*Ha>0.0?-1.0:1.0)*(Ca*.5);q=+g[Ia+520>>2]+k*Da+q*Ea+s*Fa;g[Ia+520>>2]=q;g[Ia+524>>2]=v+s*Ga;g[Ia+528>>2]=t+s*Ha;L=L+-7|0;k=+g[Ia+48+(((L|0)/3|0)<<2)>>2];j=+g[Ia+48+(((L|0)/3|0)+4<<2)>>2];h=+g[Ia+48+(((L|0)/3|0)+8<<2)>>2];n=+g[Ia+(((L|0)%3|0)<<2)>>2];o=+g[Ia+(((L|0)%3|0)+4<<2)>>2];p=+g[Ia+(((L|0)%3|0)+8<<2)>>2];m=1.0-(k*n+j*o+h*p)*(k*n+j*o+h*p);if(!(m<=9.999999747378752e-05))k=(((q-y)*k+(v+s*Ga-x)*j+(t+s*Ha-w)*h)*(k*n+j*o+h*p)-((q-y)*n+(v+s*Ga-x)*o+(t+s*Ha-w)*p))*(1.0/m);else k=0.0;g[Ia+520>>2]=q+k*n;g[Ia+524>>2]=v+s*Ga+k*o;g[Ia+528>>2]=t+s*Ha+k*p;L=c[(c[d>>2]|0)+16>>2]|0;g[Ia+504>>2]=-ha;g[Ia+508>>2]=-ia;g[Ia+512>>2]=-ja;g[Ia+516>>2]=0.0;oc[L&15](d,Ia+504|0,Ia+520|0,z);i=Ia;return}ma=(L|0)<4;if(ma){C=Ia;ca=ha;B=Ia+536|0;a=b+112|0;na=b+48|0;r=Ia+48|0;$=Ia+548|0;l=Ia;p=Ga;j=Ha;k=+g[Ia+8>>2];aa=ja;ba=ia}else{C=Ia+48|0;ca=-ha;B=Ia+548|0;a=b+48|0;na=b+112|0;r=Ia;$=Ia+536|0;l=Ia+48|0;aa=-ja;ba=-ia}h=ca*+g[l>>2]+ba*+g[C+16>>2]+aa*+g[C+32>>2];g[Ia+488>>2]=h;xa=ca*+g[C+4>>2]+ba*+g[C+20>>2]+aa*+g[C+36>>2];g[Ia+492>>2]=xa;k=ca*k+ba*p+aa*j;g[Ia+496>>2]=k;h=+O(+h);j=+O(+xa);k=+O(+k);if(j>h){f=0;l=j>k;u=j>k?1:2}else{f=h>k&1;l=h>k;u=h>k?0:2}b=l?2:1;v=+g[B+(u<<2)>>2];p=+g[a>>2]-+g[na>>2];q=v*+g[C+(u<<2)>>2];o=+g[a+4>>2];ea=na+4|0;n=+g[ea>>2];m=+g[a+8>>2];da=na+8|0;k=+g[da>>2];if(+g[Ia+488+(u<<2)>>2]<0.0){_=p+q;Z=o-n+v*+g[C+((u|4)<<2)>>2];Y=m-k+v*+g[C+((u|8)<<2)>>2]}else{_=p-q;Z=o-n-v*+g[C+((u|4)<<2)>>2];Y=m-k-v*+g[C+((u|8)<<2)>>2]}G=(ma?-1:-4)+L|0;if(!G){u=1;l=2}else if((G|0)==1){u=0;l=2}else{u=0;l=1}T=+g[r+(u<<2)>>2];R=+g[r+((u|4)<<2)>>2];S=+g[r+((u|8)<<2)>>2];W=_*T+Z*R+Y*S;V=+g[r+(l<<2)>>2];U=+g[r+((l|4)<<2)>>2];n=+g[r+((l|8)<<2)>>2];Q=_*V+Z*U+Y*n;F=C+(f<<2)|0;q=+g[F>>2];I=C+((f|4)<<2)|0;o=+g[I>>2];K=C+((f|8)<<2)|0;p=+g[K>>2];H=C+(b<<2)|0;N=+g[H>>2];J=C+((b|4)<<2)|0;M=+g[J>>2];L=C+((b|8)<<2)|0;m=+g[L>>2];wa=+g[B+(f<<2)>>2];xa=+g[B+(b<<2)>>2];va=(T*N+R*M+S*m)*xa;xa=(V*N+U*M+n*m)*xa;g[Ia+456>>2]=W-(T*q+R*o+S*p)*wa-va;g[Ia+460>>2]=Q-(V*q+U*o+n*p)*wa-xa;g[Ia+464>>2]=W-(T*q+R*o+S*p)*wa+va;g[Ia+468>>2]=Q-(V*q+U*o+n*p)*wa+xa;g[Ia+472>>2]=W+(T*q+R*o+S*p)*wa+va;g[Ia+476>>2]=Q+(V*q+U*o+n*p)*wa+xa;g[Ia+480>>2]=W+(T*q+R*o+S*p)*wa-va;g[Ia+484>>2]=Q+(V*q+U*o+n*p)*wa-xa;g[Ia+448>>2]=+g[$+(u<<2)>>2];g[Ia+452>>2]=+g[$+(l<<2)>>2];u=0;l=4;a=Ia+456|0;r=Ia+384|0;a:while(1){D=Ia+448+(u<<2)|0;E=1-u|0;B=a;a=r;C=-1;while(1){if((l|0)>0){w=+(C|0);r=0;A=B;f=a;while(1){e=A+(u<<2)|0;z=+g[e>>2];y=+g[D>>2];if(w*z>2]=+g[A>>2];g[f+4>>2]=+g[A+4>>2];r=r+1|0;if(r&8)break a;z=+g[e>>2];y=+g[D>>2];f=f+8|0}b=A;A=A+8|0;e=(l|0)>1?A:B;x=+g[e+(u<<2)>>2];if(w*z>2];g[f+(E<<2)>>2]=xa+(w*y-z)*((+g[e+(E<<2)>>2]-xa)/(x-z));g[f+(u<<2)>>2]=w*+g[D>>2];r=r+1|0;if(!(r&8))f=f+8|0;else break a}l=l+-1|0;if((l|0)<=0){l=r;break}}}else l=0;r=(a|0)==(Ia+384|0)?Ia+592|0:Ia+384|0;if((C|0)<0){B=a;a=r;C=C+2|0}else break}u=u+1|0;if((u|0)>=2){r=l;break}}if((a|0)!=(Ia+384|0))YE(Ia+384|0,a|0,r<<3|0)|0;if((r|0)<1){i=Ia;return}z=1.0/((T*q+R*o+S*p)*(V*N+U*M+n*m)-(V*q+U*o+n*p)*(T*N+R*M+S*m));k=+g[$+(G<<2)>>2];t=+g[F>>2];j=+g[H>>2];s=+g[I>>2];h=+g[J>>2];v=+g[K>>2];w=+g[L>>2];u=0;l=0;do{L=l<<1;y=+g[Ia+384+(L<<2)>>2];x=+g[Ia+384+((L|1)<<2)>>2];pa=(V*N+U*M+n*m)*z*(y-W)-(T*N+R*M+S*m)*z*(x-Q);xa=(T*q+R*o+S*p)*z*(x-Q)-(V*q+U*o+n*p)*z*(y-W);L=u*3|0;va=_+pa*t+xa*j;g[Ia+288+(L<<2)>>2]=va;wa=Z+pa*s+xa*h;g[Ia+288+(L+1<<2)>>2]=wa;xa=Y+pa*v+xa*w;g[Ia+288+(L+2<<2)>>2]=xa;xa=k-(ca*va+ba*wa+aa*xa);g[Ia+256+(u<<2)>>2]=xa;if(xa>=0.0){L=u<<1;g[Ia+384+(L<<2)>>2]=y;g[Ia+384+((L|1)<<2)>>2]=x;u=u+1|0}l=l+1|0}while((l|0)!=(r|0));if((u|0)<1){i=Ia;return}A=(u|0)<4?u:4;A=(A|0)<1?1:A;if((u|0)<=(A|0)){f=(u|0)>0;if(ma){if(!f){i=Ia;return}k=-ha;j=-ia;h=-ja;f=0;do{L=f*3|0;g[Ia+240>>2]=+g[Ia+288+(L<<2)>>2]+ +g[na>>2];g[Ia+244>>2]=+g[Ia+288+(L+1<<2)>>2]+ +g[ea>>2];g[Ia+248>>2]=+g[Ia+288+(L+2<<2)>>2]+ +g[da>>2];L=c[(c[d>>2]|0)+16>>2]|0;g[Ia+224>>2]=k;g[Ia+228>>2]=j;g[Ia+232>>2]=h;g[Ia+236>>2]=0.0;oc[L&15](d,Ia+224|0,Ia+240|0,-+g[Ia+256+(f<<2)>>2]);f=f+1|0}while((f|0)!=(u|0));i=Ia;return}else{if(!f){i=Ia;return}k=-ha;j=-ia;h=-ja;a=0;do{L=a*3|0;xa=+g[Ia+256+(a<<2)>>2];g[Ia+208>>2]=+g[Ia+288+(L<<2)>>2]+ +g[na>>2]-ha*xa;g[Ia+212>>2]=+g[Ia+288+(L+1<<2)>>2]+ +g[ea>>2]-ia*xa;g[Ia+216>>2]=+g[Ia+288+(L+2<<2)>>2]+ +g[da>>2]-ja*xa;L=c[(c[d>>2]|0)+16>>2]|0;g[Ia+192>>2]=k;g[Ia+196>>2]=j;g[Ia+200>>2]=h;g[Ia+204>>2]=0.0;oc[L&15](d,Ia+192|0,Ia+208|0,-xa);a=a+1|0}while((a|0)!=(u|0));i=Ia;return}}if((u|0)>1){f=1;a=0;j=+g[Ia+256>>2];while(1){k=+g[Ia+256+(f<<2)>>2];l=k>j;a=l?f:a;f=f+1|0;if((f|0)==(u|0)){b=a;break}else j=l?k:j}}else b=0;if((u|0)==1){l=1;j=+g[Ia+384>>2];k=+g[Ia+388>>2];oa=116}else if((u|0)!=2){a=u+-1|0;if((a|0)>0){k=0.0;j=0.0;h=0.0;l=0;do{L=l<<1;pa=+g[Ia+384+(L<<2)>>2];va=+g[Ia+384+(L+3<<2)>>2];wa=+g[Ia+384+(L+2<<2)>>2];xa=+g[Ia+384+((L|1)<<2)>>2];k=k+(pa*va-wa*xa);j=j+(pa+wa)*(pa*va-wa*xa);h=h+(va+xa)*(pa*va-wa*xa);l=l+1|0}while((l|0)!=(a|0))}else{k=0.0;j=0.0;h=0.0}L=u<<1;p=+g[Ia+384+(L+-2<<2)>>2];o=+g[Ia+388>>2];n=+g[Ia+384>>2];m=+g[Ia+384+(L+-1<<2)>>2];k=k+(p*o-n*m);if(+O(+k)>1.1920928955078125e-07)k=1.0/(k*3.0);else k=999999984306749440.0;if((u|0)>0){l=u;j=k*(j+(p*o-n*m)*(p+n));k=k*(h+(p*o-n*m)*(m+o));oa=116}else a=0}else{l=2;j=(+g[Ia+384>>2]+ +g[Ia+392>>2])*.5;k=(+g[Ia+388>>2]+ +g[Ia+396>>2])*.5;oa=116}if((oa|0)==116){a=0;do{L=a<<1;g[Ia+592+(a<<2)>>2]=+X(+(+g[Ia+384+((L|1)<<2)>>2]-k),+(+g[Ia+384+(L<<2)>>2]-j));a=a+1|0}while((a|0)!=(l|0));a=0;do{c[Ia+560+(a<<2)>>2]=1;a=a+1|0}while((a|0)!=(l|0));a=1;u=l}l=Ia+560+(b<<2)|0;c[l>>2]=0;c[Ia+160>>2]=b;b:do if((A|0)>1){q=+g[Ia+592+(b<<2)>>2];if(a){f=Ia+160|0;e=Ia+164|0;r=1}else{a=Ia+160|0;f=Ia+164|0;e=1;while(1){c[f>>2]=b;c[l>>2]=0;e=e+1|0;if((e|0)==(A|0))break b;else{L=f;f=a+8|0;a=L}}}while(1){k=+(r|0)*(6.2831854820251465/+(A|0))+q;if(k>3.1415927410125732)k=k+-6.2831854820251465;c[e>>2]=b;l=b;a=0;p=1.0e9;while(1){do if(!(c[Ia+560+(a<<2)>>2]|0))j=p;else{j=+O(+(+g[Ia+592+(a<<2)>>2]-k));if(j>3.1415927410125732)j=6.2831854820251465-j;if(!(j>2]=a;l=a}while(0);a=a+1|0;if((a|0)==(u|0))break;else p=j}c[Ia+560+(l<<2)>>2]=0;r=r+1|0;if((r|0)==(A|0))break;else{L=e;e=f+8|0;f=L}}}while(0);if((A|0)<=0){i=Ia;return}h=-ja;j=-ia;k=-ha;if(ma){f=0;do{L=c[Ia+160+(f<<2)>>2]|0;g[Ia+144>>2]=+g[Ia+288+(L*3<<2)>>2]+ +g[na>>2];g[Ia+148>>2]=+g[Ia+288+((L*3|0)+1<<2)>>2]+ +g[ea>>2];g[Ia+152>>2]=+g[Ia+288+((L*3|0)+2<<2)>>2]+ +g[da>>2];K=c[(c[d>>2]|0)+16>>2]|0;g[Ia+128>>2]=k;g[Ia+132>>2]=j;g[Ia+136>>2]=h;g[Ia+140>>2]=0.0;oc[K&15](d,Ia+128|0,Ia+144|0,-+g[Ia+256+(L<<2)>>2]);f=f+1|0}while((f|0)<(A|0));i=Ia;return}else{a=0;do{K=c[Ia+160+(a<<2)>>2]|0;pa=+g[Ia+288+(K*3<<2)>>2]+ +g[na>>2];g[Ia+144>>2]=pa;va=+g[Ia+288+((K*3|0)+1<<2)>>2]+ +g[ea>>2];g[Ia+148>>2]=va;wa=+g[Ia+288+((K*3|0)+2<<2)>>2]+ +g[da>>2];g[Ia+152>>2]=wa;L=c[(c[d>>2]|0)+16>>2]|0;g[Ia+112>>2]=k;g[Ia+116>>2]=j;g[Ia+120>>2]=h;g[Ia+124>>2]=0.0;xa=+g[Ia+256+(K<<2)>>2];g[Ia+96>>2]=pa-ha*xa;g[Ia+100>>2]=va-xa*ia;g[Ia+104>>2]=wa-xa*ja;g[Ia+108>>2]=0.0;oc[L&15](d,Ia+112|0,Ia+96|0,-xa);a=a+1|0}while((a|0)<(A|0));i=Ia;return}}function CD(a){a=a|0;var b=0;b=i;RE(a);i=b;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,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+96|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];t=+g[e+72>>2];n=+g[e+56>>2];o=+g[e+76>>2];p=+g[e+60>>2];u=+g[e+80>>2];v=+g[e+64>>2];w=+g[e+88>>2];x=+g[e+92>>2];y=+g[e+96>>2];m=(o-p)*(y-v)-(u-v)*(x-p);s=(u-v)*(w-n)-(t-n)*(y-v);r=(t-n)*(x-p)-(o-p)*(w-n);l=1.0/+P(+(r*r+(m*m+s*s)));q=(B-n)*(l*m)+l*s*(C-p)+l*r*(D-v);if(q<0.0){q=-q;j=-(l*r);k=-(l*s);l=-(l*m)}else{j=l*r;k=l*s;l=l*m}if(!(q0.0&o>0.0&r>0.0)?!(m<=0.0&o<=0.0&r<=0.0):0){if((Nb[c[(c[e>>2]|0)+100>>2]&127](e)|0)<=0){i=E;return}o=0.0;q=0.0;p=0.0;e=0;z=0;do{F=c[a+8>>2]|0;tc[c[(c[F>>2]|0)+104>>2]&127](F,z,E+80|0,E+64|0);s=+g[E+80>>2];y=+g[E+84>>2];w=+g[E+88>>2];r=+g[E+64>>2]-s;x=+g[E+68>>2]-y;u=+g[E+72>>2]-w;do if((B-s)*r+(C-y)*x+(D-w)*u>0.0)if((B-s)*r+(C-y)*x+(D-w)*u>2]|0}while((z|0)<(Nb[c[(c[F>>2]|0)+100>>2]&127](F)|0));if(!(e&1)){i=E;return}else{s=o;r=q;q=p;m=A*A}}else{s=B-l*q;r=C-k*q;q=D-j*q;m=A*A}n=B-s;p=C-r;o=D-q;if(!(n*n+p*p+o*o1.1920928955078125e-07){j=+P(+(n*n+p*p+o*o));h=h-j;l=n*(1.0/j);k=p*(1.0/j);j=o*(1.0/j)}h=-h;if(f){u=+g[b+64>>2];t=+g[b+68>>2];m=+g[b+72>>2];n=u*l+t*k+m*j;B=+g[b+80>>2];A=+g[b+84>>2];y=+g[b+88>>2];o=l*B+k*A+j*y;x=+g[b+96>>2];w=+g[b+100>>2];v=+g[b+104>>2];p=l*x+k*w+j*v;g[E+48>>2]=-n;g[E+52>>2]=-o;g[E+56>>2]=-p;g[E+60>>2]=0.0;o=s*B+r*A+q*y+ +g[b+116>>2]+o*h;p=s*x+r*w+q*v+ +g[b+120>>2]+p*h;g[E+32>>2]=s*u+r*t+q*m+ +g[b+112>>2]+n*h;g[E+36>>2]=o;g[E+40>>2]=p;g[E+44>>2]=0.0;oc[c[(c[d>>2]|0)+16>>2]&15](d,E+48|0,E+32|0,h);i=E;return}else{e=c[(c[d>>2]|0)+16>>2]|0;t=+g[b+64>>2];m=+g[b+68>>2];n=+g[b+72>>2];x=+g[b+80>>2];w=+g[b+84>>2];o=+g[b+88>>2];v=+g[b+96>>2];u=+g[b+100>>2];p=+g[b+104>>2];g[E+16>>2]=t*l+m*k+n*j;g[E+20>>2]=l*x+k*w+j*o;g[E+24>>2]=l*v+k*u+j*p;g[E+28>>2]=0.0;o=s*x+r*w+q*o+ +g[b+116>>2];p=s*v+r*u+q*p+ +g[b+120>>2];g[E>>2]=s*t+r*m+q*n+ +g[b+112>>2];g[E+4>>2]=o;g[E+8>>2]=p;g[E+12>>2]=0.0;oc[e&15](d,E+16|0,E,h);i=E;return}}function ED(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function FD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;j=c[b+12>>2]|0;k=c[b+32>>2]|0;if((k|0)>=(j|0)){i=l;return}if((k|0)<=(j|0)){if((c[b+36>>2]|0)<(j|0)){if(!j){e=k;h=0}else{c[5108]=(c[5108]|0)+1;d=QE((j<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}e=c[b+32>>2]|0;h=d}if((e|0)>0){f=0;do{g=h+(f<<2)|0;if(g)c[g>>2]=c[(c[b+40>>2]|0)+(f<<2)>>2];f=f+1|0}while((f|0)!=(e|0))}d=c[b+40>>2]|0;if(d){if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+40>>2]=0}a[b+44>>0]=1;c[b+40>>2]=h;c[b+36>>2]=j;d=h}else d=c[b+40>>2]|0;g=k;do{f=d+(g<<2)|0;if(f)c[f>>2]=0;g=g+1|0}while((g|0)!=(j|0))}c[b+32>>2]=j;g=c[b+52>>2]|0;if((g|0)<(j|0)){if((c[b+56>>2]|0)<(j|0)){if(!j){h=g;f=0}else{c[5108]=(c[5108]|0)+1;d=QE((j<<2|3)+16|0)|0;if(!d)f=0;else{c[(d+19&-16)+-4>>2]=d;f=d+19&-16}h=c[b+52>>2]|0}if((h|0)>0){d=0;do{e=f+(d<<2)|0;if(e)c[e>>2]=c[(c[b+60>>2]|0)+(d<<2)>>2];d=d+1|0}while((d|0)!=(h|0))}d=c[b+60>>2]|0;if(d){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+60>>2]=0}a[b+64>>0]=1;c[b+60>>2]=f;c[b+56>>2]=j;e=f}else e=c[b+60>>2]|0;do{f=e+(g<<2)|0;if(f)c[f>>2]=0;g=g+1|0}while((g|0)!=(j|0))}c[b+52>>2]=j;if((j|0)>0){VE(c[b+40>>2]|0,-1,j<<2|0)|0;VE(c[b+60>>2]|0,-1,j<<2|0)|0}if((k|0)<=0){i=l;return}d=c[b+16>>2]|0;e=c[b+40>>2]|0;f=c[b+60>>2]|0;g=0;do{h=c[d+(g*12|0)+4>>2]<<16|c[d+(g*12|0)>>2];h=(h+~(h<<15)>>10^h+~(h<<15))*9|0;h=e+((((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11))&(c[b+12>>2]|0)+-1)<<2)|0;c[f+(g<<2)>>2]=c[h>>2];c[h>>2]=g;g=g+1|0}while((g|0)!=(k|0));i=l;return}function GD(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=19920;d=c[b+60>>2]|0;if(d){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}function HD(a){a=a|0;var b=0;b=i;GD(a);RE(a);i=b;return}function ID(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;d=c[b+16>>2]|0;if(d){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+44>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+64>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){FD(b);i=h;return}c[5108]=(c[5108]|0)+1;d=QE(43)|0;if(!d)g=0;else{c[(d+19&-16)+-4>>2]=d;g=d+19&-16}d=c[b+8>>2]|0;if((d|0)>0){f=0;do{e=g+(f*12|0)|0;if(e){j=(c[b+16>>2]|0)+(f*12|0)|0;c[e+0>>2]=c[j+0>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2]}f=f+1|0}while((f|0)!=(d|0))}d=c[b+16>>2]|0;if(d){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=g;c[b+12>>2]=2;FD(b);i=h;return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;c[4972]=(c[4972]|0)+1;h=((d<<16|b)+~((d<<16|b)<<15)>>10^(d<<16|b)+~((d<<16|b)<<15))*9|0;m=c[a+40>>2]|0;h=m+(((c[a+12>>2]|0)+-1&((h>>6^h)+~((h>>6^h)<<11)>>16^(h>>6^h)+~((h>>6^h)<<11)))<<2)|0;f=c[h>>2]|0;if((f|0)==-1){m=0;i=p;return m|0}n=c[a+16>>2]|0;e=f;while(1){if((c[n+(e*12|0)>>2]|0)==(b|0)?(c[n+(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;o=22;break}}if((o|0)==22){i=p;return e|0}if(!(n+(e*12|0)|0)){m=0;i=p;return m|0}l=c[n+(e*12|0)+8>>2]|0;k=(e*12|0)/12|0;j=c[a+60>>2]|0;if((f|0)!=(k|0)){while(1){b=j+(f<<2)|0;d=c[b>>2]|0;if((d|0)==(k|0))break;else f=d}e=c[j+(k<<2)>>2]|0;if((f|0)==-1)o=12;else c[b>>2]=e}else{e=c[j+(f<<2)>>2]|0;o=12}if((o|0)==12)c[h>>2]=e;h=(c[a+8>>2]|0)+-1|0;if((h|0)==(k|0)){c[a+8>>2]=k;m=l;i=p;return m|0}g=c[n+(h*12|0)+4>>2]<<16|c[n+(h*12|0)>>2];g=(g+~(g<<15)>>10^g+~(g<<15))*9|0;g=((g>>6^g)+~((g>>6^g)<<11)>>16^(g>>6^g)+~((g>>6^g)<<11))&(c[a+12>>2]|0)+-1;e=c[m+(g<<2)>>2]|0;if((e|0)!=(h|0)){b=e;while(1){d=j+(b<<2)|0;f=c[d>>2]|0;if((f|0)==(h|0))break;else b=f}e=c[j+(h<<2)>>2]|0;if((b|0)==-1)o=20;else c[d>>2]=e}else{e=c[j+(h<<2)>>2]|0;o=20}if((o|0)==20)c[m+(g<<2)>>2]=e;c[n+(k*12|0)+0>>2]=c[n+(h*12|0)+0>>2];c[n+(k*12|0)+4>>2]=c[n+(h*12|0)+4>>2];c[n+(k*12|0)+8>>2]=c[n+(h*12|0)+8>>2];m=(c[a+40>>2]|0)+(g<<2)|0;c[(c[a+60>>2]|0)+(k<<2)>>2]=c[m>>2];c[m>>2]=k;c[a+8>>2]=(c[a+8>>2]|0)+-1;m=l;i=p;return m|0}function KD(a){a=a|0;return c[a+16>>2]|0}function LD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i;c[4974]=(c[4974]|0)+1;n=((e<<16|d)+~((e<<16|d)<<15)>>10^(e<<16|d)+~((e<<16|d)<<15))*9|0;n=(n>>6^n)+~((n>>6^n)<<11)>>16^(n>>6^n)+~((n>>6^n)<<11);m=c[b+12>>2]|0;f=c[(c[b+40>>2]|0)+((m+-1&n)<<2)>>2]|0;a:do if((f|0)!=-1){h=c[b+16>>2]|0;while(1){if((c[h+(f*12|0)>>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}f=h+(f*12|0)|0;if(f){e=f;i=o;return e|0}}while(0);l=c[b+8>>2]|0;if((l|0)==(m|0)){h=(m|0)==0?1:m<<1;if((m|0)<(h|0)){if(!h){k=m;g=0}else{c[5108]=(c[5108]|0)+1;f=QE((h*12|3)+16|0)|0;if(!f)g=0;else{c[(f+19&-16)+-4>>2]=f;g=f+19&-16}k=c[b+8>>2]|0}if((k|0)>0){j=0;do{f=g+(j*12|0)|0;if(f){p=(c[b+16>>2]|0)+(j*12|0)|0;c[f+0>>2]=c[p+0>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2]}j=j+1|0}while((j|0)!=(k|0))}f=c[b+16>>2]|0;if(f){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=g;c[b+12>>2]=h;f=c[b+8>>2]|0}else{f=m;h=m}}else{f=l;h=m}c[b+8>>2]=f+1;g=c[b+16>>2]|0;if((m|0)<(h|0)){FD(b);f=(c[b+12>>2]|0)+-1&n}else f=m+-1&n;c[g+(l*12|0)>>2]=d;c[g+(l*12|0)+4>>2]=e;c[g+(l*12|0)+8>>2]=0;e=(c[b+40>>2]|0)+(f<<2)|0;c[(c[b+60>>2]|0)+(l<<2)>>2]=c[e>>2];c[e>>2]=l;e=g+(l*12|0)|0;i=o;return e|0}function MD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;c[b>>2]=19992;d=c[b+56>>2]|0;if(d){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(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+28>>2]|0;if((d|0)>0){g=0;do{e=c[b+36>>2]|0;k=e+(g*36|0)+4|0;h=e+(g*36|0)+12|0;f=c[h>>2]|0;j=e+(g*36|0)+16|0;if(f){if(a[j>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[h>>2]=0}a[j>>0]=1;c[h>>2]=0;c[k>>2]=0;c[e+(g*36|0)+8>>2]=0;g=g+1|0}while((g|0)!=(d|0))}d=c[b+36>>2]|0;if(d){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=l;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=l;return}function ND(a){a=a|0;var b=0;b=i;MD(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function OD(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,h=0.0,j=0,k=0,l=0;l=i;b=c[a+28>>2]|0;if((b|0)<=0){b=1;i=l;return b|0}j=c[a+36>>2]|0;e=0.0;f=0.0;h=0.0;k=0;a:while(1){switch(k|0){case 1:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+72>>2]-+g[a+88>>2];h=+g[a+84>>2]+ +g[a+68>>2];break}case 6:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+68>>2]-+g[a+84>>2];break}case 2:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+68>>2]-+g[a+84>>2];break}case 5:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+72>>2]-+g[a+88>>2];h=+g[a+84>>2]+ +g[a+68>>2];break}case 4:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+84>>2]+ +g[a+68>>2];break}case 3:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+72>>2]-+g[a+88>>2];h=+g[a+68>>2]-+g[a+84>>2];break}case 0:{e=+g[a+80>>2]+ +g[a+64>>2];f=+g[a+88>>2]+ +g[a+72>>2];h=+g[a+84>>2]+ +g[a+68>>2];break}case 7:{e=+g[a+64>>2]-+g[a+80>>2];f=+g[a+72>>2]-+g[a+88>>2];h=+g[a+68>>2]-+g[a+84>>2];break}default:{}}d=0;do{if(+g[j+(d*36|0)+32>>2]+(e*+g[j+(d*36|0)+20>>2]+h*+g[j+(d*36|0)+24>>2]+f*+g[j+(d*36|0)+28>>2])>0.0){b=0;d=16;break a}d=d+1|0}while((d|0)<(b|0));k=k+1|0;if((k|0)>=8){b=1;d=16;break}}if((d|0)==16){i=l;return b|0}return 0}function PD(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 k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=i;i=i+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;m=c[a+8>>2]|0;if((m|0)>0){p=0;do{s=c[a+16>>2]|0;r=+g[s+(p<<4)>>2];k=+g[s+(p<<4)+4>>2];n=+g[s+(p<<4)+8>>2];l=r*+g[b>>2]+k*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];o=r*+g[b+16>>2]+k*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];n=r*+g[b+32>>2]+k*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];k=l*+g[d>>2]+o*+g[d+4>>2]+n*+g[d+8>>2];if(k<+g[e>>2]){g[e>>2]=k;g[h>>2]=l;g[h+4>>2]=o;g[h+8>>2]=n;g[h+12>>2]=0.0}if(k>+g[f>>2]){g[f>>2]=k;g[j>>2]=l;g[j+4>>2]=o;g[j+8>>2]=n;g[j+12>>2]=0.0}p=p+1|0}while((p|0)!=(m|0));l=+g[f>>2]}else l=-3402823466385288598117041.0e14;k=+g[e>>2];if(!(k>l)){i=q;return}g[e>>2]=l;g[f>>2]=k;c[q+0>>2]=c[h+0>>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+0>>2]=c[j+0>>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+0>>2]=c[q+0>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];i=q;return}function QD(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=20040;d=c[b+32>>2]|0;if(d){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return} +function Vw(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[b+(j<<2)>>2]/+g[a+(j<<2)+12>>2]*+g[a+60>>2];g[a+60>>2]=e;f=+g[a+56>>2]*((+g[b+(i<<2)>>2]/+g[a+(i<<2)+12>>2]+ +g[b+(h<<2)>>2]/+g[a+(h<<2)+12>>2])*.5);g[a+56>>2]=f;g[a+52>>2]=f/+P(+(e*e+f*f));f=+O(+(+g[b>>2]));e=+O(+(+g[b+4>>2]));d=+O(+(+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 Ww(a,b){a=a|0;b=b|0;g[a>>2]=1.0;g[a+4>>2]=0.0;g[a+8>>2]=0.0;g[a+12>>2]=0.0;return}function Xw(a){a=a|0;return 11960}function Yw(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Zw(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=0.0;g[a+8>>2]=1.0;g[a+12>>2]=0.0;return}function _w(a){a=a|0;return 11968}function $w(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function ax(a,b,c){a=a|0;b=b|0;c=c|0;return}function bx(a){a=a|0;return 0}function cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];c[b+52>>2]=c[a+68>>2];i=f;return 11976}function dx(a){a=a|0;return 60}function ex(a,b){a=a|0;b=b|0;g[a>>2]=0.0;g[a+4>>2]=1.0;g[a+8>>2]=0.0;g[a+12>>2]=0.0;return}function fx(a){a=a|0;return 11992}function gx(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;l=e+76|0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;tc[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+20>>2])*.5;k=(+g[e+8>>2]-+g[e+24>>2])*.5;f=+Zb[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 hx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);i=f;return}function ix(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function jx(a,b,d){a=a|0;b=b|0;d=d|0;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=i;if((e|0)>0)a=0;else{i=b;return}do{f=d+(a<<4)|0;a=a+1|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0}while((a|0)!=(e|0));i=b;return}function lx(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;pc[c[(c[b>>2]|0)+68>>2]&127](e,b,d);c[a+0>>2]=c[e+0>>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];l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+P(+(f*f+(l*l+k*k)));j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 mx(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.0;f=i;k=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);j=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);h=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);m=+g[b+52>>2]-j;l=+g[b+56>>2]-h;g[d>>2]=+g[b+48>>2]-k;g[d+4>>2]=m;g[d+8>>2]=l;g[d+12>>2]=0.0;j=j+ +g[b+52>>2];h=h+ +g[b+56>>2];g[e>>2]=k+ +g[b+48>>2];g[e+4>>2]=j;g[e+8>>2]=h;g[e+12>>2]=0.0;i=f;return}function nx(a,b,d){a=a|0;b=+b;d=d|0;var e=0;e=i;b=b*.4000000059604645*+Zb[c[(c[a>>2]|0)+48>>2]&15](a);b=b*+Zb[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;i=e;return}function ox(a){a=a|0;return +(+g[a+28>>2]*+g[a+12>>2])}function px(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function qx(a){a=a|0;return 12136}function rx(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function sx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0;h=i;Mx(b,d);c[b>>2]=12152;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[5108]=(c[5108]|0)+1;f=QE(191)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-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;g[f+4>>2]=-3402823466385288598117041.0e14;g[f+8>>2]=-3402823466385288598117041.0e14;g[f+12>>2]=-3402823466385288598117041.0e14;g[f+16>>2]=0.0;g[f+20>>2]=3402823466385288598117041.0e14;g[f+24>>2]=3402823466385288598117041.0e14;g[f+28>>2]=3402823466385288598117041.0e14;g[f+32>>2]=0.0;c[f>>2]=15088;c[b+52>>2]=f;Yz(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 tx(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=12152;if(!(a[b+61>>0]|0)){i=d;return}e=c[b+52>>2]|0;Jb[c[c[e>>2]>>2]&255](e);b=c[b+52>>2]|0;if(!b){i=d;return}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=d;return}function ux(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=12152;if(a[b+61>>0]|0){d=c[b+52>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}if(!b){i=e;return}}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=e;return}function vx(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]=12336;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;o=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((l|0)==-1&k){pc[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;m=43}else{n=l;l=(l|0)==-1;m=42}}else{l=c[p+32>>2]|0;n=l;l=(l|0)==-1;k=0;m=42}if((m|0)==42){m=0;if(k|l)m=43;else{k=n+o|0;l=p+(n<<6)|0}}if((m|0)==43){k=o+1|0;l=p+64|0}if((k|0)<(d|0)){o=k;p=l}else break}}else f=0;if((c[4340]|0)>=(f|0)){i=w;return}c[4340]=f;i=w;return}z=+g[h>>2];D=+g[h+4>>2];H=+g[h+8>>2];G=+g[v+4>>2];z=z>2];D=D>2];H=H>2];E=+g[v+24>>2];A=+g[v+28>>2];F=+g[v+36>>2];B=+g[v+40>>2];x=+g[v+44>>2];t=~~(((I>1]=t;u=~~(((E>1]=u;s=~~(((A>1]=s;H=+g[j>>2];D=+g[j+4>>2];z=+g[j+8>>2];H=H>1]=q;r=(~~(((E>1]=r;j=(~~(((A>1]=j;d=c[v+144>>2]|0;if(!d){o=c[v+56>>2]|0;if((o|0)>0){l=0;k=c[v+136>>2]|0;f=0;do{f=f+1|0;m=((q&65535)>=(e[k>>1]|0)?(t&65535)<=(e[k+6>>1]|0):0)&(s&65535)<=(e[k+10>>1]|0)&(j&65535)>=(e[k+4>>1]|0)&(u&65535)<=(e[k+8>>1]|0)&(r&65535)>=(e[k+2>>1]|0);n=k+12|0;d=c[n>>2]|0;if((d|0)>-1&m)pc[c[(c[w>>2]|0)+8>>2]&127](w,d>>21,d&2097151);if(m|(d|0)>-1){l=l+1|0;k=k+16|0}else{h=c[n>>2]|0;l=l-h|0;k=k+(0-h<<4)|0}}while((l|0)<(o|0))}else f=0;if((c[4340]|0)>=(f|0)){i=w;return}c[4340]=f;i=w;return}else if((d|0)==1){if((c[v+152>>2]|0)<=0){i=w;return}h=0;do{k=c[v+160>>2]|0;if(((q&65535)>=(e[k+(h<<5)>>1]|0)?(t&65535)<=(e[k+(h<<5)+6>>1]|0):0)&(s&65535)<=(e[k+(h<<5)+10>>1]|0)&(j&65535)>=(e[k+(h<<5)+4>>1]|0)&(u&65535)<=(e[k+(h<<5)+8>>1]|0)&(r&65535)>=(e[k+(h<<5)+2>>1]|0)){p=c[k+(h<<5)+12>>2]|0;o=c[k+(h<<5)+16>>2]|0;a:do if((o|0)>0){n=p;m=(c[v+136>>2]|0)+(p<<4)|0;k=1;while(1){d=((q&65535)>=(e[m>>1]|0)?(t&65535)<=(e[m+6>>1]|0):0)&(s&65535)<=(e[m+10>>1]|0)&(j&65535)>=(e[m+4>>1]|0)&(u&65535)<=(e[m+8>>1]|0)&(r&65535)>=(e[m+2>>1]|0);f=m+12|0;l=c[f>>2]|0;if((l|0)>-1&d)pc[c[(c[w>>2]|0)+8>>2]&127](w,l>>21,l&2097151);if(d|(l|0)>-1){n=n+1|0;m=m+16|0}else{l=c[f>>2]|0;n=n-l|0;m=m+(0-l<<4)|0}if((n|0)>=(o+p|0))break a;k=k+1|0}}else k=0;while(0);if((c[4340]|0)<(k|0))c[4340]=k}h=h+1|0}while((h|0)<(c[v+152>>2]|0));i=w;return}else if((d|0)==2){sC(c[v+136>>2]|0,w,w+66|0,w+60|0);i=w;return}else{i=w;return}}function wx(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0.0,k=0.0,l=0;f=i;l=Nb[c[(c[b>>2]|0)+28>>2]&127](b)|0;k=+g[l>>2]-+g[d>>2];j=+g[l+4>>2]-+g[d+4>>2];h=+g[l+8>>2]-+g[d+8>>2];if(!(k*k+j*j+h*h>1.1920928955078125e-07)){i=f;return}Qx(b,d);if((a[b+61>>0]|0)!=0?(e=c[b+52>>2]|0,Jb[c[c[e>>2]>>2]&255](e),e=c[b+52>>2]|0,(e|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[5108]=(c[5108]|0)+1;e=QE(191)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-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;g[e+4>>2]=-3402823466385288598117041.0e14;g[e+8>>2]=-3402823466385288598117041.0e14;g[e+12>>2]=-3402823466385288598117041.0e14;g[e+16>>2]=0.0;g[e+20>>2]=3402823466385288598117041.0e14;g[e+24>>2]=3402823466385288598117041.0e14;g[e+28>>2]=3402823466385288598117041.0e14;g[e+32>>2]=0.0;c[e>>2]=15088;c[b+52>>2]=e;Yz(e,c[b+48>>2]|0,(a[b+60>>0]|0)!=0,b+16|0,b+32|0);a[b+61>>0]=1;i=f;return}function xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;h=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;j=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=j;if(j)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];e=c[a+48>>2]|0;Wb[c[(c[e>>2]|0)+56>>2]&63](e,b+12|0,d)|0;g[b+52>>2]=+g[a+12>>2];do if((c[a+52>>2]|0)!=0?((Nb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&1|0)==0:0){e=ec[c[(c[d>>2]|0)+24>>2]&31](d,c[a+52>>2]|0)|0;if(!e){c[b+40>>2]=ec[c[(c[d>>2]|0)+28>>2]&31](d,c[a+52>>2]|0)|0;c[b+44>>2]=0;j=c[a+52>>2]|0;j=Nb[c[(c[j>>2]|0)+12>>2]&127](j)|0;j=Wb[c[(c[d>>2]|0)+16>>2]&63](d,j,1)|0;e=c[a+52>>2]|0;e=Wb[c[(c[e>>2]|0)+16>>2]&63](e,c[j+8>>2]|0,d)|0;Hb[c[(c[d>>2]|0)+20>>2]&31](d,j,e,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)!=0?((Nb[c[(c[d>>2]|0)+52>>2]&127](d)|0)&2|0)==0:0){e=ec[c[(c[d>>2]|0)+24>>2]&31](d,c[a+56>>2]|0)|0;if(!e){c[b+48>>2]=ec[c[(c[d>>2]|0)+28>>2]&31](d,c[a+56>>2]|0)|0;f=c[a+56>>2]|0;f=Nb[c[(c[f>>2]|0)+8>>2]&127](f)|0;f=Wb[c[(c[d>>2]|0)+16>>2]&63](d,f,1)|0;e=c[a+56>>2]|0;e=Wb[c[(c[e>>2]|0)+12>>2]&63](e,c[f+8>>2]|0,d)|0;Hb[c[(c[d>>2]|0)+20>>2]&31](d,f,e,1346456916,c[a+56>>2]|0);i=h;return 12240}else{c[b+48>>2]=e;i=h;return 12240}}c[b+48>>2]=0;i=h;return 12240}function yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;d=c[a+52>>2]|0;if(!d){i=e;return}f=Nb[c[(c[d>>2]|0)+12>>2]&127](d)|0;f=Wb[c[(c[b>>2]|0)+16>>2]&63](b,f,1)|0;d=c[a+52>>2]|0;d=Wb[c[(c[d>>2]|0)+16>>2]&63](d,c[f+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,f,d,1213612625,c[a+52>>2]|0);i=e;return}function zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;d=c[a+56>>2]|0;if(!d){i=e;return}f=Nb[c[(c[d>>2]|0)+8>>2]&127](d)|0;f=Wb[c[(c[b>>2]|0)+16>>2]&63](b,f,1)|0;d=c[a+56>>2]|0;d=Wb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,f,d,1346456916,c[a+56>>2]|0);i=e;return}function Ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;pc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=e;return}function Bx(a){a=a|0;return 60}function Cx(a){a=a|0;return +(+g[a+12>>2])}function Dx(a,b){a=a|0;b=+b;g[a+12>>2]=b;return}function Ex(a){a=a|0;return 12312}function Fx(a,b,f){a=a|0;b=b|0;f=f|0;var j=0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;t=i;i=i+32|0;p=c[a+4>>2]|0;dc[c[(c[p>>2]|0)+16>>2]&3](p,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t,b);p=c[t+12>>2]|0;s=$(c[t+8>>2]|0,f)|0;q=c[a+4>>2]|0;o=c[t>>2]|0;r=2;while(1){if((o|0)==3)j=e[p+s+(r<<1)>>1]|0;else if((o|0)==2)j=c[p+s+(r<<2)>>2]|0;else j=d[p+(r+s)>>0]|0;l=c[t+28>>2]|0;j=$(c[t+16>>2]|0,j)|0;if(!(c[t+20>>2]|0)){m=+g[l+j>>2]*+g[q+4>>2];n=+g[l+(j+4)>>2]*+g[q+8>>2];k=+g[l+(j+8)>>2]*+g[q+12>>2]}else{m=+h[l+j>>3]*+g[q+4>>2];n=+h[l+(j+8)>>3]*+g[q+8>>2];k=+h[l+(j+16)>>3]*+g[q+12>>2]}g[a+(r<<4)+12>>2]=m;g[a+(r<<4)+16>>2]=n;g[a+(r<<4)+20>>2]=k;g[a+(r<<4)+24>>2]=0.0;if((r|0)>0)r=r+-1|0;else break}s=c[a+8>>2]|0;tc[c[(c[s>>2]|0)+8>>2]&127](s,a+12|0,b,f);a=c[a+4>>2]|0;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=t;return}function Gx(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Hx(a){a=a|0;return}function Ix(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,s=0;s=i;i=i+80|0;n=c[a+4>>2]|0;dc[c[(c[n>>2]|0)+16>>2]&3](n,s+28|0,s+24|0,s+20|0,s+16|0,s+12|0,s+8|0,s+4|0,s,b);n=c[s+12>>2]|0;o=$(c[s+8>>2]|0,d)|0;q=c[a+4>>2]|0;p=(c[s+20>>2]|0)==0;r=c[s+28>>2]|0;if((c[s>>2]|0)!=3){l=c[s+16>>2]|0;m=$(l,c[n+(o+8)>>2]|0)|0;if(p){j=+g[r+(m+4)>>2]*+g[q+8>>2];f=+g[r+(m+8)>>2]*+g[q+12>>2];g[s+64>>2]=+g[r+m>>2]*+g[q+4>>2];g[s+68>>2]=j;g[s+72>>2]=f;g[s+76>>2]=0.0;p=$(l,c[n+(o+4)>>2]|0)|0;f=+g[r+(p+4)>>2]*+g[q+8>>2];j=+g[r+(p+8)>>2]*+g[q+12>>2];g[s+48>>2]=+g[r+p>>2]*+g[q+4>>2];g[s+52>>2]=f;g[s+56>>2]=j;g[s+60>>2]=0.0;p=$(l,c[n+o>>2]|0)|0;j=+g[r+(p+4)>>2]*+g[q+8>>2];f=+g[r+(p+8)>>2]*+g[q+12>>2];g[s+32>>2]=+g[r+p>>2]*+g[q+4>>2];g[s+36>>2]=j;g[s+40>>2]=f;g[s+44>>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;tc[q&127](r,s+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;Lb[d&127](a,b);i=s;return}else{j=+h[r+(m+8)>>3]*+g[q+8>>2];f=+h[r+(m+16)>>3]*+g[q+12>>2];g[s+64>>2]=+h[r+m>>3]*+g[q+4>>2];g[s+68>>2]=j;g[s+72>>2]=f;g[s+76>>2]=0.0;p=$(l,c[n+(o+4)>>2]|0)|0;f=+h[r+(p+8)>>3]*+g[q+8>>2];j=+h[r+(p+16)>>3]*+g[q+12>>2];g[s+48>>2]=+h[r+p>>3]*+g[q+4>>2];g[s+52>>2]=f;g[s+56>>2]=j;g[s+60>>2]=0.0;p=$(l,c[n+o>>2]|0)|0;j=+h[r+(p+8)>>3]*+g[q+8>>2];f=+h[r+(p+16)>>3]*+g[q+12>>2];g[s+32>>2]=+h[r+p>>3]*+g[q+4>>2];g[s+36>>2]=j;g[s+40>>2]=f;g[s+44>>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;tc[q&127](r,s+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;Lb[d&127](a,b);i=s;return}}l=c[s+16>>2]|0;m=$(l,e[n+(o+4)>>1]|0)|0;if(p){j=+g[r+m>>2]*+g[q+4>>2];f=+g[r+(m+4)>>2]*+g[q+8>>2];k=+g[r+(m+8)>>2]*+g[q+12>>2]}else{j=+h[r+m>>3]*+g[q+4>>2];f=+h[r+(m+8)>>3]*+g[q+8>>2];k=+h[r+(m+16)>>3]*+g[q+12>>2]}g[s+64>>2]=j;g[s+68>>2]=f;g[s+72>>2]=k;g[s+76>>2]=0.0;m=$(l,e[n+(o+2)>>1]|0)|0;if(p){j=+g[r+m>>2]*+g[q+4>>2];f=+g[r+(m+4)>>2]*+g[q+8>>2];k=+g[r+(m+8)>>2]*+g[q+12>>2]}else{j=+h[r+m>>3]*+g[q+4>>2];f=+h[r+(m+8)>>3]*+g[q+8>>2];k=+h[r+(m+16)>>3]*+g[q+12>>2]}g[s+48>>2]=j;g[s+52>>2]=f;g[s+56>>2]=k;g[s+60>>2]=0.0;l=$(l,e[n+o>>1]|0)|0;if(p){j=+g[r+l>>2]*+g[q+4>>2];k=+g[r+(l+4)>>2]*+g[q+8>>2];f=+g[r+(l+8)>>2]*+g[q+12>>2]}else{j=+h[r+l>>3]*+g[q+4>>2];k=+h[r+(l+8)>>3]*+g[q+8>>2];f=+h[r+(l+16)>>3]*+g[q+12>>2]}g[s+32>>2]=j;g[s+36>>2]=k;g[s+40>>2]=f;g[s+44>>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;tc[q&127](r,s+32|0,b,d);a=c[a+4>>2]|0;d=c[a>>2]|0;d=d+24|0;d=c[d>>2]|0;Lb[d&127](a,b);i=s;return}function Jx(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Kx(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=i;i=i+80|0;o=c[a+4>>2]|0;dc[c[(c[o>>2]|0)+16>>2]&3](o,s+28|0,s+24|0,s+20|0,s+16|0,s+12|0,s+8|0,s+4|0,s,b);o=(c[s+12>>2]|0)+($(c[s+8>>2]|0,d)|0)|0;m=c[a+4>>2]|0;p=(c[s>>2]|0)==3;q=(c[s+20>>2]|0)==0;n=c[s+28>>2]|0;r=2;while(1){if(p)f=e[o+(r<<1)>>1]|0;else f=c[o+(r<<2)>>2]|0;f=$(c[s+16>>2]|0,f)|0;if(q){k=+g[n+f>>2]*+g[m+4>>2];l=+g[n+(f+4)>>2]*+g[m+8>>2];j=+g[n+(f+8)>>2]*+g[m+12>>2]}else{k=+h[n+f>>3]*+g[m+4>>2];l=+h[n+(f+8)>>3]*+g[m+8>>2];j=+h[n+(f+16)>>3]*+g[m+12>>2]}g[s+32+(r<<4)>>2]=k;g[s+32+(r<<4)+4>>2]=l;g[s+32+(r<<4)+8>>2]=j;g[s+32+(r<<4)+12>>2]=0.0;if((r|0)>0)r=r+-1|0;else break}r=c[a+8>>2]|0;tc[c[(c[r>>2]|0)+8>>2]&127](r,s+32|0,b,d);a=c[a+4>>2]|0;Lb[c[(c[a>>2]|0)+24>>2]&127](a,b);i=s;return}function Lx(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Mx(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+48|0;c[a+8>>2]=0;g[a+12>>2]=0.0;c[a>>2]=12824;c[a+48>>2]=b;c[a+4>>2]=21;if(Nb[c[(c[b>>2]|0)+40>>2]&127](b)|0){pc[c[(c[b>>2]|0)+48>>2]&127](b,a+16|0,a+32|0);i=d;return}else{c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+32>>2]=1.0;pc[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;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+36>>2]=1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+20>>2]+ +g[a+12>>2];g[d+36>>2]=-1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+20>>2]=+g[d+20>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+40>>2]=1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+24>>2]+ +g[a+12>>2];g[d+40>>2]=-1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+24>>2]=+g[d+24>>2]-+g[a+12>>2];i=d;return}}function Nx(a){a=a|0;return}function Ox(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Px(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.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;f=i;q=(+g[a+32>>2]-+g[a+16>>2])*.5;n=(+g[a+36>>2]-+g[a+20>>2])*.5;k=(+g[a+40>>2]-+g[a+24>>2])*.5;p=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);k=k+ +Zb[c[(c[a>>2]|0)+48>>2]&15](a);D=(+g[a+32>>2]+ +g[a+16>>2])*.5;B=(+g[a+36>>2]+ +g[a+20>>2])*.5;z=(+g[a+40>>2]+ +g[a+24>>2])*.5;H=+g[b>>2];y=+O(+H);G=+g[b+4>>2];x=+O(+G);v=+g[b+8>>2];w=+O(+v);F=+g[b+16>>2];u=+O(+F);E=+g[b+20>>2];t=+O(+E);r=+g[b+24>>2];s=+O(+r);C=+g[b+32>>2];o=+O(+C);A=+g[b+36>>2];l=+O(+A);h=+g[b+40>>2];j=+O(+h);v=D*H+B*G+z*v+ +g[b+48>>2];r=D*F+B*E+z*r+ +g[b+52>>2];h=D*C+B*A+z*h+ +g[b+56>>2];g[d>>2]=v-((q+p)*y+(n+m)*x+k*w);g[d+4>>2]=r-((q+p)*u+(n+m)*t+k*s);g[d+8>>2]=h-((q+p)*o+(n+m)*l+k*j);g[d+12>>2]=0.0;g[e>>2]=(q+p)*y+(n+m)*x+k*w+v;g[e+4>>2]=(q+p)*u+(n+m)*t+k*s+r;g[e+8>>2]=(q+p)*o+(n+m)*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function Qx(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+0>>2]=c[b+0>>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+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+32>>2]=1.0;pc[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;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+16>>2]=+g[d+16>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+36>>2]=1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+36>>2]=+g[d+20>>2]+ +g[a+12>>2];g[d+36>>2]=-1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+20>>2]=+g[d+20>>2]-+g[a+12>>2];c[d+32>>2]=0;c[d+36>>2]=0;c[d+40>>2]=0;c[d+44>>2]=0;g[d+40>>2]=1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d+16|0,a,d+32|0);g[a+40>>2]=+g[d+24>>2]+ +g[a+12>>2];g[d+40>>2]=-1.0;pc[c[(c[a>>2]|0)+68>>2]&127](d,a,d+32|0);c[d+16>>2]=c[d+0>>2];c[d+20>>2]=c[d+4>>2];c[d+24>>2]=c[d+8>>2];c[d+28>>2]=c[d+12>>2];g[a+24>>2]=+g[d+24>>2]-+g[a+12>>2];i=d;return}function Rx(a){a=a|0;return (c[a+48>>2]|0)+4|0}function Sx(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]=13032;c[f+4>>2]=b;c[f+8>>2]=c[d+0>>2];c[f+12>>2]=c[d+4>>2];c[f+16>>2]=c[d+8>>2];c[f+20>>2]=c[d+12>>2];c[f+24>>2]=c[e+0>>2];c[f+28>>2]=c[e+4>>2];c[f+32>>2]=c[e+8>>2];c[f+36>>2]=c[e+12>>2];b=c[a+48>>2]|0;tc[c[(c[b>>2]|0)+8>>2]&127](b,f,d,e);i=f;return}function Tx(a,b,d){a=a|0;b=+b;d=d|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Ux(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+176|0;c[e+160>>2]=0;c[e+164>>2]=0;c[e+168>>2]=0;c[e+172>>2]=0;c[e+136>>2]=0;c[e+140>>2]=0;c[e+144>>2]=0;c[e+148>>2]=0;c[e+152>>2]=0;c[e+32>>2]=12968;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=c[e+160>>2];c[e+60>>2]=c[e+164>>2];c[e+64>>2]=c[e+168>>2];c[e+68>>2]=0;g[e+72>>2]=1.0;c[e+76>>2]=0;c[e+80>>2]=0;c[e+84>>2]=0;c[e+88>>2]=0;g[e+92>>2]=1.0;g[e+96>>2]=0.0;c[e+100>>2]=c[e+140>>2];c[e+104>>2]=c[e+144>>2];c[e+108>>2]=c[e+148>>2];c[e+112>>2]=c[e+152>>2];g[e+116>>2]=-999999984306749440.0;l=+g[d>>2];k=+g[d+4>>2];j=+g[d+8>>2];h=l*+g[e+56>>2]+k+j*0.0;f=l*+g[e+60>>2]+k*0.0+j;g[e+120>>2]=l+k*0.0+j*0.0;g[e+124>>2]=h;g[e+128>>2]=f;g[e+132>>2]=0.0;g[e+16>>2]=999999984306749440.0;g[e+20>>2]=999999984306749440.0;g[e+24>>2]=999999984306749440.0;g[e+28>>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;tc[d&127](b,e+32|0,e,e+16|0);c[a+0>>2]=c[e+36>>2];c[a+4>>2]=c[e+40>>2];c[a+8>>2]=c[e+44>>2];c[a+12>>2]=c[e+48>>2];i=e;return}function Vx(a){a=a|0;return 12}function Wx(a){a=a|0;return 12944}function Xx(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;e=i;j=+g[a+88>>2];k=+g[a+92>>2];l=+g[a+96>>2];f=j*+g[b>>2]+k*+g[b+4>>2]+l*+g[b+8>>2];h=+g[a+84>>2];if(f>h){g[a+84>>2]=f;c[a+4>>2]=c[b+0>>2];c[a+8>>2]=c[b+4>>2];c[a+12>>2]=c[b+8>>2];c[a+16>>2]=c[b+12>>2]}else f=h;h=j*+g[b+16>>2]+k*+g[b+20>>2]+l*+g[b+24>>2];if(h>f){g[a+84>>2]=h;c[a+4>>2]=c[b+16>>2];c[a+8>>2]=c[b+20>>2];c[a+12>>2]=c[b+24>>2];c[a+16>>2]=c[b+28>>2]}else h=f;f=j*+g[b+32>>2]+k*+g[b+36>>2]+l*+g[b+40>>2];if(!(f>h)){i=e;return}g[a+84>>2]=f;c[a+4>>2]=c[b+32>>2];c[a+8>>2]=c[b+36>>2];c[a+12>>2]=c[b+40>>2];c[a+16>>2]=c[b+44>>2];i=e;return}function Yx(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Zx(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,l=0.0,m=0;k=i;f=+g[b>>2];h=+g[b+16>>2];l=f>2];if((l+g[a+24>>2]){i=k;return}m=f>h?b:b+16|0;if(+g[(+g[m>>2]>j?m:b+32|0)>>2]<+g[a+8>>2]){i=k;return}j=+g[b+8>>2];h=+g[b+24>>2];l=j>2];if((l+g[a+32>>2]){i=k;return}m=j>h?b+8|0:b+24|0;if(+g[(+g[m>>2]>f?m:b+40|0)>>2]<+g[a+16>>2]){i=k;return}h=+g[b+4>>2];f=+g[b+20>>2];l=h>2];if((l+g[a+28>>2]){i=k;return}m=h>f?b+4|0:b+20|0;if(+g[(+g[m>>2]>j?m:b+36|0)>>2]<+g[a+12>>2]){i=k;return}a=c[a+4>>2]|0;tc[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);i=k;return}function _x(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function $x(a){a=a|0;return}function ay(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function by(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;g[c>>2]=-999999984306749440.0;g[c+4>>2]=-999999984306749440.0;g[c+8>>2]=-999999984306749440.0;g[c+12>>2]=0.0;g[d>>2]=999999984306749440.0;g[d+4>>2]=999999984306749440.0;g[d+8>>2]=999999984306749440.0;g[d+12>>2]=0.0;return}function cy(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];l=+P(+((t-u)*.5*((t-u)*.5)+(v-w)*.5*((v-w)*.5)+(s-h)*.5*((s-h)*.5)));j=+g[a+56>>2];e=+O(+j)>.7071067690849304;k=+g[a+52>>2];if(e){r=1.0/+P(+(j*j+k*k));y=+g[a+48>>2];f=y;m=y*-(j*r);n=0.0;o=k*r;p=-(j*r);q=(j*j+k*k)*r;r=-(y*(k*r))}else{q=+g[a+48>>2];r=1.0/+P(+(q*q+k*k));f=q;m=(q*q+k*k)*r;n=-(k*r);o=0.0;p=q*r;q=-(j*(q*r));r=j*-(k*r)}y=(t+u)*.5*f+(v+w)*.5*k+(s+h)*.5*j-+g[a+64>>2];f=(t+u)*.5-f*y;t=l*n;n=l*p;p=l*o;u=l*q;o=l*r;q=l*m;g[x>>2]=u+(t+f);g[x+4>>2]=o+(n+((v+w)*.5-k*y));g[x+8>>2]=q+(p+((s+h)*.5-j*y));g[x+12>>2]=0.0;g[x+16>>2]=t+f-u;g[x+20>>2]=n+((v+w)*.5-k*y)-o;g[x+24>>2]=p+((s+h)*.5-j*y)-q;g[x+28>>2]=0.0;g[x+32>>2]=f-t-u;g[x+36>>2]=(v+w)*.5-k*y-n-o;g[x+40>>2]=(s+h)*.5-j*y-p-q;g[x+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,x,0,0);g[x>>2]=f-t-u;g[x+4>>2]=(v+w)*.5-k*y-n-o;g[x+8>>2]=(s+h)*.5-j*y-p-q;g[x+12>>2]=0.0;g[x+16>>2]=u+(f-t);g[x+20>>2]=o+((v+w)*.5-k*y-n);g[x+24>>2]=q+((s+h)*.5-j*y-p);g[x+28>>2]=0.0;g[x+32>>2]=u+(t+f);g[x+36>>2]=o+(n+((v+w)*.5-k*y));g[x+40>>2]=q+(p+((s+h)*.5-j*y));g[x+44>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,x,0,1);i=x;return}function dy(a,b,d){a=a|0;b=+b;d=d|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function ey(a,b){a=a|0;b=b|0;c[a+68>>2]=c[b+0>>2];c[a+72>>2]=c[b+4>>2];c[a+76>>2]=c[b+8>>2];c[a+80>>2]=c[b+12>>2];return}function fy(a){a=a|0;return a+68|0}function gy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+12>>2]=+g[a+68>>2];g[b+16>>2]=+g[a+72>>2];g[b+20>>2]=+g[a+76>>2];g[b+24>>2]=+g[a+80>>2];g[b+28>>2]=+g[a+48>>2];g[b+32>>2]=+g[a+52>>2];g[b+36>>2]=+g[a+56>>2];g[b+40>>2]=+g[a+60>>2];g[b+44>>2]=+g[a+64>>2];i=f;return 13288}function hy(a){a=a|0;return 52}function iy(a){a=a|0;return 13312}function jy(a){a=a|0;var b=0,d=0;d=i;c[a>>2]=13336;b=c[a+52>>2]|0;if(b){Jb[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(b){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}if(!a){i=d;return}}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=d;return}function ky(d,f){d=d|0;f=f|0;var h=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.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0,G=0.0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=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,fa=0.0,ga=0.0;ea=i;i=i+320|0;h=c[d+52>>2]|0;if((h|0)!=0?(Jb[c[c[h>>2]>>2]&255](h),j=c[d+52>>2]|0,(j|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[5108]=(c[5108]|0)+1;h=QE(151)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-16}c[h>>2]=19992;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;j=0;J=0;da=0;k=0;while(1){if((j|0)>=(Nb[c[(c[d>>2]|0)+96>>2]&127](d)|0))break;if((J|0)==(k|0)){o=(k|0)==0?1:k<<1;if((k|0)<(o|0)){if((o|0)!=0?(c[5108]=(c[5108]|0)+1,w=QE((o<<4|3)+16|0)|0,(w|0)!=0):0){c[(w+19&-16)+-4>>2]=w;m=w+19&-16}else m=0;if((k|0)>0){n=0;do{N=m+(n<<4)|0;M=da+(n<<4)|0;c[N+0>>2]=c[M+0>>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=n+1|0}while((n|0)!=(k|0))}if(!da){l=k;n=m}else{c[5110]=(c[5110]|0)+1;RE(c[da+-4>>2]|0);l=k;n=m}}else{l=k;n=da;o=k}}else{l=J;n=da;o=k}da=n+(J<<4)|0;c[da+0>>2]=c[ea+192>>2];c[da+4>>2]=c[ea+196>>2];c[da+8>>2]=c[ea+200>>2];c[da+12>>2]=c[ea+204>>2];pc[c[(c[d>>2]|0)+108>>2]&127](d,j,da);j=j+1|0;J=l+1|0;da=n;k=o}a[ea+148>>0]=1;ca=ea+144|0;c[ca>>2]=0;c[ea+136>>2]=0;c[ea+140>>2]=0;a[ea+168>>0]=1;ba=ea+164|0;c[ba>>2]=0;c[ea+156>>2]=0;c[ea+160>>2]=0;a[ea+188>>0]=1;aa=ea+184|0;c[aa>>2]=0;c[ea+176>>2]=0;c[ea+180>>2]=0;if(f){if((J|0)>0){x=0;n=0;m=0;l=0;while(1){o=x;x=x+1|0;if((x|0)<(J|0)){w=da+(o<<4)|0;f=da+(o<<4)+4|0;k=da+(o<<4)+8|0;H=x;o=m;do{m=H;H=H+1|0;if((H|0)<(J|0)){h=da+(m<<4)|0;j=da+(m<<4)+4|0;z=da+(m<<4)+8|0;y=H;do{t=+g[w>>2];s=+g[h>>2]-t;p=+g[f>>2];I=+g[j>>2]-p;r=+g[k>>2];q=+g[z>>2]-r;t=+g[da+(y<<4)>>2]-t;p=+g[da+(y<<4)+4>>2]-p;r=+g[da+(y<<4)+8>>2]-r;F=1.0;A=0;while(1){E=(I*r-q*p)*F;u=(q*t-s*r)*F;v=(s*p-I*t)*F;a:do if(v*v+(E*E+u*u)>9.999999747378752e-05){F=1.0/+P(+(v*v+(E*E+u*u)));if((n|0)>0){D=0;do{if(E*F*+g[l+(D<<4)>>2]+u*F*+g[l+(D<<4)+4>>2]+v*F*+g[l+(D<<4)+8>>2]>.9990000128746033)break a;D=D+1|0}while((D|0)<(n|0))}G=E*F*+g[w>>2]+u*F*+g[f>>2]+v*F*+g[k>>2];D=0;do{if(E*F*+g[da+(D<<4)>>2]+u*F*+g[da+(D<<4)+4>>2]+v*F*+g[da+(D<<4)+8>>2]-G+-.009999999776482582>0.0)break a;D=D+1|0}while((D|0)<(J|0));do if((n|0)==(o|0)){C=(o|0)==0?1:o<<1;if((o|0)<(C|0)){do if(!C)B=0;else{c[5108]=(c[5108]|0)+1;D=QE((C<<4|3)+16|0)|0;if(!D){B=0;break}c[(D+19&-16)+-4>>2]=D;B=D+19&-16}while(0);if((o|0)>0){D=0;do{N=B+(D<<4)|0;M=l+(D<<4)|0;c[N+0>>2]=c[M+0>>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];D=D+1|0}while((D|0)!=(o|0))}if(!l){D=o;o=C;l=B;break}c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0);D=o;o=C;l=B}else D=o}else D=n;while(0);g[l+(D<<4)>>2]=E*F;g[l+(D<<4)+4>>2]=u*F;g[l+(D<<4)+8>>2]=v*F;g[l+(D<<4)+12>>2]=-G;n=n+1|0}while(0);A=A+1|0;if((A|0)==2)break;else F=-1.0}y=y+1|0}while((y|0)!=(J|0))}}while((H|0)!=(J|0))}else o=m;if((x|0)==(J|0))break;else m=o}if((n|0)>0){w=0;j=0;h=0;while(1){N=l+(w<<4)|0;c[ea+120>>2]=c[N+0>>2];c[ea+124>>2]=c[N+4>>2];c[ea+128>>2]=c[N+8>>2];v=+g[l+(w<<4)+12>>2];v=v-+Zb[c[(c[d>>2]|0)+48>>2]&15](d);if((w|0)==(j|0)){k=(j|0)==0?1:j<<1;if((j|0)<(k|0)){if((k|0)!=0?(c[5108]=(c[5108]|0)+1,K=QE((k<<4|3)+16|0)|0,(K|0)!=0):0){c[(K+19&-16)+-4>>2]=K;m=K+19&-16}else m=0;if((j|0)>0){o=0;do{N=m+(o<<4)|0;M=h+(o<<4)|0;c[N+0>>2]=c[M+0>>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];o=o+1|0}while((o|0)!=(j|0))}if(!h)o=j;else{c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0);o=j}}else{o=j;k=j;m=h}}else{o=w;k=j;m=h}N=m+(o<<4)|0;c[N+0>>2]=c[ea+120>>2];c[N+4>>2]=c[ea+124>>2];c[N+8>>2]=c[ea+128>>2];g[m+(o<<4)+12>>2]=v;w=w+1|0;if((w|0)<(n|0)){j=k;h=m}else break}if((w|0)>0){h=0;n=0;o=0;k=0;do{z=h;h=h+1|0;if((h|0)<(w|0)){y=h;do{B=y;y=y+1|0;if((y|0)<(w|0)){A=y;D=o;C=k;while(1){s=+g[m+(B<<4)+4>>2];v=+g[m+(A<<4)+8>>2];u=+g[m+(B<<4)+8>>2];r=+g[m+(A<<4)+4>>2];q=+g[m+(A<<4)>>2];p=+g[m+(B<<4)>>2];t=+g[m+(z<<4)+8>>2];E=+g[m+(z<<4)+4>>2];F=+g[m+(z<<4)>>2];b:do if((((r*p-s*q)*(r*p-s*q)+((s*v-u*r)*(s*v-u*r)+(u*q-v*p)*(u*q-v*p))>9.999999747378752e-05?(q*E-r*F)*(q*E-r*F)+((r*t-v*E)*(r*t-v*E)+(v*F-q*t)*(v*F-q*t))>9.999999747378752e-05:0)?(s*F-p*E)*(s*F-p*E)+((u*E-s*t)*(u*E-s*t)+(p*t-u*F)*(p*t-u*F))>9.999999747378752e-05:0)?(U=t*(r*p-s*q)+(E*(u*q-v*p)+(s*v-u*r)*F),+O(+U)>9.999999974752427e-07):0){fa=+g[m+(z<<4)+12>>2];I=+g[m+(B<<4)+12>>2];ga=+g[m+(A<<4)+12>>2];G=-1.0/U*((u*E-s*t)*ga+((s*v-u*r)*fa+(r*t-v*E)*I));v=-1.0/U*((p*t-u*F)*ga+((u*q-v*p)*fa+(v*F-q*t)*I));F=-1.0/U*((s*F-p*E)*ga+((r*p-s*q)*fa+(q*E-r*F)*I));o=0;do{if(+g[m+(o<<4)+12>>2]+(G*+g[m+(o<<4)>>2]+v*+g[m+(o<<4)+4>>2]+F*+g[m+(o<<4)+8>>2])+-.009999999776482582>0.0){o=D;k=C;break b}o=o+1|0}while((o|0)<(w|0));do if((n|0)==(C|0)){k=(C|0)==0?1:C<<1;if((C|0)>=(k|0)){x=C;o=D;k=C;break}do if(!k)o=0;else{c[5108]=(c[5108]|0)+1;o=QE((k<<4|3)+16|0)|0;if(!o){o=0;break}c[(o+19&-16)+-4>>2]=o;o=o+19&-16}while(0);if((C|0)>0){f=0;do{N=o+(f<<4)|0;M=D+(f<<4)|0;c[N+0>>2]=c[M+0>>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];f=f+1|0}while((f|0)!=(C|0))}if(!D){x=C;break}c[5110]=(c[5110]|0)+1;RE(c[D+-4>>2]|0);x=C}else{x=n;o=D;k=C}while(0);g[o+(x<<4)>>2]=G;g[o+(x<<4)+4>>2]=v;g[o+(x<<4)+8>>2]=F;g[o+(x<<4)+12>>2]=0.0;n=n+1|0}else{o=D;k=C}while(0);A=A+1|0;if((A|0)==(w|0))break;else{D=o;C=k}}}}while((y|0)!=(w|0))}}while((h|0)!=(w|0))}else{n=0;o=0}}else{m=0;n=0;o=0}}else{l=0;m=0;n=0;o=0}hE(ea+132|0,o,n);if(o){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}if(m){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}if(l){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}}else hE(ea+132|0,da,J);H=c[ea+176>>2]|0;if((H|0)>0&((H|0)<0^1)){c[5108]=(c[5108]|0)+1;j=QE((H<<4|3)+16|0)|0;if(!j)o=0;else{c[(j+19&-16)+-4>>2]=j;o=j+19&-16}l=0;do{N=o+(l<<4)|0;c[N+0>>2]=c[ea+104>>2];c[N+4>>2]=c[ea+108>>2];c[N+8>>2]=c[ea+112>>2];c[N+12>>2]=c[ea+116>>2];l=l+1|0}while((l|0)!=(H|0));Z=o}else Z=0;a[ea+96>>0]=1;X=ea+92|0;c[X>>2]=0;Y=ea+84|0;c[Y>>2]=0;c[ea+88>>2]=0;A=ea+291|0;C=A+19|0;do{a[A>>0]=0;A=A+1|0}while((A|0)<(C|0));if((H|0)<0)Eb();if((H|0)>0){ry(ea+80|0,H);n=c[X>>2]|0;m=0;do{o=n+(m*36|0)|0;if(o){a[o+16>>0]=1;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;A=o+20|0;D=ea+294|0;C=A+16|0;do{a[A>>0]=a[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(C|0))}m=m+1|0}while((m|0)!=(H|0))}c[Y>>2]=H;k=c[ea+136>>2]|0;w=c[d+52>>2]|0;l=c[w+8>>2]|0;if((l|0)<(k|0)){if((c[w+12>>2]|0)<(k|0)){if(!k){n=l;m=0}else{c[5108]=(c[5108]|0)+1;o=QE((k<<4|3)+16|0)|0;if(!o)o=0;else{c[(o+19&-16)+-4>>2]=o;o=o+19&-16}n=c[w+8>>2]|0;m=o}if((n|0)>0){o=0;do{N=m+(o<<4)|0;M=(c[w+16>>2]|0)+(o<<4)|0;c[N+0>>2]=c[M+0>>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];o=o+1|0}while((o|0)!=(n|0))}o=c[w+16>>2]|0;if(o){if(a[w+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[w+16>>2]=0}a[w+20>>0]=1;c[w+16>>2]=m;c[w+12>>2]=k;n=w+16|0}else n=w+16|0;o=l;do{N=(c[n>>2]|0)+(o<<4)|0;c[N+0>>2]=c[ea+64>>2];c[N+4>>2]=c[ea+68>>2];c[N+8>>2]=c[ea+72>>2];c[N+12>>2]=c[ea+76>>2];o=o+1|0}while((o|0)!=(k|0))}c[w+8>>2]=k;if((k|0)>0){o=0;do{N=(c[(c[d+52>>2]|0)+16>>2]|0)+(o<<4)|0;M=(c[ca>>2]|0)+(o<<4)|0;c[N+0>>2]=c[M+0>>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];o=o+1|0}while((o|0)!=(k|0))}if((H|0)>0){j=0;do{z=(c[ba>>2]|0)+((c[(c[aa>>2]|0)+(j<<2)>>2]|0)*12|0)|0;y=z;n=0;do{h=y+4|0;A=c[y+((c[h>>2]|0)*12|0)+8>>2]|0;C=c[X>>2]|0;B=C+(j*36|0)+4|0;o=c[B>>2]|0;D=C+(j*36|0)+8|0;if((o|0)==(c[D>>2]|0)?(V=(o|0)==0?1:o<<1,(o|0)<(V|0)):0){if(!V)m=0;else{c[5108]=(c[5108]|0)+1;o=QE((V<<2|3)+16|0)|0;if(!o)m=0;else{c[(o+19&-16)+-4>>2]=o;m=o+19&-16}o=c[B>>2]|0}x=C+(j*36|0)+12|0;if((o|0)>0){w=0;do{f=m+(w<<2)|0;if(f)c[f>>2]=c[(c[x>>2]|0)+(w<<2)>>2];w=w+1|0}while((w|0)!=(o|0))}o=c[x>>2]|0;f=C+(j*36|0)+16|0;if(o){if(a[f>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[x>>2]=0}a[f>>0]=1;c[x>>2]=m;c[D>>2]=V;o=c[B>>2]|0}m=(c[C+(j*36|0)+12>>2]|0)+(o<<2)|0;if(m){c[m>>2]=A;o=c[B>>2]|0}c[B>>2]=o+1;M=c[y+8>>2]|0;N=c[ca>>2]|0;v=+g[N+(M<<4)>>2]-+g[N+(A<<4)>>2];u=+g[N+(M<<4)+4>>2]-+g[N+(A<<4)+4>>2];s=+g[N+(M<<4)+8>>2]-+g[N+(A<<4)+8>>2];t=1.0/+P(+(v*v+u*u+s*s));if((n|0)<2){g[ea+224+(n<<4)>>2]=v*t;g[ea+224+(n<<4)+4>>2]=u*t;g[ea+224+(n<<4)+8>>2]=s*t;g[ea+224+(n<<4)+12>>2]=0.0;n=n+1|0}N=c[h>>2]|0;y=y+(((c[y+(N*12|0)>>2]|0)+N|0)*12|0)|0}while((y|0)!=(z|0));o=Z+(j<<4)|0;if((n|0)==2){u=+g[ea+228>>2];E=+g[ea+248>>2];v=+g[ea+232>>2];F=+g[ea+244>>2];t=+g[ea+240>>2];s=+g[ea+224>>2];M=Z+(j<<4)+4|0;N=Z+(j<<4)+8|0;g[Z+(j<<4)+12>>2]=0.0;G=1.0/+P(+((u*E-v*F)*(u*E-v*F)+(v*t-E*s)*(v*t-E*s)+(F*s-u*t)*(F*s-u*t)));g[o>>2]=(u*E-v*F)*G;g[M>>2]=(v*t-E*s)*G;g[N>>2]=(F*s-u*t)*G;l=c[X>>2]|0;g[l+(j*36|0)+20>>2]=(u*E-v*F)*G;g[l+(j*36|0)+24>>2]=+g[M>>2];g[l+(j*36|0)+28>>2]=+g[N>>2];g[l+(j*36|0)+32>>2]=1000000015047466219876688.0e6}else{c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;l=c[X>>2]|0}m=c[l+(j*36|0)+4>>2]|0;if((m|0)>0){w=c[(c[d+52>>2]|0)+16>>2]|0;v=+g[o>>2];u=+g[Z+(j<<4)+4>>2];t=+g[Z+(j<<4)+8>>2];o=c[l+(j*36|0)+12>>2]|0;p=1000000015047466219876688.0e6;n=0;do{N=c[o+(n<<2)>>2]|0;G=+g[w+(N<<4)>>2]*v+ +g[w+(N<<4)+4>>2]*u+ +g[w+(N<<4)+8>>2]*t;p=p>G?G:p;n=n+1|0}while((n|0)!=(m|0))}else p=1000000015047466219876688.0e6;g[l+(j*36|0)+32>>2]=-p;j=j+1|0}while((j|0)!=(H|0))}if((c[Y>>2]|0)>0){o=0;w=0;k=0;while(1){if((w|0)==(o|0)){o=(w|0)==0?1:w<<1;if((w|0)<(o|0)){if((o|0)!=0?(c[5108]=(c[5108]|0)+1,T=QE((o<<2|3)+16|0)|0,(T|0)!=0):0){c[(T+19&-16)+-4>>2]=T;l=T+19&-16}else l=0;if((w|0)>0){m=0;do{n=l+(m<<2)|0;if(n)c[n>>2]=c[k+(m<<2)>>2];m=m+1|0}while((m|0)!=(w|0))}if(k){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}}else{o=w;l=k}}else l=k;n=l+(w<<2)|0;if(n)c[n>>2]=w;w=w+1|0;if((w|0)>=(c[Y>>2]|0))break;else k=l}if(w){T=ea+56|0;W=ea+52|0;S=ea+44|0;o=w;while(1){f=o+-1|0;m=c[l+(f<<2)>>2]|0;c[5108]=(c[5108]|0)+1;o=QE(23)|0;if(o){c[(o+19&-16)+-4>>2]=o;n=o+19&-16;if(o+19&-16)c[n>>2]=m}else n=0;k=c[X>>2]|0;p=+g[k+(m*36|0)+20>>2];q=+g[k+(m*36|0)+24>>2];I=+g[k+(m*36|0)+28>>2];k=1;m=1;w=f;o=f;c:while(1){if((o|0)>0){B=m;D=n}else{D=m;_=192;break}d:while(1){m=c[X>>2]|0;do{N=w;w=w+-1|0;if((N|0)<=0){V=B;n=D;break c}C=c[l+(w<<2)>>2]|0}while(!(p*+g[m+(C*36|0)+20>>2]+q*+g[m+(C*36|0)+24>>2]+I*+g[m+(C*36|0)+28>>2]>.9990000128746033));do if((B|0)==(k|0)?(Q=(k|0)==0?1:k<<1,(k|0)<(Q|0)):0){do if(!Q)n=0;else{c[5108]=(c[5108]|0)+1;n=QE((Q<<2|3)+16|0)|0;if(!n){n=0;break}c[(n+19&-16)+-4>>2]=n;n=n+19&-16}while(0);if((k|0)>0){j=0;do{m=n+(j<<2)|0;if(m)c[m>>2]=c[D+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(!D){k=Q;break}c[5110]=(c[5110]|0)+1;RE(c[D+-4>>2]|0);k=Q}else n=D;while(0);m=n+(B<<2)|0;if(m)c[m>>2]=C;B=B+1|0;j=0;while(1){m=l+(j<<2)|0;f=j+1|0;if((c[m>>2]|0)==(C|0))break;if((f|0)<(o|0))j=f;else{D=n;continue d}}if((j|0)<(o|0))break;else D=n}N=o+-1|0;M=l+(N<<2)|0;c[m>>2]=c[M>>2];c[M>>2]=C;m=B;o=N}e:do if((_|0)==192)while(1){_=0;m=c[X>>2]|0;do{N=w;w=w+-1|0;if((N|0)<=0){V=D;break e}y=c[l+(w<<2)>>2]|0}while(!(p*+g[m+(y*36|0)+20>>2]+q*+g[m+(y*36|0)+24>>2]+I*+g[m+(y*36|0)+28>>2]>.9990000128746033));do if((D|0)==(k|0)?(R=(k|0)==0?1:k<<1,(k|0)<(R|0)):0){do if(!R)f=0;else{c[5108]=(c[5108]|0)+1;m=QE((R<<2|3)+16|0)|0;if(!m){f=0;break}c[(m+19&-16)+-4>>2]=m;f=m+19&-16}while(0);if((k|0)>0){j=0;do{m=f+(j<<2)|0;if(m)c[m>>2]=c[n+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}if(!n){k=R;n=f;break}c[5110]=(c[5110]|0)+1;RE(c[n+-4>>2]|0);k=R;n=f}while(0);m=n+(D<<2)|0;if(m)c[m>>2]=y;D=D+1|0;_=192}while(0);if((V|0)>1){a[T>>0]=1;c[W>>2]=0;c[S>>2]=0;c[ea+48>>2]=0;f=m;G=0.0;F=0.0;v=0.0;m=0;h=0;do{w=c[n+(h<<2)>>2]|0;G=+g[f+(w*36|0)+20>>2]+G;F=+g[f+(w*36|0)+24>>2]+F;v=+g[f+(w*36|0)+28>>2]+v;z=f+(w*36|0)+4|0;if((c[z>>2]|0)>0){A=f+(w*36|0)+12|0;B=0;do{C=c[(c[A>>2]|0)+(B<<2)>>2]|0;N=(c[(c[d+52>>2]|0)+16>>2]|0)+(C<<4)|0;c[ea+24>>2]=c[N+0>>2];c[ea+28>>2]=c[N+4>>2];c[ea+32>>2]=c[N+8>>2];c[ea+36>>2]=c[N+12>>2];f:do if((m|0)>0){f=c[W>>2]|0;w=0;while(1){if((c[f+(w*24|0)+20>>2]|0)==(C|0))break f;w=w+1|0;if((w|0)>=(m|0)){_=218;break}}}else _=218;while(0);if((_|0)==218){_=0;c[ea+0>>2]=c[ea+24>>2];c[ea+4>>2]=c[ea+28>>2];c[ea+8>>2]=c[ea+32>>2];c[ea+12>>2]=c[ea+36>>2];do if((m|0)==(c[ea+48>>2]|0)){D=(m|0)==0?1:m<<1;if((m|0)>=(D|0))break;if(!D)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((D*24|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}m=c[S>>2]|0}x=c[W>>2]|0;if((m|0)>0){y=0;do{N=f+(y*24|0)|0;M=x+(y*24|0)|0;c[N+0>>2]=c[M+0>>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];y=y+1|0}while((y|0)!=(m|0))}if(x){if(a[T>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[x+-4>>2]|0);m=c[S>>2]|0}c[W>>2]=0}a[T>>0]=1;c[W>>2]=f;c[ea+48>>2]=D}while(0);N=c[W>>2]|0;M=N+(m*24|0)|0;c[M+0>>2]=c[ea+0>>2];c[M+4>>2]=c[ea+4>>2];c[M+8>>2]=c[ea+8>>2];c[M+12>>2]=c[ea+12>>2];c[M+16>>2]=c[ea+16>>2];c[N+(m*24|0)+20>>2]=C;m=(c[S>>2]|0)+1|0;c[S>>2]=m}B=B+1|0}while((B|0)<(c[z>>2]|0))}h=h+1|0;f=c[X>>2]|0}while((h|0)!=(V|0));A=ea+275|0;D=f+((c[n>>2]|0)*9<<2)+20|0;C=A+16|0;do{a[A>>0]=a[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(C|0));I=1.0/+P(+(G*G+F*F+v*v));q=G*I;p=F*I;I=v*I;if(+O(+I)>.7071067690849304){s=1.0/+P(+(I*I+p*p));u=0.0;t=-(I*s);s=p*s}else{t=1.0/+P(+(q*q+p*p));u=-(p*t);t=q*t;s=0.0}do if((m|0)<2)if((m|0)>0){k=0;w=0;x=0;while(1){y=c[W>>2]|0;do if((k|0)==(w|0)){h=(w|0)==0?1:w<<1;if((w|0)>=(h|0)){j=w;f=x;break}do if(!h)f=0;else{c[5108]=(c[5108]|0)+1;m=QE((h*24|3)+16|0)|0;if(!m){w=k;f=0;break}c[(m+19&-16)+-4>>2]=m;w=k;f=m+19&-16}while(0);if((w|0)>0){m=0;do{N=f+(m*24|0)|0;M=x+(m*24|0)|0;c[N+0>>2]=c[M+0>>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];m=m+1|0}while((m|0)!=(w|0))}if(x){c[5110]=(c[5110]|0)+1;RE(c[x+-4>>2]|0)}j=k;m=c[S>>2]|0;w=h}else{j=k;f=x}while(0);N=f+(j*24|0)|0;c[N+0>>2]=c[y+0>>2];c[N+4>>2]=c[y+4>>2];c[N+8>>2]=c[y+8>>2];c[N+12>>2]=c[y+12>>2];c[N+16>>2]=c[y+16>>2];c[N+20>>2]=c[y+20>>2];k=k+1|0;if((k|0)<(m|0))x=f;else{w=f;_=282;break}}}else{H=0;y=0;w=0}else{k=c[W>>2]|0;w=m;f=0;do{if(u*+g[k+(f*24|0)>>2]+t*+g[k+(f*24|0)+4>>2]+s*+g[k+(f*24|0)+8>>2]>2]+t*+g[k+4>>2]+s*+g[k+8>>2]){c[ea+224>>2]=c[k+0>>2];c[ea+228>>2]=c[k+4>>2];c[ea+232>>2]=c[k+8>>2];c[ea+236>>2]=c[k+12>>2];c[ea+240>>2]=c[k+16>>2];c[ea+244>>2]=c[k+20>>2];w=k+(f*24|0)|0;c[k+0>>2]=c[w+0>>2];c[k+4>>2]=c[w+4>>2];c[k+8>>2]=c[w+8>>2];c[k+12>>2]=c[w+12>>2];c[k+16>>2]=c[w+16>>2];c[k+20>>2]=c[w+20>>2];w=k+(f*24|0)|0;c[w+0>>2]=c[ea+224>>2];c[w+4>>2]=c[ea+228>>2];c[w+8>>2]=c[ea+232>>2];c[w+12>>2]=c[ea+236>>2];c[w+16>>2]=c[ea+240>>2];c[w+20>>2]=c[ea+244>>2];w=m}f=f+1|0}while((f|0)<(w|0));g[k+16>>2]=-1000000015047466219876688.0e6;if((w|0)>1){v=+g[k+4>>2];m=1;do{E=+g[k+(m*24|0)>>2]-+g[k>>2];F=+g[k+(m*24|0)+4>>2]-v;G=+g[k+(m*24|0)+8>>2]-+g[k+8>>2];g[k+(m*24|0)+16>>2]=((u*F-t*E)*I+(q*(t*G-s*F)+p*(s*E-u*G)))/+P(+(E*E+F*F+G*G));m=m+1|0}while((m|0)!=(w|0))};c[ea+208>>2]=c[k+0>>2];c[ea+212>>2]=c[k+4>>2];c[ea+216>>2]=c[k+8>>2];c[ea+220>>2]=c[k+12>>2];sy(ea+40|0,ea+208|0,1,w+-1|0);k=c[W>>2]|0;c[5108]=(c[5108]|0)+1;m=QE(43)|0;if(!m)h=0;else{c[(m+19&-16)+-4>>2]=m;h=m+19&-16}j=c[W>>2]|0;c[h+0>>2]=c[k+0>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[5108]=(c[5108]|0)+1;m=QE(67)|0;if(!m)w=0;else{c[(m+19&-16)+-4>>2]=m;w=m+19&-16}m=0;while(1){N=w+(m*24|0)|0;M=h+(m*24|0)|0;c[N+0>>2]=c[M+0>>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];if(!m)break;else m=m+1|0}if(h){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}m=w+24|0;c[m+0>>2]=c[j+24>>2];c[m+4>>2]=c[j+28>>2];c[m+8>>2]=c[j+32>>2];c[m+12>>2]=c[j+36>>2];c[m+16>>2]=c[j+40>>2];c[m+20>>2]=c[j+44>>2];m=c[S>>2]|0;if((m|0)==2){k=2;_=283;break}else{y=2;k=2;j=2;B=2}while(1){g:do if((y|0)>1){N=c[W>>2]|0;C=N+(B*24|0)|0;v=+g[C>>2];u=+g[N+(B*24|0)+4>>2];t=+g[N+(B*24|0)+8>>2];while(1){N=y+-2|0;D=y+-1|0;E=+g[w+(N*24|0)>>2];F=E-+g[w+(D*24|0)>>2];r=+g[w+(N*24|0)+4>>2];U=r-+g[w+(D*24|0)+4>>2];G=+g[w+(N*24|0)+8>>2];s=G-+g[w+(D*24|0)+8>>2];if((F*(r-u)-U*(E-v))*I+(q*(U*(G-t)-s*(r-u))+p*(s*(E-v)-F*(G-t)))>0.0)break;if((D|0)>1){y=D;k=D}else{y=D;k=D;break g}}do if((y|0)==(j|0)){D=(j|0)==0?1:j<<1;if((j|0)>=(D|0)){y=j;break}do if(!D)h=0;else{c[5108]=(c[5108]|0)+1;m=QE((D*24|3)+16|0)|0;if(!m){j=k;h=0;break}c[(m+19&-16)+-4>>2]=m;j=k;h=m+19&-16}while(0);if((j|0)>0){f=0;do{N=h+(f*24|0)|0;M=w+(f*24|0)|0;c[N+0>>2]=c[M+0>>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];f=f+1|0}while((f|0)!=(j|0))}if(w){c[5110]=(c[5110]|0)+1;RE(c[w+-4>>2]|0)}m=c[S>>2]|0;y=k;j=D;w=h}while(0);y=w+(y*24|0)|0;c[y+0>>2]=c[C+0>>2];c[y+4>>2]=c[C+4>>2];c[y+8>>2]=c[C+8>>2];c[y+12>>2]=c[C+12>>2];c[y+16>>2]=c[C+16>>2];c[y+20>>2]=c[C+20>>2];k=k+1|0;y=k}while(0);B=B+1|0;if((B|0)==(m|0)){_=282;break}}}while(0);if((_|0)==282){_=0;if((k|0)>0)_=283;else{H=0;y=0}}if((_|0)==283){_=0;D=0;y=0;C=0;A=0;while(1){B=w+(A*24|0)+20|0;do if((C|0)==(D|0)){h=(D|0)==0?1:D<<1;if((D|0)>=(h|0)){m=D;break}do if(!h)j=0;else{c[5108]=(c[5108]|0)+1;m=QE((h<<2|3)+16|0)|0;if(!m){j=0;break}c[(m+19&-16)+-4>>2]=m;j=m+19&-16}while(0);if((D|0)>0){m=0;do{f=j+(m<<2)|0;if(f)c[f>>2]=c[y+(m<<2)>>2];m=m+1|0}while((m|0)!=(D|0))}if(!y){y=j;m=D;D=h;break}c[5110]=(c[5110]|0)+1;RE(c[y+-4>>2]|0);y=j;m=D;D=h}else m=C;while(0);j=y+(m<<2)|0;if(j){c[j>>2]=c[B>>2];m=C}C=m+1|0;m=c[S>>2]|0;h:do if((m|0)>0){x=c[W>>2]|0;f=c[B>>2]|0;j=0;while(1){h=x+(j*24|0)+20|0;j=j+1|0;if((c[h>>2]|0)==(f|0))break;if((j|0)>=(m|0))break h}c[h>>2]=-1}while(0);A=A+1|0;if((A|0)==(k|0)){H=C;break}}}i:do if((m|0)>0){x=c[W>>2]|0;z=c[Y>>2]|0;A=c[X>>2]|0;C=0;while(1){B=c[x+(C*24|0)+20>>2]|0;if(!((B|0)==-1|(z|0)<1)){D=0;do{f=0;while(1){if((c[n+(f<<2)>>2]|0)==(D|0))break;f=f+1|0;if((f|0)>=(V|0)){_=308;break}}do if((_|0)==308){_=0;h=c[A+(D*36|0)+4>>2]|0;if((h|0)<=0)break;j=c[A+(D*36|0)+12>>2]|0;k=0;do{if((c[j+(k<<2)>>2]|0)==(B|0)){k=1;break i}k=k+1|0}while((k|0)<(h|0))}while(0);D=D+1|0}while((D|0)<(z|0))}C=C+1|0;if((C|0)>=(m|0)){_=315;break}}}else _=315;while(0);if((_|0)==315){_=0;B=c[d+52>>2]|0;m=c[B+28>>2]|0;if((m|0)==(c[B+32>>2]|0)){ry(B+24|0,(m|0)==0?1:m<<1);m=c[B+28>>2]|0}C=(c[B+36>>2]|0)+(m*36|0)|0;if(C){a[C+16>>0]=1;c[C+12>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if((H|0)>0){c[5108]=(c[5108]|0)+1;m=QE((H<<2|3)+16|0)|0;if(!m)D=0;else{c[(m+19&-16)+-4>>2]=m;D=m+19&-16}m=c[C+4>>2]|0;if((m|0)>0){j=0;do{k=D+(j<<2)|0;if(k)c[k>>2]=c[(c[C+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(m|0))}m=c[C+12>>2]|0;if(m){if(a[C+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C+12>>2]=0}a[C+16>>0]=1;c[C+12>>2]=D;c[C+8>>2]=H;k=0;do{m=D+(k<<2)|0;if(m)c[m>>2]=0;k=k+1|0}while((k|0)!=(H|0));c[C+4>>2]=H;k=0;do{m=D+(k<<2)|0;if(m)c[m>>2]=c[y+(k<<2)>>2];k=k+1|0}while((k|0)!=(H|0))}else c[C+4>>2]=H;A=C+20|0;D=ea+275|0;C=A+16|0;do{a[A>>0]=a[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(C|0));m=c[B+28>>2]|0}c[B+28>>2]=m+1;k=0}if(w){c[5110]=(c[5110]|0)+1;RE(c[w+-4>>2]|0)}if(y){c[5110]=(c[5110]|0)+1;RE(c[y+-4>>2]|0)}m=c[W>>2]|0;if(m){if(a[T>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[W>>2]=0}a[T>>0]=1;c[W>>2]=0;c[S>>2]=0;c[ea+48>>2]=0;if(k&(V|0)>0){j=0;_=350}}else if((V|0)>0){j=0;_=350}if((_|0)==350)while(1){_=0;y=c[n+(j<<2)>>2]|0;h=c[X>>2]|0;z=c[h+(y*36|0)+4>>2]|0;if((z|0)>0){c[5108]=(c[5108]|0)+1;m=QE((z<<2|3)+16|0)|0;if(!m)f=0;else{c[(m+19&-16)+-4>>2]=m;f=m+19&-16}w=0;do{m=f+(w<<2)|0;if(m)c[m>>2]=0;w=w+1|0}while((w|0)!=(z|0));m=c[h+(y*36|0)+12>>2]|0;k=0;do{w=f+(k<<2)|0;if(w)c[w>>2]=c[m+(k<<2)>>2];k=k+1|0}while((k|0)!=(z|0))}else f=0;A=ea+227|0;D=h+(y*36|0)+20|0;C=A+16|0;do{a[A>>0]=a[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(C|0));B=c[d+52>>2]|0;m=c[B+28>>2]|0;if((m|0)==(c[B+32>>2]|0)){ry(B+24|0,(m|0)==0?1:m<<1);m=c[B+28>>2]|0}C=(c[B+36>>2]|0)+(m*36|0)|0;if(C){a[C+16>>0]=1;c[C+12>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;if((z|0)>0){c[5108]=(c[5108]|0)+1;m=QE((z<<2|3)+16|0)|0;if(!m)D=0;else{c[(m+19&-16)+-4>>2]=m;D=m+19&-16}m=c[C+4>>2]|0;if((m|0)>0){k=0;do{w=D+(k<<2)|0;if(w)c[w>>2]=c[(c[C+12>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(m|0))}m=c[C+12>>2]|0;if(m){if(a[C+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C+12>>2]=0}a[C+16>>0]=1;c[C+12>>2]=D;c[C+8>>2]=z;w=0;do{m=D+(w<<2)|0;if(m)c[m>>2]=0;w=w+1|0}while((w|0)!=(z|0));c[C+4>>2]=z;w=0;do{m=D+(w<<2)|0;if(m)c[m>>2]=c[f+(w<<2)>>2];w=w+1|0}while((w|0)!=(z|0))}else c[C+4>>2]=z;A=C+20|0;D=ea+227|0;C=A+16|0;do{a[A>>0]=a[D>>0]|0;A=A+1|0;D=D+1|0}while((A|0)<(C|0));m=c[B+28>>2]|0}c[B+28>>2]=m+1;if(f){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}j=j+1|0;if((j|0)>=(V|0))break;else _=350}if(n){c[5110]=(c[5110]|0)+1;RE(c[n+-4>>2]|0)}if(!o)break}}}else l=0;W=c[d+52>>2]|0;c[W+64>>2]=0;c[W+68>>2]=0;c[W+72>>2]=0;c[W+76>>2]=0;j=c[W+28>>2]|0;if((j|0)>0){w=0;D=0;f=0;h=0;B=0;C=0;m=0;z=0;H=0;A=0;k=0;y=0;V=0;while(1){o=c[W+36>>2]|0;T=c[o+(V*36|0)+4>>2]|0;if((T|0)>0){R=V&65535;S=V|-65536;K=D;M=B;N=C;Q=m;x=z;J=y;n=0;while(1){d=n+1|0;j=c[o+(V*36|0)+12>>2]|0;B=c[j+(n<<2)>>2]&65535;j=c[j+(((d|0)==(T|0)?0:d)<<2)>>2]&65535;n=B<<16>>16>16?B:j;L=B<<16>>16>16?j:B;C=B<<16>>16>16?B:j;B=B<<16>>16>16?j:B;j=x+-1|0;j:do if((((C&65535)<<16)+(B<<16>>16)&j)>>>0>>0?($=c[K+((((C&65535)<<16)+(B<<16>>16)&j)<<2)>>2]|0,($|0)!=-1):0){D=$;while(1){if(B<<16>>16==(b[w+(D<<2)>>1]|0)?C<<16>>16==(b[w+(D<<2)+2>>1]|0):0)break;D=c[N+(D<<2)>>2]|0;if((D|0)==-1){y=0;break j}}if((D|0)!=-1)y=H+(D<<2)|0;else y=0}else y=0;while(0);D=c[W+16>>2]|0;u=+g[D+(C<<16>>16<<4)>>2]-+g[D+(B<<16>>16<<4)>>2];t=+g[D+(C<<16>>16<<4)+4>>2]-+g[D+(B<<16>>16<<4)+4>>2];E=+g[D+(C<<16>>16<<4)+8>>2]-+g[D+(B<<16>>16<<4)+8>>2];G=1.0/+P(+(u*u+t*t+E*E));D=c[W+48>>2]|0;k:do if((D|0)>0){C=c[W+56>>2]|0;B=0;while(1){F=+g[C+(B<<4)>>2];v=+g[C+(B<<4)+8>>2];do if(!(+O(+(F-u*G))>1.0e-06)){if(+O(+(+g[C+(B<<4)+4>>2]-t*G))>1.0e-06)break;if(!(+O(+(v-E*G))>1.0e-06))break k}while(0);do if(!(+O(+(u*G+F))>1.0e-06)){if(+O(+(t*G+ +g[C+(B<<4)+4>>2]))>1.0e-06)break;if(!(+O(+(E*G+v))>1.0e-06))break k}while(0);B=B+1|0;if((B|0)>=(D|0)){_=413;break}}}else _=413;while(0);if((_|0)==413){_=0;do if((D|0)==(c[W+52>>2]|0)){z=(D|0)==0?1:D<<1;if((D|0)>=(z|0))break;if(!z)C=0;else{c[5108]=(c[5108]|0)+1;D=QE((z<<4|3)+16|0)|0;if(!D)C=0;else{c[(D+19&-16)+-4>>2]=D;C=D+19&-16}D=c[W+48>>2]|0}if((D|0)>0){B=0;do{m=C+(B<<4)|0;o=(c[W+56>>2]|0)+(B<<4)|0;c[m+0>>2]=c[o+0>>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];B=B+1|0}while((B|0)!=(D|0))}D=c[W+56>>2]|0;if(D){if(a[W+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[D+-4>>2]|0)}c[W+56>>2]=0}a[W+60>>0]=1;c[W+56>>2]=C;c[W+52>>2]=z;D=c[W+48>>2]|0}while(0);C=c[W+56>>2]|0;g[C+(D<<4)>>2]=u*G;g[C+(D<<4)+4>>2]=t*G;g[C+(D<<4)+8>>2]=E*G;g[C+(D<<4)+12>>2]=0.0;c[W+48>>2]=(c[W+48>>2]|0)+1}l:do if(!y){o=((n&65535)<<16)+(L<<16>>16)&j;m:do if(o>>>0>>0){y=c[K+(o<<2)>>2]|0;if((y|0)==-1)break;while(1){if(L<<16>>16==(b[w+(y<<2)>>1]|0)?n<<16>>16==(b[w+(y<<2)+2>>1]|0):0)break;y=c[N+(y<<2)>>2]|0;if((y|0)==-1)break m}if((y|0)==-1)break;D=H+(y<<2)|0;b[D>>1]=S;b[D+2>>1]=S>>>16;D=K;B=M;C=N;m=Q;z=x;y=J;break l}while(0);do if((Q|0)==(x|0)){z=(Q|0)==0?1:Q<<1;if((Q|0)>=(z|0)){z=Q;break}do if(!z)B=0;else{c[5108]=(c[5108]|0)+1;B=QE((z<<2|3)+16|0)|0;if(!B){B=0;break}c[(B+19&-16)+-4>>2]=B;B=B+19&-16}while(0);if((Q|0)>0){C=0;do{D=B+(C<<2)|0;if(D){y=H+(C<<2)|0;y=e[y>>1]|e[y+2>>1]<<16;b[D>>1]=y;b[D+2>>1]=y>>>16}C=C+1|0}while((C|0)!=(Q|0))}if(!H){H=B;break}c[5110]=(c[5110]|0)+1;RE(c[H+-4>>2]|0);H=B}else z=x;while(0);B=H+(Q<<2)|0;if(B){b[B>>1]=S;b[B+2>>1]=S>>>16}m=Q+1|0;do if((k|0)==(J|0)){y=(k|0)==0?1:k<<1;if((k|0)>=(y|0)){J=k;break}do if(!y)B=0;else{c[5108]=(c[5108]|0)+1;D=QE((y<<2|3)+16|0)|0;if(!D){B=0;break}c[(D+19&-16)+-4>>2]=D;B=D+19&-16}while(0);if((k|0)>0){C=0;do{D=B+(C<<2)|0;if(D){j=w+(C<<2)|0;j=e[j>>1]|e[j+2>>1]<<16;b[D>>1]=j;b[D+2>>1]=j>>>16}C=C+1|0}while((C|0)!=(k|0))}if(!w){w=B;J=y;break}c[5110]=(c[5110]|0)+1;RE(c[w+-4>>2]|0);w=B;J=y}while(0);D=w+(k<<2)|0;if(D){b[D>>1]=(n&65535)<<16|L&65535;b[D+2>>1]=((n&65535)<<16|L&65535)>>>16}k=k+1|0;if((x|0)<(z|0)){do if((f|0)<(z|0)){if((f|0)>(z|0)){D=K;j=A}else{do if((A|0)<(z|0)){do if(!z)D=0;else{c[5108]=(c[5108]|0)+1;o=QE((z<<2|3)+16|0)|0;if(!o){D=0;break}c[(o+19&-16)+-4>>2]=o;D=o+19&-16}while(0);if((f|0)>0){A=0;do{B=D+(A<<2)|0;if(B)c[B>>2]=c[K+(A<<2)>>2];A=A+1|0}while((A|0)!=(f|0))}if(!K){A=z;break}c[5110]=(c[5110]|0)+1;RE(c[K+-4>>2]|0);A=z}else D=K;while(0);C=f;do{B=D+(C<<2)|0;if(B)c[B>>2]=0;C=C+1|0}while((C|0)!=(z|0));j=A}if((h|0)<(z|0)){do if((M|0)<(z|0)){do if(!z)C=0;else{c[5108]=(c[5108]|0)+1;o=QE((z<<2|3)+16|0)|0;if(!o){C=0;break}c[(o+19&-16)+-4>>2]=o;C=o+19&-16}while(0);if((h|0)>0){A=0;do{B=C+(A<<2)|0;if(B)c[B>>2]=c[N+(A<<2)>>2];A=A+1|0}while((A|0)!=(h|0))}if(!N){B=z;break}c[5110]=(c[5110]|0)+1;RE(c[N+-4>>2]|0);B=z}else{B=M;C=N}while(0);do{y=C+(h<<2)|0;if(y)c[y>>2]=0;h=h+1|0}while((h|0)!=(z|0))}else{B=M;C=N}if((z|0)>0){N=z<<2;VE(D|0,-1,N|0)|0;VE(C|0,-1,N|0)|0}if((f|0)<=0){y=z;h=z;A=j;break}h=z+-1|0;y=0;do{N=D+(((e[w+(y<<2)+2>>1]<<16)+(b[w+(y<<2)>>1]|0)&h)<<2)|0;c[C+(y<<2)>>2]=c[N>>2];c[N>>2]=y;y=y+1|0}while((y|0)!=(f|0));y=z;h=z;A=j}else{D=K;y=f;B=M;C=N}while(0);o=((n&65535)<<16)+(L<<16>>16)&z+-1}else{D=K;y=f;B=M;C=N}f=D+(o<<2)|0;c[C+(Q<<2)>>2]=c[f>>2];c[f>>2]=Q;f=y;y=J}else{b[y+2>>1]=R;D=K;B=M;C=N;m=Q;z=x;y=J}while(0);if((d|0)>=(T|0))break;o=c[W+36>>2]|0;K=D;M=B;N=C;Q=m;x=z;J=y;n=d}j=c[W+28>>2]|0;x=w}else x=w;V=V+1|0;if((V|0)>=(j|0))break;else w=x}if((j|0)>0){k=c[W+36>>2]|0;h=c[W+16>>2]|0;p=0.0;f=0;do{n=c[k+(f*36|0)+4>>2]|0;m=c[k+(f*36|0)+12>>2]|0;w=c[m>>2]|0;if((n+-2|0)>=1){v=+g[W+64>>2];u=+g[W+68>>2];t=+g[W+72>>2];o=1;do{M=c[m+(o<<2)>>2]|0;o=o+1|0;N=c[m+(((o|0)%(n|0)|0)<<2)>>2]|0;ga=+g[h+(w<<4)>>2];fa=+g[h+(M<<4)>>2];I=+g[h+(w<<4)+4>>2];q=+g[h+(M<<4)+4>>2];s=+g[h+(w<<4)+8>>2];E=+g[h+(M<<4)+8>>2];U=+g[h+(N<<4)>>2];r=+g[h+(N<<4)+4>>2];F=+g[h+(N<<4)+8>>2];G=+P(+(((ga-fa)*(I-r)-(I-q)*(ga-U))*((ga-fa)*(I-r)-(I-q)*(ga-U))+(((I-q)*(s-F)-(s-E)*(I-r))*((I-q)*(s-F)-(s-E)*(I-r))+((s-E)*(ga-U)-(ga-fa)*(s-F))*((s-E)*(ga-U)-(ga-fa)*(s-F)))))*.5;v=v+(ga+fa+U)*.3333333432674408*G;g[W+64>>2]=v;u=(I+q+r)*.3333333432674408*G+u;g[W+68>>2]=u;t=G*((s+E+F)*.3333333432674408)+t;g[W+72>>2]=t;p=p+G}while((o|0)!=(n+-1|0))}f=f+1|0}while((f|0)!=(j|0));o=1}else{p=0.0;o=0}}else{p=0.0;o=0;x=0;D=0;C=0;H=0}p=1.0/p;t=p*+g[W+64>>2];g[W+64>>2]=t;q=p*+g[W+68>>2];g[W+68>>2]=q;p=p*+g[W+72>>2];g[W+72>>2]=p;g[W+96>>2]=3402823466385288598117041.0e14;if(o){o=c[W+36>>2]|0;r=3402823466385288598117041.0e14;n=0;do{s=+O(+(+g[o+(n*36|0)+32>>2]+(+g[o+(n*36|0)+20>>2]*t+ +g[o+(n*36|0)+24>>2]*q+ +g[o+(n*36|0)+28>>2]*p)));if(s>2]=s;r=s}n=n+1|0}while((n|0)<(j|0))}else r=3402823466385288598117041.0e14;o=c[W+8>>2]|0;if((o|0)>0){n=c[W+16>>2]|0;t=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14;f=0;do{G=+g[n+(f<<4)>>2];s=Gt?G:t;G=+g[n+(f<<4)+4>>2];q=Gu?G:u;G=+g[n+(f<<4)+8>>2];p=Gv?G:v;f=f+1|0}while((f|0)!=(o|0))}else{t=-3402823466385288598117041.0e14;u=-3402823466385288598117041.0e14;v=-3402823466385288598117041.0e14;s=3402823466385288598117041.0e14;q=3402823466385288598117041.0e14;p=3402823466385288598117041.0e14}g[W+100>>2]=t+s;g[W+104>>2]=u+q;g[W+108>>2]=p+v;g[W+112>>2]=0.0;t=t-s;s=u-q;p=v-p;g[W+116>>2]=t;g[W+120>>2]=s;g[W+124>>2]=p;g[W+128>>2]=0.0;q=r/1.7320507764816284;if(t>2]*.5-q)*.0009765625;g[W+88>>2]=q;g[W+84>>2]=q;g[W+80>>2]=q;p=+g[o>>2]*.5;o=W+(m<<2)+80|0;g[o>>2]=p;n=0;while(1){if(OD(W)|0){_=524;break}p=p-r;g[o>>2]=p;n=n+1|0;if((n|0)>=1024){_=523;break}}n:do if((_|0)==523){g[W+88>>2]=q;g[W+84>>2]=q;g[W+80>>2]=q}else if((_|0)==524){s=(+g[W+96>>2]-q)*.0009765625;o=1<>2];n=0;while(1){p=+g[W+(o<<2)+80>>2];g[W+(o<<2)+80>>2]=s+p;r=s+ +g[W+((1<>2];g[W+((1<>2]=r;n=n+1|0;if(!(OD(W)|0))break;if((n|0)>=1024)break n;else q=r}g[W+(o<<2)+80>>2]=p;g[W+((1<>2]=q}while(0);if(x){c[5110]=(c[5110]|0)+1;RE(c[x+-4>>2]|0)}if(H){c[5110]=(c[5110]|0)+1;RE(c[H+-4>>2]|0)}if(C){c[5110]=(c[5110]|0)+1;RE(c[C+-4>>2]|0)}if(D){c[5110]=(c[5110]|0)+1;RE(c[D+-4>>2]|0)}if(l){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}j=c[Y>>2]|0;h=c[X>>2]|0;if((j|0)>0){l=0;do{o=h+(l*36|0)+4|0;m=h+(l*36|0)+12|0;k=c[m>>2]|0;n=h+(l*36|0)+16|0;if(k){if(a[n>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[m>>2]=0}a[n>>0]=1;c[m>>2]=0;c[o>>2]=0;c[h+(l*36|0)+8>>2]=0;l=l+1|0}while((l|0)!=(j|0))}if(h){if(a[ea+96>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[X>>2]=0}a[ea+96>>0]=1;c[X>>2]=0;c[Y>>2]=0;c[ea+88>>2]=0;if(Z){c[5110]=(c[5110]|0)+1;RE(c[Z+-4>>2]|0)}h=c[aa>>2]|0;if(h){if(a[ea+188>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[aa>>2]=0}a[ea+188>>0]=1;c[aa>>2]=0;c[ea+176>>2]=0;c[ea+180>>2]=0;h=c[ba>>2]|0;if(h){if(a[ea+168>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[ba>>2]=0}a[ea+168>>0]=1;c[ba>>2]=0;c[ea+156>>2]=0;c[ea+160>>2]=0;h=c[ca>>2]|0;if(h){if(a[ea+148>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[ca>>2]=0}if(!da){i=ea;return 1}c[5110]=(c[5110]|0)+1;RE(c[da+-4>>2]|0);i=ea;return 1}function ly(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+0>>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;e=0.0}else{q=1.0/+P(+(e*e+h*h+f*f));n=e*q;m=f*q;e=h*q}if((Nb[c[(c[b>>2]|0)+96>>2]&127](b)|0)<=0){i=p;return}l=0;f=-999999984306749440.0;do{if(((Nb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-l|0)<128){d=(Nb[c[(c[b>>2]|0)+96>>2]&127](b)|0)-l|0;if((d|0)>0)o=7;else{h=-3402823466385288598117041.0e14;j=-1}}else{d=128;o=7}if((o|0)==7){o=0;j=0;do{pc[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;h=-3402823466385288598117041.0e14;j=-1;do{q=n*+g[p+(k<<4)>>2]+e*+g[p+(k<<4)+4>>2]+m*+g[p+(k<<4)+8>>2];r=q>h;j=r?k:j;h=r?q:h;k=k+1|0}while((k|0)!=(d|0))}if(h>f){d=p+(j<<4)|0;c[a+0>>2]=c[d+0>>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=h}l=l+128|0}while((l|0)<(Nb[c[(c[b>>2]|0)+96>>2]&127](b)|0));i=p;return}function my(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((Nb[c[(c[a>>2]|0)+96>>2]&127](a)|0)>0){q=b+(t<<4)|0;s=b+(t<<4)+4|0;o=b+(t<<4)+8|0;r=d+(t<<4)+12|0;p=d+(t<<4)|0;u=0;do{if(((Nb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0)<128){f=(Nb[c[(c[a>>2]|0)+96>>2]&127](a)|0)-u|0;if((f|0)>0)v=8;else{j=-3402823466385288598117041.0e14;h=-1}}else{f=128;v=8}if((v|0)==8){v=0;h=0;do{pc[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[q>>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))}if(j>+g[r>>2]){n=w+(h<<4)|0;c[p+0>>2]=c[n+0>>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];g[r>>2]=j}u=u+128|0}while((u|0)<(Nb[c[(c[a>>2]|0)+96>>2]&127](a)|0))}t=t+1|0}while((t|0)!=(e|0));i=w;return}function ny(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=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;k=e+76|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;tc[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+20>>2])*.5)*2.0;j=(j+(+g[e+8>>2]-+g[e+24>>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 oy(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[13560]|0)==0?(Xa(13560)|0)!=0:0){g[3366]=1.0;c[3367]=0;c[3368]=0;c[3369]=0;c[3370]=0;g[3371]=1.0;c[3372]=0;c[3373]=0;c[3374]=0;c[3375]=0;g[3376]=1.0;g[3377]=0.0;g[3378]=-1.0;c[3379]=0;c[3380]=0;c[3381]=0;c[3382]=0;g[3383]=-1.0;c[3384]=0;c[3385]=0;c[3386]=0;c[3387]=0;g[3388]=-1.0;g[3389]=0.0;ab(13560)}d=e+0|0;f=d+96|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));tc[c[(c[b>>2]|0)+76>>2]&127](b,13464,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 py(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.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;f=i;q=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);w=+g[a+72>>2];v=+g[a+56>>2];t=+g[a+76>>2];s=+g[a+60>>2];p=+g[a+80>>2];o=+g[a+64>>2];G=+g[b>>2];A=+O(+G);F=+g[b+4>>2];z=+O(+F);m=+g[b+8>>2];n=+O(+m);E=+g[b+16>>2];y=+O(+E);D=+g[b+20>>2];x=+O(+D);k=+g[b+24>>2];l=+O(+k);C=+g[b+32>>2];u=+O(+C);B=+g[b+36>>2];r=+O(+B);h=+g[b+40>>2];j=+O(+h);m=(w+v)*.5*G+(t+s)*.5*F+(p+o)*.5*m+ +g[b+48>>2];k=(w+v)*.5*E+(t+s)*.5*D+(p+o)*.5*k+ +g[b+52>>2];h=(w+v)*.5*C+(t+s)*.5*B+(p+o)*.5*h+ +g[b+56>>2];n=(q+(w-v)*.5)*A+(q+(t-s)*.5)*z+(q+(p-o)*.5)*n;l=(q+(w-v)*.5)*y+(q+(t-s)*.5)*x+(q+(p-o)*.5)*l;j=(q+(w-v)*.5)*u+(q+(t-s)*.5)*r+(q+(p-o)*.5)*j;g[d>>2]=m-n;g[d+4>>2]=k-l;g[d+8>>2]=h-j;g[d+12>>2]=0.0;g[e>>2]=n+m;g[e+4>>2]=l+k;g[e+8>>2]=j+h;g[e+12>>2]=0.0;i=f;return}function qy(a){a=a|0;var b=0,d=0;d=i;c[a>>2]=13336;b=c[a+52>>2]|0;if(!b){i=d;return}Jb[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(!b){i=d;return}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=d;return}function ry(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;q=i;if((c[b+8>>2]|0)>=(d|0)){i=q;return}if((d|0)!=0?(c[5108]=(c[5108]|0)+1,e=QE((d*36|3)+16|0)|0,(e|0)!=0):0){c[(e+19&-16)+-4>>2]=e;p=e+19&-16}else p=0;g=c[b+4>>2]|0;if((g|0)>0){o=0;do{e=p+(o*36|0)|0;if(e){m=c[b+12>>2]|0;a[e+16>>0]=1;c[e+12>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;n=c[m+(o*36|0)+4>>2]|0;if((n|0)>0){c[5108]=(c[5108]|0)+1;f=QE((n<<2|3)+16|0)|0;if(!f)h=0;else{c[(f+19&-16)+-4>>2]=f;h=f+19&-16}l=c[e+4>>2]|0;if((l|0)>0){j=0;do{k=h+(j<<2)|0;if(k)c[k>>2]=c[(c[e+12>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(l|0))}f=c[e+12>>2]|0;if(f){if(a[e+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[e+12>>2]=0}a[e+16>>0]=1;c[e+12>>2]=h;c[e+8>>2]=n;k=0;do{l=h+(k<<2)|0;if(l)c[l>>2]=0;k=k+1|0}while((k|0)!=(n|0));c[e+4>>2]=n;l=c[m+(o*36|0)+12>>2]|0;j=0;do{k=h+(j<<2)|0;if(k)c[k>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0))}else c[e+4>>2]=n;n=m+(o*36|0)+20|0;c[e+20>>2]=c[n+0>>2];c[e+24>>2]=c[n+4>>2];c[e+28>>2]=c[n+8>>2];c[e+32>>2]=c[n+12>>2]}o=o+1|0}while((o|0)!=(g|0));f=c[b+4>>2]|0;if((f|0)>0){h=0;do{e=c[b+12>>2]|0;l=e+(h*36|0)+4|0;j=e+(h*36|0)+12|0;g=c[j>>2]|0;k=e+(h*36|0)+16|0;if(g){if(a[k>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0)}c[j>>2]=0}a[k>>0]=1;c[j>>2]=0;c[l>>2]=0;c[e+(h*36|0)+8>>2]=0;h=h+1|0}while((h|0)!=(f|0));f=b+12|0}else f=b+12|0}else f=b+12|0;e=c[f>>2]|0;if(e){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[f>>2]=0}a[b+16>>0]=1;c[f>>2]=p;c[b+8>>2]=d;i=q;return}function sy(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,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0;w=i;i=i+32|0;q=c[a+12>>2]|0;r=+g[q+(((e+d|0)/2|0)*24|0)>>2];s=+g[q+(((e+d|0)/2|0)*24|0)+4>>2];t=+g[q+(((e+d|0)/2|0)*24|0)+8>>2];u=+g[q+(((e+d|0)/2|0)*24|0)+16>>2];v=c[q+(((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=(r-m)*(r-m)+(s-n)*(s-n)+(t-o)*(t-o);a:while(1){j=+g[q+(f*24|0)+16>>2];do if(j!=u){if(!(j>2]-m;l=+g[q+(f*24|0)+4>>2]-n;k=+g[q+(f*24|0)+8>>2]-o;if(j*j+l*l+k*k!=p)if(j*j+l*l+k*k>2]|0)<(v|0))break;else break a}while(0);f=f+1|0}b:while(1){j=+g[q+(h*24|0)+16>>2];do if(u!=j){if(!(u>2]-m;l=+g[q+(h*24|0)+4>>2]-n;k=+g[q+(h*24|0)+8>>2]-o;if(p!=j*j+l*l+k*k)if(p>2]|0))break;else break b}while(0);h=h+-1|0}if((f|0)<=(h|0)){x=q+(f*24|0)|0;c[w+0>>2]=c[x+0>>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];q=q+(h*24|0)|0;c[x+0>>2]=c[q+0>>2];c[x+4>>2]=c[q+4>>2];c[x+8>>2]=c[q+8>>2];c[x+12>>2]=c[q+12>>2];c[x+16>>2]=c[q+16>>2];c[x+20>>2]=c[q+20>>2];q=(c[a+12>>2]|0)+(h*24|0)|0;c[q+0>>2]=c[w+0>>2];c[q+4>>2]=c[w+4>>2];c[q+8>>2]=c[w+8>>2];c[q+12>>2]=c[w+12>>2];c[q+16>>2]=c[w+16>>2];c[q+20>>2]=c[w+20>>2];f=f+1|0;h=h+-1|0}if((f|0)>(h|0))break;q=c[a+12>>2]|0}if((h|0)>(d|0))sy(a,b,d,h);if((f|0)>=(e|0)){i=w;return}sy(a,b,f,e);i=w;return}function ty(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;n=e+76|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;tc[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+20>>2];f=+g[e+8>>2];h=+g[e+24>>2];g[d>>2]=+P(+((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 uy(a,b){a=a|0;b=+b;var d=0;d=i;b=+Zb[c[(c[a>>2]|0)+16>>2]&15](a)*b;i=d;return +b}function vy(a){a=a|0;var b=0,d=0.0,e=0.0,f=0.0;b=i;i=i+32|0;pc[c[(c[a>>2]|0)+12>>2]&127](a,b+8|0,b);f=+g[b+8>>2];e=+g[b+12>>2];d=+g[b+16>>2];d=+P(+(f*f+e*e+d*d));i=b;return +(d+ +g[b>>2])}function wy(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.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0;s=i;tc[c[(c[a>>2]|0)+8>>2]&127](a,b,f,h);n=+g[h>>2];l=+g[h+4>>2];j=+g[h+8>>2];m=+g[f>>2];o=+g[f+4>>2];k=+g[f+8>>2];p=+g[d>>2];q=+g[d+4>>2];r=+g[d+8>>2];if(p>0.0)n=n+p;else m=m+p;if(q>0.0)l=l+q;else o=o+q;if(r>0.0)j=j+r;else k=k+r;r=+g[e>>2];q=+g[e+4>>2];p=+g[e+8>>2];p=+P(+(r*r+q*q+p*p));p=p*+Zb[c[(c[a>>2]|0)+16>>2]&15](a);g[f>>2]=m;g[f+4>>2]=o;g[f+8>>2]=k;g[f+12>>2]=0.0;g[h>>2]=n;g[h+4>>2]=l;g[h+8>>2]=j;g[h+12>>2]=0.0;g[f>>2]=+g[f>>2]-p;g[f+4>>2]=+g[f+4>>2]-p;g[f+8>>2]=+g[f+8>>2]-p;g[h>>2]=p+ +g[h>>2];g[h+4>>2]=p+ +g[h+4>>2];g[h+8>>2]=p+ +g[h+8>>2];i=s;return}function xy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;g=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=g;if(g)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];i=f;return 13672}function yy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=Nb[c[(c[a>>2]|0)+52>>2]&127](a)|0;f=Wb[c[(c[b>>2]|0)+16>>2]&63](b,f,1)|0;e=Wb[c[(c[a>>2]|0)+56>>2]&63](a,c[f+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1346455635,a);i=d;return}function zy(a){a=a|0;return}function Ay(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+52>>2]=p;g[k+56>>2]=q;g[k+60>>2]=0.0;pc[c[(c[a>>2]|0)+64>>2]&127](k+32|0,a,k+48|0);q=+g[k+32>>2];p=+g[k+36>>2];m=+g[k+40>>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+52>>2];q=-+g[k+56>>2];g[k>>2]=-+g[k+48>>2];g[k+4>>2]=p;g[k+8>>2]=q;g[k+12>>2]=0.0;pc[r&127](k+16|0,a,k);q=+g[k+16>>2];p=+g[k+20>>2];j=+g[k+24>>2];l=q*+g[b>>2]+p*+g[b+4>>2]+j*+g[b+8>>2]+ +g[b+48>>2];h=q*+g[b+16>>2]+p*+g[b+20>>2]+j*+g[b+24>>2]+ +g[b+52>>2];j=q*+g[b+32>>2]+p*+g[b+36>>2]+j*+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];j=l*+g[d>>2]+h*+g[d+4>>2]+j*+g[d+8>>2];g[f>>2]=j;h=+g[e>>2];if(!(h>j)){i=k;return}g[e>>2]=j;g[f>>2]=h;i=k;return}function By(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,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;x=i;i=i+80|0;switch(c[b+4>>2]|0){case 8:{c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=x;return}case 10:{j=+g[d>>2];h=+g[d+4>>2];f=+g[d+8>>2];o=c[b+52>>2]|0;w=+g[b+(o<<2)+28>>2];m=+g[b+(((o+2|0)%3|0)<<2)+28>>2];if(j*j+h*h+f*f<9.999999747378752e-05){v=1.0;u=0.0;t=0.0}else{t=1.0/+P(+(j*j+h*h+f*f));v=j*t;u=h*t;t=f*t}c[x+16>>2]=0;c[x+20>>2]=0;c[x+24>>2]=0;c[x+28>>2]=0;g[x+16+(o<<2)>>2]=w;r=m*v;s=m*u;f=m*t;q=+g[b+44>>2];p=v*q;h=u*q;q=t*q;n=+g[x+16>>2]+r-p;j=s+ +g[x+20>>2]-h;l=f+ +g[x+24>>2]-q;m=t*l+(v*n+u*j);if(!(m>-999999984306749440.0)){m=-999999984306749440.0;n=0.0;j=0.0;l=0.0}c[x+0>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;g[x+(o<<2)>>2]=-w;r=r+ +g[x>>2]-p;s=s+ +g[x+4>>2]-h;p=f+ +g[x+8>>2]-q;e=t*p+(v*r+u*s)>m;g[a>>2]=e?r:n;g[a+4>>2]=e?s:j;g[a+8>>2]=e?p:l;g[a+12>>2]=0.0;i=x;return}case 5:{o=c[b+92>>2]|0;k=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];h=+g[d>>2]*p;f=+g[d+4>>2]*q;j=+g[d+8>>2]*n;if((k|0)>0){b=0;l=-3402823466385288598117041.0e14;e=-1;while(1){m=h*+g[o+(b<<4)>>2]+f*+g[o+(b<<4)+4>>2]+j*+g[o+(b<<4)+8>>2];d=m>l;e=d?b:e;b=b+1|0;if((b|0)==(k|0))break;else l=d?m:l}}else e=-1;m=q*+g[o+(e<<4)+4>>2];n=n*+g[o+(e<<4)+8>>2];g[a>>2]=p*+g[o+(e<<4)>>2];g[a+4>>2]=m;g[a+8>>2]=n;g[a+12>>2]=0.0;i=x;return}case 13:{c[x+64>>2]=c[b+28>>2];c[x+68>>2]=c[b+32>>2];c[x+72>>2]=c[b+36>>2];c[x+76>>2]=c[b+40>>2];g[x+48>>2]=+g[d>>2];j=+g[d+4>>2];g[x+52>>2]=j;f=+g[d+8>>2];g[x+56>>2]=f;g[x+60>>2]=0.0;e=c[b+52>>2]|0;if((e|0)==2){k=0;b=e;d=1}else if((e|0)==1){j=f;k=0;b=e;d=2}else{j=f;k=1;b=0;d=2}m=+g[x+64+(k<<2)>>2];f=+g[x+64+(e<<2)>>2];h=+g[x+48+(k<<2)>>2];l=+P(+(h*h+j*j));if(l!=0.0){g[x+32+(k<<2)>>2]=h*(m/l);if(+g[x+48+(b<<2)>>2]<0.0)f=-f;g[x+32+(b<<2)>>2]=f;g[x+32+(d<<2)>>2]=m/l*j;g[a>>2]=+g[x+32>>2];g[a+4>>2]=+g[x+36>>2];g[a+8>>2]=+g[x+40>>2];g[a+12>>2]=0.0;i=x;return}else{g[x+32+(k<<2)>>2]=m;if(+g[x+48+(b<<2)>>2]<0.0)f=-f;g[x+32+(b<<2)>>2]=f;g[x+32+(d<<2)>>2]=0.0;g[a>>2]=+g[x+32>>2];g[a+4>>2]=+g[x+36>>2];g[a+8>>2]=+g[x+40>>2];g[a+12>>2]=0.0;i=x;return}}case 1:{n=+g[d>>2];p=+g[d+4>>2];h=+g[d+8>>2];f=n*+g[b+56>>2]+p*+g[b+60>>2]+h*+g[b+64>>2];j=n*+g[b+72>>2]+p*+g[b+76>>2]+h*+g[b+80>>2];h=n*+g[b+88>>2]+p*+g[b+92>>2]+h*+g[b+96>>2];if(f>2];p=+g[b+56+(e<<4)+8>>2];g[a>>2]=+g[b+56+(e<<4)>>2];g[a+4>>2]=n;g[a+8>>2]=p;g[a+12>>2]=0.0;i=x;return}case 4:{o=c[b+104>>2]|0;k=c[b+96>>2]|0;p=+g[b+12>>2];q=+g[b+16>>2];n=+g[b+20>>2];h=+g[d>>2]*p;f=+g[d+4>>2]*q;j=+g[d+8>>2]*n;if((k|0)>0){b=0;l=-3402823466385288598117041.0e14;e=-1;while(1){m=h*+g[o+(b<<4)>>2]+f*+g[o+(b<<4)+4>>2]+j*+g[o+(b<<4)+8>>2];d=m>l;e=d?b:e;b=b+1|0;if((b|0)==(k|0))break;else l=d?m:l}}else e=-1;m=q*+g[o+(e<<4)+4>>2];n=n*+g[o+(e<<4)+8>>2];g[a>>2]=p*+g[o+(e<<4)>>2];g[a+4>>2]=m;g[a+8>>2]=n;g[a+12>>2]=0.0;i=x;return}case 0:{m=+g[b+28>>2];n=+g[b+32>>2];n=+g[d+4>>2]>=0.0?n:-n;p=+g[b+36>>2];p=+g[d+8>>2]>=0.0?p:-p;g[a>>2]=+g[d>>2]>=0.0?m:-m;g[a+4>>2]=n;g[a+8>>2]=p;g[a+12>>2]=0.0;i=x;return}default:{pc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);i=x;return}}}function Cy(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+0>>2];c[j+20>>2]=c[d+4>>2];c[j+24>>2]=c[d+8>>2];c[j+28>>2]=c[d+12>>2];e=+g[j+16>>2];h=+g[j+20>>2];f=+g[j+24>>2];if(e*e+h*h+f*f<1.4210854715202004e-14){g[j+16>>2]=-1.0;g[j+20>>2]=-1.0;g[j+24>>2]=-1.0;g[j+28>>2]=0.0;e=-1.0;h=-1.0;f=-1.0}k=1.0/+P(+(e*e+h*h+f*f));g[j+16>>2]=e*k;g[j+20>>2]=h*k;g[j+24>>2]=f*k;By(j,b,j+16|0);switch(c[b+4>>2]|0){case 13:{e=+g[b+44>>2];break}case 4:case 5:{e=+g[b+44>>2];break}case 1:{e=+g[b+44>>2];break}case 11:{e=+g[b+44>>2];break}case 10:{e=+g[b+44>>2];break}case 8:{e=+g[b+28>>2]*+g[b+12>>2];break}case 0:{e=+g[b+44>>2];break}default:e=+Zb[c[(c[b>>2]|0)+48>>2]&15](b)}h=e*+g[j+20>>2]+ +g[j+4>>2];f=e*+g[j+24>>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]=f;g[a+12>>2]=0.0;i=j;return}function Dy(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0;e=+O(+(+g[b>>2]));d=+O(+(+g[b+4>>2]));c=+O(+(+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 Ey(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=+Zb[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+84>>2]=0;c[j+88>>2]=0;c[j+92>>2]=0;g[q>>2]=1.0;k=c[(c[a>>2]|0)+64>>2]|0;l=+g[j+80>>2];m=+g[j+84>>2];n=+g[j+88>>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+48>>2]=+g[b>>2]*l+ +g[b+16>>2]*m+ +g[b+32>>2]*n;g[j+52>>2]=o;g[j+56>>2]=p;g[j+60>>2]=0.0;pc[k&127](j+64|0,a,j+48|0);p=+g[j+64>>2];o=+g[j+68>>2];n=+g[j+72>>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+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[j+36>>2]=m;g[j+40>>2]=l;g[j+44>>2]=0.0;k=j+32+(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+84>>2];n=+g[j+88>>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;pc[q&127](j+16|0,a,j);p=+g[j+16>>2];o=+g[j+20>>2];n=+g[j+24>>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+32>>2]=p*+g[b>>2]+o*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];g[j+36>>2]=m;g[j+40>>2]=l;g[j+44>>2]=0.0;g[d+(h<<2)>>2]=+g[k>>2]-f;h=h+1|0}while((h|0)!=3);i=j;return}function Fy(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;pc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Zb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+P(+(f*f+(l*l+k*k)));j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Gy(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+12>>2]=c[b+0>>2];c[a+16>>2]=c[b+4>>2];c[a+20>>2]=c[b+8>>2];c[a+24>>2]=c[b+12>>2];oy(a);i=d;return}function Hy(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;k=i;f=c[b+96>>2]|0;if((f|0)==(c[b+100>>2]|0)?(j=(f|0)==0?1:f<<1,(f|0)<(j|0)):0){if(!j)g=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<4|3)+16|0)|0;if(!f)g=0;else{c[(f+19&-16)+-4>>2]=f;g=f+19&-16}f=c[b+96>>2]|0}if((f|0)>0){h=0;do{l=g+(h<<4)|0;m=(c[b+104>>2]|0)+(h<<4)|0;c[l+0>>2]=c[m+0>>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)!=(f|0))}f=c[b+104>>2]|0;if(f){if(a[b+108>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+104>>2]=0}a[b+108>>0]=1;c[b+104>>2]=g;c[b+100>>2]=j;f=c[b+96>>2]|0}f=(c[b+104>>2]|0)+(f<<4)|0;c[f+0>>2]=c[d+0>>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[b+96>>2]=(c[b+96>>2]|0)+1;if(!e){i=k;return}oy(b);i=k;return}function Iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0.0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;r=i;l=c[b+96>>2]|0;if((l|0)<=0){c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;i=r;return}m=+g[b+12>>2];p=+g[d>>2]*m;n=+g[b+16>>2];q=+g[d+4>>2]*n;o=+g[b+20>>2];k=+g[d+8>>2]*o;b=c[b+104>>2]|0;f=0;h=-3402823466385288598117041.0e14;j=-1;while(1){e=p*+g[b+(f<<4)>>2]+q*+g[b+(f<<4)+4>>2]+k*+g[b+(f<<4)+8>>2];d=e>h;j=d?f:j;f=f+1|0;if((f|0)==(l|0))break;else h=d?e:h}q=+g[b+(j<<4)+4>>2]*n;e=+g[b+(j<<4)+8>>2]*o;g[a>>2]=+g[b+(j<<4)>>2]*m;g[a+4>>2]=q;g[a+8>>2]=e;g[a+12>>2]=0.0;i=r;return}function Jy(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.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0;t=i;if((e|0)>0)f=0;else{i=t;return}do{g[d+(f<<4)+12>>2]=-999999984306749440.0;f=f+1|0}while((f|0)!=(e|0));n=0;do{h=+g[a+12>>2];p=+g[b+(n<<4)>>2]*h;j=+g[a+16>>2];r=+g[b+(n<<4)+4>>2]*j;k=+g[a+20>>2];q=+g[b+(n<<4)+8>>2]*k;f=c[a+96>>2]|0;if((f|0)>0){l=c[a+104>>2]|0;m=0;o=-3402823466385288598117041.0e14;s=-1;do{u=p*+g[l+(m<<4)>>2]+r*+g[l+(m<<4)+4>>2]+q*+g[l+(m<<4)+8>>2];v=u>o;s=v?m:s;o=v?u:o;m=m+1|0}while((m|0)!=(f|0));p=+g[l+(s<<4)+4>>2]*j;j=+g[l+(s<<4)+8>>2]*k;g[d+(n<<4)>>2]=+g[l+(s<<4)>>2]*h;g[d+(n<<4)+4>>2]=p;g[d+(n<<4)+8>>2]=j;g[d+(n<<4)+12>>2]=o}else g[d+(n<<4)+12>>2]=-999999984306749440.0;n=n+1|0}while((n|0)!=(e|0));i=t;return}function Ky(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;pc[c[(c[b>>2]|0)+68>>2]&127](a,b,d);if(!(+Zb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=e;return}l=+g[d>>2];j=+g[d+4>>2];h=+g[d+8>>2];f=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:h;k=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:j;l=l*l+j*j+h*h<1.4210854715202004e-14?-1.0:l;h=1.0/+P(+(f*f+(l*l+k*k)));j=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=h*l*j+ +g[a>>2];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 Ly(a){a=a|0;return c[a+96>>2]|0}function My(a){a=a|0;return c[a+96>>2]|0}function Ny(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 Oy(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 Py(a){a=a|0;return 0}function Qy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Ry(a,b,c){a=a|0;b=b|0;c=+c;return 0}function Sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0;j=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[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;i=j;return 13936}c[b+52>>2]=ec[c[(c[d>>2]|0)+28>>2]&31](d,c[a+104>>2]|0)|0;c[b+56>>2]=0;h=Wb[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[h+8>>2]|0;while(1){g[a>>2]=+g[e+(b<<4)>>2];g[a+4>>2]=+g[e+(b<<4)+4>>2];g[a+8>>2]=+g[e+(b<<4)+8>>2];g[a+12>>2]=+g[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;Hb[c[(c[d>>2]|0)+20>>2]&31](d,h,20224,1497453121,e);i=j;return 13936}function Ty(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 k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=i;i=i+16|0;g[e>>2]=3402823466385288598117041.0e14;g[f>>2]=-3402823466385288598117041.0e14;m=c[a+96>>2]|0;if((m|0)>0){p=0;do{s=c[a+104>>2]|0;r=+g[s+(p<<4)>>2]*+g[a+12>>2];k=+g[s+(p<<4)+4>>2]*+g[a+16>>2];n=+g[s+(p<<4)+8>>2]*+g[a+20>>2];l=r*+g[b>>2]+k*+g[b+4>>2]+n*+g[b+8>>2]+ +g[b+48>>2];o=r*+g[b+16>>2]+k*+g[b+20>>2]+n*+g[b+24>>2]+ +g[b+52>>2];n=r*+g[b+32>>2]+k*+g[b+36>>2]+n*+g[b+40>>2]+ +g[b+56>>2];k=l*+g[d>>2]+o*+g[d+4>>2]+n*+g[d+8>>2];if(k<+g[e>>2]){g[e>>2]=k;g[h>>2]=l;g[h+4>>2]=o;g[h+8>>2]=n;g[h+12>>2]=0.0}if(k>+g[f>>2]){g[f>>2]=k;g[j>>2]=l;g[j+4>>2]=o;g[j+8>>2]=n;g[j+12>>2]=0.0}p=p+1|0}while((p|0)!=(m|0));l=+g[f>>2]}else l=-3402823466385288598117041.0e14;k=+g[e>>2];if(!(k>l)){i=q;return}g[e>>2]=l;g[f>>2]=k;c[q+0>>2]=c[h+0>>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+0>>2]=c[j+0>>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+0>>2]=c[q+0>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];i=q;return}function Uy(a){a=a|0;return 68}function Vy(a){a=a|0;return 14e3}function Wy(b){b=b|0;var d=0,e=0,f=0;f=i;c[b>>2]=13808;d=c[b+104>>2]|0;if(d){if(a[b+108>>0]|0){c[5110]=(c[5110]|0)+1;RE(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]=13336;d=c[b+52>>2]|0;if((d|0)!=0?(Jb[c[c[d>>2]>>2]&255](d),e=c[b+52>>2]|0,(e|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}if(!b){i=f;return}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=f;return}function Xy(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=13808;d=c[b+104>>2]|0;if(d){if(a[b+108>>0]|0){c[5110]=(c[5110]|0)+1;RE(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]=13336;d=c[b+52>>2]|0;if(!d){i=e;return}Jb[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(!d){i=e;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);i=e;return}function Yy(a){a=a|0;return}function Zy(a){a=a|0;return}function _y(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+32|0;c[a+0>>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/+P(+(e*e+f*f+h*h));p=e*n;o=f*n;n=h*n}d=c[b+52>>2]|0;m=+g[b+(((d+2|0)%3|0)<<2)+28>>2];c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;g[q+16+(d<<2)>>2]=+g[b+(d<<2)+28>>2];k=p*m;l=o*m;m=n*m;j=k+ +g[q+16>>2];e=l+ +g[q+20>>2];h=m+ +g[q+24>>2];f=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);j=j-p*f;e=e-o*f;f=h-n*f;h=n*f+(p*j+o*e);if(h>-999999984306749440.0){g[a>>2]=j;g[a+4>>2]=e;g[a+8>>2]=f;g[a+12>>2]=0.0;j=h}else j=-999999984306749440.0;c[q+0>>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+(d<<2)+28>>2];h=k+ +g[q>>2];e=l+ +g[q+4>>2];k=m+ +g[q+8>>2];f=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);h=h-p*f;e=e-o*f;f=k-n*f;if(!(n*f+(p*h+o*e)>j)){i=q;return}g[a>>2]=h;g[a+4>>2]=e;g[a+8>>2]=f;g[a+12>>2]=0.0;i=q;return} +function vs(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.0,o=0,p=0,q=0.0,r=0.0,s=0;s=i;i=i+528|0;if((a[d+171>>0]|0)==0?+g[d+172>>2]<=0.0:0){i=s;return}a[d+168>>0]=(Nb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&1;m=+g[d+16>>2]-+g[d+44>>2]*f;g[d+16>>2]=m;if(m>0.0?(j=+g[d+28>>2],m>j):0)g[d+16>>2]=j;else j=m;if(j<0.0?(m=+O(+j),n=+O(+(+g[d+24>>2])),m>n):0){g[d+16>>2]=-n;j=-n}g[d+20>>2]=j*f;h=c[d+8>>2]|0;c[s+0>>2]=c[h+4>>2];c[s+4>>2]=c[h+8>>2];c[s+8>>2]=c[h+12>>2];c[s+12>>2]=c[h+16>>2];c[s+16>>2]=c[h+20>>2];c[s+20>>2]=c[h+24>>2];c[s+24>>2]=c[h+28>>2];c[s+28>>2]=c[h+32>>2];c[s+32>>2]=c[h+36>>2];c[s+36>>2]=c[h+40>>2];c[s+40>>2]=c[h+44>>2];c[s+44>>2]=c[h+48>>2];c[s+48>>2]=c[h+52>>2];c[s+52>>2]=c[h+56>>2];c[s+56>>2]=c[h+60>>2];c[s+60>>2]=c[h+64>>2];h=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}n=+g[d+20>>2];n=+g[d+52>>2]+(n>0.0?n:0.0);m=+g[5084+(h<<4)>>2]*n+ +g[d+96>>2];j=n*+g[5088+(h<<4)>>2]+ +g[d+100>>2];g[d+112>>2]=+g[d+92>>2]+ +g[5080+(h<<4)>>2]*n;g[d+116>>2]=m;g[d+120>>2]=j;g[d+124>>2]=0.0;g[s+456>>2]=1.0;c[s+460>>2]=0;c[s+464>>2]=0;c[s+468>>2]=0;c[s+472>>2]=0;g[s+476>>2]=1.0;c[s+480>>2]=0;c[s+484>>2]=0;c[s+488>>2]=0;c[s+492>>2]=0;g[s+496>>2]=1.0;h=s+500|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;g[s+392>>2]=1.0;c[s+396>>2]=0;c[s+400>>2]=0;c[s+404>>2]=0;c[s+408>>2]=0;g[s+412>>2]=1.0;c[s+416>>2]=0;c[s+420>>2]=0;c[s+424>>2]=0;c[s+428>>2]=0;g[s+432>>2]=1.0;h=s+436|0;c[h+0>>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[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}l=c[d+12>>2]|0;n=+Zb[c[(c[l>>2]|0)+48>>2]&15](l);n=n+ +g[d+56>>2];m=n*+g[5084+(h<<4)>>2]+ +g[d+96>>2];j=n*+g[5088+(h<<4)>>2]+ +g[d+100>>2];g[s+504>>2]=+g[5080+(h<<4)>>2]*n+ +g[d+92>>2];g[s+508>>2]=m;g[s+512>>2]=j;g[s+516>>2]=0.0;c[s+440>>2]=c[d+112>>2];c[s+444>>2]=c[d+116>>2];c[s+448>>2]=c[d+120>>2];c[s+452>>2]=c[d+124>>2];h=c[d+8>>2]|0;l=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}n=-+g[5080+(l<<4)>>2];m=-+g[5084+(l<<4)>>2];j=-+g[5088+(l<<4)>>2];g[s+292>>2]=1.0;l=s+300|0;c[s+364>>2]=0;c[l+0>>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+288>>2]=5256;c[s+368>>2]=h;g[s+372>>2]=n;g[s+376>>2]=m;g[s+380>>2]=j;g[s+384>>2]=0.0;g[s+388>>2]=.707099974155426;h=c[d+8>>2]|0;l=c[h+188>>2]|0;b[s+296>>1]=b[l+4>>1]|0;b[s+298>>1]=b[l+6>>1]|0;if(!(a[d+170>>0]|0))_u(e,c[d+12>>2]|0,s+456|0,s+392|0,s+288|0,0.0);else Ss(h,c[d+12>>2]|0,s+456|0,s+392|0,s+288|0,+g[e+56>>2]);if(+g[s+292>>2]<1.0){h=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}do if(+g[s+332>>2]*+g[5080+(h<<4)>>2]+ +g[s+336>>2]*+g[5084+(h<<4)>>2]+ +g[s+340>>2]*+g[5088+(h<<4)>>2]>0.0){j=+g[s+292>>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+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>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{g[d+108>>2]=+g[d+52>>2];c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2]}if(!(a[d+171>>0]|0)){m=+g[d+172>>2];j=m>f?f:m;g[d+172>>2]=m-f;ps(d,e,+g[d+60>>2]*j,j*+g[d+64>>2],j*+g[d+68>>2])}else ps(d,e,+g[d+60>>2],+g[d+64>>2],+g[d+68>>2]);c[s+272>>2]=c[d+112>>2];c[s+276>>2]=c[d+116>>2];c[s+280>>2]=c[d+120>>2];c[s+284>>2]=c[d+124>>2];j=+g[d+16>>2];if(j<0.0)j=-j;else j=0.0;j=j*f;do if(j>0.0?(k=+g[d+24>>2],j>k):0){if((a[d+168>>0]|0)==0?(a[d+169>>0]|0)!=0:0){k=j;break}}else k=j;while(0);l=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}j=k+ +g[d+108>>2];q=+g[5080+(l<<4)>>2]*j;r=j*+g[5084+(l<<4)>>2];j=j*+g[5088+(l<<4)>>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]-j;l=c[d+8>>2]|0;h=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}k=+g[d+40>>2];p=s+172|0;g[p>>2]=1.0;o=s+180|0;c[s+244>>2]=0;c[o+0>>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+168>>2]=5256;c[s+248>>2]=l;c[s+252>>2]=c[5080+(h<<4)>>2];c[s+256>>2]=c[5084+(h<<4)>>2];c[s+260>>2]=c[5088+(h<<4)>>2];c[s+264>>2]=c[5092+(h<<4)>>2];g[s+268>>2]=k;l=c[d+8>>2]|0;h=c[l+188>>2]|0;b[s+176>>1]=b[h+4>>1]|0;b[s+178>>1]=b[h+6>>1]|0;h=c[d+176>>2]|0;if((a[5128]|0)==0?(Xa(5128)|0)!=0:0){g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}n=+g[d+40>>2];g[s+68>>2]=1.0;o=s+76|0;c[s+140>>2]=0;c[o+0>>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+64>>2]=5256;c[s+144>>2]=l;c[s+148>>2]=c[5080+(h<<4)>>2];c[s+152>>2]=c[5084+(h<<4)>>2];c[s+156>>2]=c[5088+(h<<4)>>2];c[s+160>>2]=c[5092+(h<<4)>>2];g[s+164>>2]=n;l=c[(c[d+8>>2]|0)+188>>2]|0;b[s+72>>1]=b[l+4>>1]|0;b[s+74>>1]=b[l+6>>1]|0;n=+g[d+112>>2];m=+g[d+116>>2];k=+g[d+120>>2];l=0;while(1){g[s+456>>2]=1.0;c[s+460>>2]=0;c[s+464>>2]=0;c[s+468>>2]=0;c[s+472>>2]=0;g[s+476>>2]=1.0;c[s+480>>2]=0;c[s+484>>2]=0;c[s+488>>2]=0;c[s+492>>2]=0;g[s+496>>2]=1.0;c[s+500>>2]=0;g[s+392>>2]=1.0;c[s+396>>2]=0;c[s+400>>2]=0;c[s+404>>2]=0;c[s+408>>2]=0;g[s+412>>2]=1.0;c[s+416>>2]=0;c[s+420>>2]=0;c[s+424>>2]=0;c[s+428>>2]=0;g[s+432>>2]=1.0;c[s+436>>2]=0;g[s+288>>2]=1.0;c[s+292>>2]=0;c[s+296>>2]=0;c[s+300>>2]=0;c[s+304>>2]=0;g[s+308>>2]=1.0;c[s+312>>2]=0;c[s+316>>2]=0;c[s+320>>2]=0;c[s+324>>2]=0;g[s+328>>2]=1.0;c[s+332>>2]=0;c[s+336>>2]=0;c[s+340>>2]=0;c[s+504>>2]=c[d+92>>2];c[s+508>>2]=c[d+96>>2];c[s+512>>2]=c[d+100>>2];c[s+516>>2]=c[d+104>>2];c[s+440>>2]=c[d+112>>2];c[s+444>>2]=c[d+116>>2];c[s+448>>2]=c[d+120>>2];c[s+452>>2]=c[d+124>>2];g[s+336>>2]=n-q;g[s+340>>2]=m-r;g[s+344>>2]=k-j;g[s+348>>2]=0.0;if(!(a[d+170>>0]|0)){_u(e,c[d+12>>2]|0,s+456|0,s+392|0,s+168|0,+g[e+56>>2]);if(!(+g[p>>2]<1.0))_u(e,c[d+12>>2]|0,s+456|0,s+288|0,s+64|0,+g[e+56>>2])}else{Ss(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[p>>2]<1.0))Ss(c[d+8>>2]|0,c[d+12>>2]|0,s+456|0,s+288|0,s+64|0,+g[e+56>>2])}k=+g[d+16>>2];if(k<0.0)n=-k;else n=0.0;n=n*f;o=(a[d+182>>0]|0)==0;if(!o?+g[p>>2]<1.0:0)h=1;else h=+g[s+68>>2]<1.0;if(!(n>0.0))break;m=+g[d+52>>2];if(!(n>0]|0)==0?(a[d+169>>0]|0)!=0:0){l=0;break};c[d+112>>2]=c[s+272>>2];c[d+116>>2]=c[s+276>>2];c[d+120>>2]=c[s+280>>2];c[d+124>>2]=c[s+284>>2];l=c[d+176>>2]|0;do if(!(a[5128]|0)){if(!(Xa(5128)|0))break;g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}while(0);n=m+ +g[d+108>>2];m=n*+g[5084+(l<<4)>>2];k=n*+g[5088+(l<<4)>>2];n=+g[d+112>>2]-+g[5080+(l<<4)>>2]*n;g[d+112>>2]=n;m=+g[d+116>>2]-m;g[d+116>>2]=m;k=+g[d+120>>2]-k;g[d+120>>2]=k;l=1}n=+g[p>>2];if(n<1.0|l){j=+g[d+96>>2];k=(j-+g[s+232>>2])*.5;do if(!o)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-n)*+g[d+92>>2]+n*+g[d+112>>2];g[d+96>>2]=(1.0-n)*j+n*+g[d+116>>2];g[d+100>>2]=(1.0-n)*+g[d+100>>2]+n*+g[d+120>>2];h=d+181|0;break}else{g[d+92>>2]=(1.0-n)*+g[d+92>>2]+n*+g[d+112>>2];g[d+96>>2]=(1.0-n)*j+n*+g[d+116>>2];g[d+100>>2]=(1.0-n)*+g[d+100>>2]+n*+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(!o){if(k<0.0)k=-k;else k=0.0;m=+g[d+24>>2];if(k*f>m){if((a[d+168>>0]|0)==0?(a[d+169>>0]|0)!=0:0)break;g[d+112>>2]=q+ +g[d+112>>2];g[d+116>>2]=r+ +g[d+116>>2];g[d+120>>2]=j+ +g[d+120>>2];h=c[d+176>>2]|0;do if(!(a[5128]|0)){if(!(Xa(5128)|0))break;g[1270]=1.0;c[1271]=0;c[1272]=0;c[1273]=0;c[1274]=0;g[1275]=1.0;c[1276]=0;c[1277]=0;c[1278]=0;c[1279]=0;g[1280]=1.0;g[1281]=0.0;ab(5128)}while(0);m=m+ +g[d+108>>2];k=m*+g[5084+(h<<4)>>2];j=m*+g[5088+(h<<4)>>2];g[d+112>>2]=+g[d+112>>2]-+g[5080+(h<<4)>>2]*m;g[d+116>>2]=+g[d+116>>2]-k;g[d+120>>2]=+g[d+120>>2]-j}}while(0);c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2]};c[s+48>>2]=c[d+92>>2];c[s+52>>2]=c[d+96>>2];c[s+56>>2]=c[d+100>>2];c[s+60>>2]=c[d+104>>2];h=c[d+8>>2]|0;c[h+260>>2]=(c[h+260>>2]|0)+1;c[h+4>>2]=c[s+0>>2];c[h+8>>2]=c[s+4>>2];c[h+12>>2]=c[s+8>>2];c[h+16>>2]=c[s+12>>2];c[h+20>>2]=c[s+16>>2];c[h+24>>2]=c[s+20>>2];c[h+28>>2]=c[s+24>>2];c[h+32>>2]=c[s+28>>2];c[h+36>>2]=c[s+32>>2];c[h+40>>2]=c[s+36>>2];c[h+44>>2]=c[s+40>>2];c[h+48>>2]=c[s+44>>2];c[h+52>>2]=c[s+48>>2];c[h+56>>2]=c[s+52>>2];c[h+60>>2]=c[s+56>>2];c[h+64>>2]=c[s+60>>2];i=s;return}function ws(a){a=a|0;var b=0;b=i;a=Nb[c[(c[a>>2]|0)+48>>2]&127](a)|0;i=b;return a|0}function xs(b){b=b|0;var d=0;d=i;if(!(Nb[c[(c[b>>2]|0)+40>>2]&127](b)|0)){i=d;return}g[b+16>>2]=+g[b+28>>2];a[b+169>>0]=1;i=d;return}function ys(a){a=a|0;var b=0;b=i;if(!(+g[a+16>>2]==0.0)){a=0;i=b;return a|0}a=+g[a+20>>2]==0.0;i=b;return a|0}function zs(a,b){a=a|0;b=b|0;return}function As(b,c){b=b|0;c=c|0;a[b+180>>0]=c&1;return}function Bs(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;Lb[c[(c[a>>2]|0)+32>>2]&127](a,b);rc[c[(c[a>>2]|0)+36>>2]&7](a,b,d);i=e;return}function Cs(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,l=0.0,m=0;m=i;j=c[b>>2]|0;if((j|0)==(c[a+80>>2]|0)){e=1.0;i=m;return +e}if(c[j+204>>2]&4){e=1.0;i=m;return +e}f=+g[b+8>>2];h=+g[b+12>>2];e=+g[b+16>>2];if(d){k=f;l=h}else{k=+g[j+4>>2]*f+ +g[j+8>>2]*h+ +g[j+12>>2]*e;l=f*+g[j+20>>2]+h*+g[j+24>>2]+e*+g[j+28>>2];e=f*+g[j+36>>2]+h*+g[j+40>>2]+e*+g[j+44>>2]}if(k*+g[a+84>>2]+l*+g[a+88>>2]+e*+g[a+92>>2]<+g[a+100>>2]){e=1.0;i=m;return +e}g[a+4>>2]=+g[b+40>>2];c[a+76>>2]=j;if(d){c[a+44>>2]=c[b+8>>2];c[a+48>>2]=c[b+12>>2];c[a+52>>2]=c[b+16>>2];c[a+56>>2]=c[b+20>>2]}else{l=+g[b+8>>2];k=+g[b+12>>2];h=+g[b+16>>2];f=l*+g[j+20>>2]+k*+g[j+24>>2]+h*+g[j+28>>2];e=l*+g[j+36>>2]+k*+g[j+40>>2]+h*+g[j+44>>2];g[a+44>>2]=+g[j+4>>2]*l+ +g[j+8>>2]*k+ +g[j+12>>2]*h;g[a+48>>2]=f;g[a+52>>2]=e;g[a+56>>2]=0.0}c[a+60>>2]=c[b+24>>2];c[a+64>>2]=c[b+28>>2];c[a+68>>2]=c[b+32>>2];c[a+72>>2]=c[b+36>>2];e=+g[b+40>>2];i=m;return +e}function Ds(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Es(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,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,z=0.0,A=0,B=0.0,C=0.0,D=0.0;A=i;d=c[a+748>>2]|0;if((d|0)!=4){c[a+748>>2]=d+1;x=(d|0)<0;d=x?0:d;a=a+(d*184|0)+4|0;YE(a|0,b|0,184)|0;i=A;return d|0}z=+g[b+80>>2];p=+g[a+84>>2];o=p>2];m=n>2];x=+g[a+636>>2]<(l>31;z=+g[b>>2];if(d){h=+g[a+188>>2];e=+g[b+4>>2];n=+g[a+192>>2];o=+g[b+8>>2];m=+g[a+196>>2];r=+g[a+556>>2];s=+g[a+372>>2];t=+g[a+560>>2];q=+g[a+376>>2];u=+g[a+564>>2];l=+g[a+380>>2];j=((z-h)*(t-q)-(e-n)*(r-s))*((z-h)*(t-q)-(e-n)*(r-s))+(((e-n)*(u-l)-(o-m)*(t-q))*((e-n)*(u-l)-(o-m)*(t-q))+((o-m)*(r-s)-(z-h)*(u-l))*((o-m)*(r-s)-(z-h)*(u-l)));if((d|0)==1){f=+g[a+4>>2];k=+g[a+8>>2];w=e;p=+g[a+12>>2];v=h;e=u;h=0.0;y=7}else{v=h;y=6}}else{v=+g[a+188>>2];n=+g[a+192>>2];m=+g[a+196>>2];e=+g[b+4>>2];o=+g[b+8>>2];s=+g[a+372>>2];r=+g[a+556>>2];q=+g[a+376>>2];t=+g[a+560>>2];l=+g[a+380>>2];u=+g[a+564>>2];j=0.0;y=6}if((y|0)==6){f=+g[a+4>>2];k=+g[a+8>>2];D=e-k;p=+g[a+12>>2];B=o-p;w=r-s;C=t-q;h=u-l;h=((z-f)*C-D*w)*((z-f)*C-D*w)+((D*h-B*C)*(D*h-B*C)+(B*w-(z-f)*h)*(B*w-(z-f)*h));if((d|0)==2){t=e;u=v;r=s;e=0.0;y=8}else{w=e;e=u;y=7}}if((y|0)==7){D=z-f;u=w-k;B=o-p;C=r-v;r=t-n;e=e-m;e=(D*r-u*C)*(D*r-u*C)+((u*e-B*r)*(u*e-B*r)+(B*C-D*e)*(B*C-D*e));if(x)f=0.0;else{t=w;u=v;r=s;y=8}}if((y|0)==8){D=z-f;k=t-k;o=o-p;p=r-u;n=q-n;f=l-m;f=(D*n-k*p)*(D*n-k*p)+((k*f-o*n)*(k*f-o*n)+(o*p-D*f)*(o*p-D*f))}p=+O(+j);n=+O(+h);l=+O(+e);k=+O(+f);o=p>-999999984306749440.0?p:-999999984306749440.0;m=n>o?n:o;d=k>(l>m?l:m)?3:l>m?2:n>o?1:(p>-999999984306749440.0^1)<<31>>31;x=(d|0)<0;d=x?0:d;a=a+(d*184|0)+4|0;YE(a|0,b|0,184)|0;i=A;return d|0}function Fs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=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;l=i;f=c[b+748>>2]|0;if((f|0)<=0){i=l;return}do{f=f+-1|0;q=+g[b+(f*184|0)+4>>2];r=+g[b+(f*184|0)+8>>2];j=+g[b+(f*184|0)+12>>2];p=q*+g[d>>2]+r*+g[d+4>>2]+j*+g[d+8>>2]+ +g[d+48>>2];n=q*+g[d+16>>2]+r*+g[d+20>>2]+j*+g[d+24>>2]+ +g[d+52>>2];j=q*+g[d+32>>2]+r*+g[d+36>>2]+j*+g[d+40>>2]+ +g[d+56>>2];g[b+(f*184|0)+52>>2]=p;g[b+(f*184|0)+56>>2]=n;g[b+(f*184|0)+60>>2]=j;g[b+(f*184|0)+64>>2]=0.0;r=+g[b+(f*184|0)+20>>2];q=+g[b+(f*184|0)+24>>2];h=+g[b+(f*184|0)+28>>2];o=r*+g[e>>2]+q*+g[e+4>>2]+h*+g[e+8>>2]+ +g[e+48>>2];m=r*+g[e+16>>2]+q*+g[e+20>>2]+h*+g[e+24>>2]+ +g[e+52>>2];h=r*+g[e+32>>2]+q*+g[e+36>>2]+h*+g[e+40>>2]+ +g[e+56>>2];g[b+(f*184|0)+36>>2]=o;g[b+(f*184|0)+40>>2]=m;g[b+(f*184|0)+44>>2]=h;g[b+(f*184|0)+48>>2]=0.0;g[b+(f*184|0)+84>>2]=(p-o)*+g[b+(f*184|0)+68>>2]+(n-m)*+g[b+(f*184|0)+72>>2]+(j-h)*+g[b+(f*184|0)+76>>2];k=b+(f*184|0)+152|0;c[k>>2]=(c[k>>2]|0)+1}while((f|0)>0);f=c[b+748>>2]|0;if((f|0)<=0){i=l;return}d=f;k=f;while(1){k=k+-1|0;e=b+(k*184|0)+4|0;h=+g[b+(k*184|0)+84>>2];j=+g[b+752>>2];if(h<=j){n=+g[b+(k*184|0)+36>>2]-(+g[b+(k*184|0)+52>>2]-+g[b+(k*184|0)+68>>2]*h);m=+g[b+(k*184|0)+40>>2]-(+g[b+(k*184|0)+56>>2]-h*+g[b+(k*184|0)+72>>2]);h=+g[b+(k*184|0)+44>>2]-(+g[b+(k*184|0)+60>>2]-h*+g[b+(k*184|0)+76>>2]);if(n*n+m*m+h*h>j*j){f=d+-1|0;if((f|0)==(k|0))f=d;else{YE(e|0,b+(f*184|0)+4|0,184)|0;c[b+(f*184|0)+116>>2]=0;g[b+(f*184|0)+124>>2]=0.0;a[b+(f*184|0)+120>>0]=0;g[b+(f*184|0)+128>>2]=0.0;g[b+(f*184|0)+132>>2]=0.0;c[b+(f*184|0)+152>>2]=0;f=c[b+748>>2]|0}f=f+-1|0;c[b+748>>2]=f}else f=d}else{f=d+-1|0;if((f|0)==(k|0))f=d;else{YE(e|0,b+(f*184|0)+4|0,184)|0;c[b+(f*184|0)+116>>2]=0;g[b+(f*184|0)+124>>2]=0.0;a[b+(f*184|0)+120>>0]=0;g[b+(f*184|0)+128>>2]=0.0;g[b+(f*184|0)+132>>2]=0.0;c[b+(f*184|0)+152>>2]=0;f=c[b+748>>2]|0}f=f+-1|0;c[b+748>>2]=f}if((k|0)<=0)break;else d=f}i=l;return}function Gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0;f=i;g[b+16>>2]=+g[a+4>>2];g[b+20>>2]=+g[a+8>>2];g[b+24>>2]=+g[a+12>>2];g[b+28>>2]=+g[a+16>>2];g[b+32>>2]=+g[a+20>>2];g[b+36>>2]=+g[a+24>>2];g[b+40>>2]=+g[a+28>>2];g[b+44>>2]=+g[a+32>>2];g[b+48>>2]=+g[a+36>>2];g[b+52>>2]=+g[a+40>>2];g[b+56>>2]=+g[a+44>>2];g[b+60>>2]=+g[a+48>>2];g[b+64>>2]=+g[a+52>>2];g[b+68>>2]=+g[a+56>>2];g[b+72>>2]=+g[a+60>>2];g[b+76>>2]=+g[a+64>>2];g[b+80>>2]=+g[a+68>>2];g[b+84>>2]=+g[a+72>>2];g[b+88>>2]=+g[a+76>>2];g[b+92>>2]=+g[a+80>>2];g[b+96>>2]=+g[a+84>>2];g[b+100>>2]=+g[a+88>>2];g[b+104>>2]=+g[a+92>>2];g[b+108>>2]=+g[a+96>>2];g[b+112>>2]=+g[a+100>>2];g[b+116>>2]=+g[a+104>>2];g[b+120>>2]=+g[a+108>>2];g[b+124>>2]=+g[a+112>>2];g[b+128>>2]=+g[a+116>>2];g[b+132>>2]=+g[a+120>>2];g[b+136>>2]=+g[a+124>>2];g[b+140>>2]=+g[a+128>>2];g[b+144>>2]=+g[a+132>>2];g[b+148>>2]=+g[a+136>>2];g[b+152>>2]=+g[a+140>>2];g[b+156>>2]=+g[a+144>>2];g[b+160>>2]=+g[a+148>>2];g[b+164>>2]=+g[a+152>>2];g[b+168>>2]=+g[a+156>>2];g[b+172>>2]=+g[a+160>>2];g[b+176>>2]=+g[a+164>>2];g[b+180>>2]=+g[a+168>>2];g[b+184>>2]=+g[a+172>>2];g[b+188>>2]=+g[a+176>>2];c[b+224>>2]=c[a+180>>2];g[b+192>>2]=+g[a+184>>2];c[b>>2]=0;c[b+4>>2]=ec[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];g[b+196>>2]=+g[a+220>>2];g[b+200>>2]=+g[a+224>>2];g[b+204>>2]=+g[a+232>>2];g[b+208>>2]=+g[a+228>>2];c[b+244>>2]=c[a+236>>2];e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b+12>>2]=h;if(!h){d=a+244|0;j=+g[d>>2];d=b+212|0;g[d>>2]=j;d=a+248|0;j=+g[d>>2];d=b+216|0;g[d>>2]=j;d=a+252|0;j=+g[d>>2];d=b+220|0;g[d>>2]=j;d=a+256|0;d=c[d>>2]|0;e=b+248|0;c[e>>2]=d;i=f;return 5344}Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);d=a+244|0;j=+g[d>>2];d=b+212|0;g[d>>2]=j;d=a+248|0;j=+g[d>>2];d=b+216|0;g[d>>2]=j;d=a+252|0;j=+g[d>>2];d=b+220|0;g[d>>2]=j;d=a+256|0;d=c[d>>2]|0;e=b+248|0;c[e>>2]=d;i=f;return 5344}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=Nb[c[(c[a>>2]|0)+16>>2]&127](a)|0;f=Wb[c[(c[b>>2]|0)+16>>2]&63](b,f,1)|0;e=Wb[c[(c[a>>2]|0)+20>>2]&63](a,c[f+8>>2]|0,b)|0;Hb[c[(c[b>>2]|0)+20>>2]&31](b,f,e,1245859651,a);i=d;return}function Is(a){a=a|0;return 256}function Js(a,b){a=a|0;b=b|0;return 1}function Ks(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5416;d=c[b+276>>2]|0;if(d){if(a[b+280>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function Ls(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5416;d=c[b+276>>2]|0;if(!d){a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}if(a[b+280>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}a[b+280>>0]=1;c[b+276>>2]=0;c[b+268>>2]=0;c[b+272>>2]=0;d=c[5110]|0;d=d+1|0;c[5110]=d;d=b+-4|0;d=c[d>>2]|0;RE(d);i=e;return}function Ms(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;j=c[d>>2]|0;e=c[b+268>>2]|0;a:do if((e|0)>0){f=c[b+276>>2]|0;d=0;while(1){g=d+1|0;if((c[f+(d<<2)>>2]|0)==(j|0))break;if((g|0)<(e|0))d=g;else break a}if((d|0)!=(e|0)){i=k;return}}while(0);if((e|0)==(c[b+272>>2]|0)?(h=(e|0)==0?1:e<<1,(e|0)<(h|0)):0){if(!h)d=0;else{c[5108]=(c[5108]|0)+1;d=QE((h<<2|3)+16|0)|0;if(!d)d=0;else{c[(d+19&-16)+-4>>2]=d;d=d+19&-16}e=c[b+268>>2]|0}if((e|0)>0){g=0;do{f=d+(g<<2)|0;if(f)c[f>>2]=c[(c[b+276>>2]|0)+(g<<2)>>2];g=g+1|0}while((g|0)!=(e|0))}f=c[b+276>>2]|0;if(f){if(a[b+280>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0);e=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=d;c[b+272>>2]=h}d=(c[b+276>>2]|0)+(e<<2)|0;if(d)c[d>>2]=j;c[b+268>>2]=e+1;i=k;return}function Ns(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;j=i;b=c[b>>2]|0;e=c[a+268>>2]|0;if((e|0)<=0){i=j;return}d=c[a+276>>2]|0;g=0;while(1){f=d+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(e|0))g=h;else{k=7;break}}if((k|0)==7){i=j;return}if((g|0)>=(e|0)){i=j;return}c[f>>2]=c[d+(e+-1<<2)>>2];c[a+268>>2]=e+-1;i=j;return}function Os(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5464;d=c[b+284>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+284>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b>>2]=5416;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;i=e;return}if(a[b+280>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function Ps(a){a=a|0;var b=0;b=i;Os(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Qs(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;if(!e)e=c[b+188>>2]|0;l=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){j=g+1|0;if((c[h+(g<<2)>>2]|0)==(l|0))break;if((j|0)<(f|0))g=j;else break a}if((g|0)!=(f|0)){i=m;return}}while(0);if((f|0)==(c[b+272>>2]|0)?(k=(f|0)==0?1:f<<1,(f|0)<(k|0)):0){if(!k)g=0;else{c[5108]=(c[5108]|0)+1;g=QE((k<<2|3)+16|0)|0;if(!g)g=0;else{c[(g+19&-16)+-4>>2]=g;g=g+19&-16}f=c[b+268>>2]|0}if((f|0)>0){j=0;do{h=g+(j<<2)|0;if(h)c[h>>2]=c[(c[b+276>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(f|0))}h=c[b+276>>2]|0;if(h){if(a[b+280>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0);f=c[b+268>>2]|0}c[b+276>>2]=0}a[b+280>>0]=1;c[b+276>>2]=g;c[b+272>>2]=k}g=(c[b+276>>2]|0)+(f<<2)|0;if(g)c[g>>2]=l;c[b+268>>2]=f+1;f=c[b+284>>2]|0;Wb[c[(c[f>>2]|0)+8>>2]&63](f,e,d)|0;i=m;return}function Rs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;l=c[b>>2]|0;if(!e)e=c[a+188>>2]|0;f=c[a+268>>2]|0;if((f|0)<=0){i=n;return}g=c[a+276>>2]|0;j=0;while(1){h=g+(j<<2)|0;k=j+1|0;if((c[h>>2]|0)==(l|0))break;if((k|0)<(f|0))j=k;else{m=9;break}}if((m|0)==9){i=n;return}if((j|0)>=(f|0)){i=n;return}c[h>>2]=c[g+(f+-1<<2)>>2];c[a+268>>2]=f+-1;a=c[a+284>>2]|0;Rb[c[(c[a>>2]|0)+12>>2]&31](a,e,b,d)|0;i=n;return}function Ss(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,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.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;B=i;i=i+320|0;c[B+176>>2]=c[d+0>>2];c[B+180>>2]=c[d+4>>2];c[B+184>>2]=c[d+8>>2];c[B+188>>2]=c[d+12>>2];c[B+192>>2]=c[d+16>>2];c[B+196>>2]=c[d+20>>2];c[B+200>>2]=c[d+24>>2];c[B+204>>2]=c[d+28>>2];c[B+208>>2]=c[d+32>>2];c[B+212>>2]=c[d+36>>2];c[B+216>>2]=c[d+40>>2];c[B+220>>2]=c[d+44>>2];c[B+224>>2]=c[d+48>>2];c[B+228>>2]=c[d+52>>2];c[B+232>>2]=c[d+56>>2];c[B+236>>2]=c[d+60>>2];c[B+112>>2]=c[e+0>>2];c[B+116>>2]=c[e+4>>2];c[B+120>>2]=c[e+8>>2];c[B+124>>2]=c[e+12>>2];c[B+128>>2]=c[e+16>>2];c[B+132>>2]=c[e+20>>2];c[B+136>>2]=c[e+24>>2];c[B+140>>2]=c[e+28>>2];c[B+144>>2]=c[e+32>>2];c[B+148>>2]=c[e+36>>2];c[B+152>>2]=c[e+40>>2];c[B+156>>2]=c[e+44>>2];c[B+160>>2]=c[e+48>>2];c[B+164>>2]=c[e+52>>2];c[B+168>>2]=c[e+56>>2];c[B+172>>2]=c[e+60>>2];j=+g[B+164>>2]-+g[B+228>>2];G=+g[B+168>>2]-+g[B+232>>2];g[B+64>>2]=+g[B+160>>2]-+g[B+224>>2];g[B+68>>2]=j;g[B+72>>2]=G;g[B+76>>2]=0.0;Bp(B+176|0,B+112|0,B+248|0,B+240|0);G=+g[B+240>>2];j=G*+g[B+252>>2];D=G*+g[B+256>>2];g[B+48>>2]=+g[B+248>>2]*G;g[B+52>>2]=j;g[B+56>>2]=D;g[B+60>>2]=0.0;c[B+252>>2]=0;c[B+256>>2]=0;c[B+272>>2]=0;c[B+276>>2]=0;l=B+292|0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;c[l+16>>2]=0;Fc(B+176|0,B+32|0);D=+g[B+32>>2];j=+g[B+36>>2];G=+g[B+40>>2];E=+g[B+44>>2];C=D*(2.0/(D*D+j*j+G*G+E*E));k=j*(2.0/(D*D+j*j+G*G+E*E));F=G*(2.0/(D*D+j*j+G*G+E*E));g[B+248>>2]=1.0-(j*k+G*F);g[B+252>>2]=D*k-E*F;g[B+256>>2]=D*F+E*k;g[B+260>>2]=0.0;g[B+264>>2]=D*k+E*F;g[B+268>>2]=1.0-(D*C+G*F);g[B+272>>2]=j*F-E*C;g[B+276>>2]=0.0;g[B+280>>2]=D*F-E*k;g[B+284>>2]=j*F+E*C;g[B+288>>2]=1.0-(D*C+j*k);g[l>>2]=0.0;wy(b,B+248|0,B+64|0,B+48|0,B+96|0,B+80|0);if((c[a+268>>2]|0)<=0){i=B;return}s=0;do{l=c[(c[a+276>>2]|0)+(s<<2)>>2]|0;if(ec[c[(c[f>>2]|0)+8>>2]&31](f,c[l+188>>2]|0)|0?(u=c[l+192>>2]|0,tc[c[(c[u>>2]|0)+8>>2]&127](u,l+4|0,B+16|0,B),m=+g[B+16>>2]+ +g[B+96>>2],q=+g[B+20>>2]+ +g[B+100>>2],o=+g[B+24>>2]+ +g[B+104>>2],g[B+16>>2]=m,g[B+20>>2]=q,g[B+24>>2]=o,g[B+28>>2]=0.0,n=+g[B>>2]+ +g[B+80>>2],r=+g[B+4>>2]+ +g[B+84>>2],p=+g[B+8>>2]+ +g[B+88>>2],g[B>>2]=n,g[B+4>>2]=r,g[B+8>>2]=p,g[B+12>>2]=0.0,w=+g[d+48>>2]-(n+m)*.5,A=+g[d+52>>2]-(r+q)*.5,x=+g[d+56>>2]-(p+o)*.5,v=+g[e+48>>2]-(n+m)*.5,z=+g[e+52>>2]-(r+q)*.5,y=+g[e+56>>2]-(p+o)*.5,u=w<-((n-m)*.5)|(w>(n-m)*.5?8:0)|(A>(r-q)*.5?16:0)|(A<-((r-q)*.5)?2:0)|(x>(p-o)*.5?32:0)|(x<-((p-o)*.5)?4:0),t=v<-((n-m)*.5)|(v>(n-m)*.5?8:0)|(z>(r-q)*.5?16:0)|(z<-((r-q)*.5)?2:0)|(y>(p-o)*.5?32:0)|(y<-((p-o)*.5)?4:0),(u&t|0)==0):0){if(w<-((n-m)*.5))if(!((-w-(n-m)*.5)/(v-w)>=0.0)){j=1.0;k=0.0}else{j=1.0;k=(-w-(n-m)*.5)/(v-w)}else if(v<-((n-m)*.5)?(-w-(n-m)*.5)/(v-w)<1.0:0){j=(-w-(n-m)*.5)/(v-w);k=0.0}else{j=1.0;k=0.0}if(A<-((r-q)*.5)){if(k<=(-A-(r-q)*.5)/(z-A))k=(-A-(r-q)*.5)/(z-A)}else if(z<-((r-q)*.5)?(-A-(r-q)*.5)/(z-A)(n-m)*.5){if(k<=((n-m)*.5-w)/(v-w))k=((n-m)*.5-w)/(v-w)}else if(v>(n-m)*.5?((n-m)*.5-w)/(v-w)(r-q)*.5){if(k<=((r-q)*.5-A)/(z-A))k=((r-q)*.5-A)/(z-A)}else if(z>(r-q)*.5?((r-q)*.5-A)/(z-A)(p-o)*.5){if(k<=((p-o)*.5-x)/(y-x))k=((p-o)*.5-x)/(y-x)}else if(y>(p-o)*.5?((p-o)*.5-x)/(y-x)>2]|0;c[B+248>>2]=0;c[B+252>>2]=H;c[B+256>>2]=l;c[B+260>>2]=l+4;c[B+264>>2]=-1;c[B+268>>2]=-1;Yu(b,B+176|0,B+112|0,B+248|0,f,h)}}s=s+1|0}while((s|0)<(c[a+268>>2]|0));i=B;return}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,h=0,j=0,k=0;k=i;i=i+80|0;h=c[c[a>>2]>>2]|0;j=c[c[a+4>>2]>>2]|0;if(!(Wb[c[(c[b>>2]|0)+24>>2]&63](b,h,j)|0)){i=k;return}f=c[h+192>>2]|0;c[k+56>>2]=0;c[k+60>>2]=f;c[k+64>>2]=h;c[k+68>>2]=h+4;c[k+72>>2]=-1;c[k+76>>2]=-1;f=c[j+192>>2]|0;c[k+32>>2]=0;c[k+36>>2]=f;c[k+40>>2]=j;c[k+44>>2]=j+4;c[k+48>>2]=-1;c[k+52>>2]=-1;f=c[a+8>>2]|0;if(!f){f=Rb[c[(c[b>>2]|0)+8>>2]&31](b,k+56|0,k+32|0,0)|0;c[a+8>>2]=f;if(!f){i=k;return}}c[k>>2]=7888;c[k+4>>2]=0;c[k+8>>2]=k+56;c[k+12>>2]=k+32;if((c[d+8>>2]|0)==1){Hb[c[(c[f>>2]|0)+8>>2]&31](f,k+56|0,k+32|0,d,k);i=k;return}e=+Vb[c[(c[f>>2]|0)+12>>2]&15](f,h,j,d,k);if(!(+g[d+12>>2]>e)){i=k;return}g[d+12>>2]=e;i=k;return}function Us(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5600;d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function Vs(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5600;d=c[b+20>>2]|0;if(d){if(a[b+24>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;RE(b);i=e;return}function Ws(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0.0;o=i;i=i+16|0;c[1396]=(c[1396]|0)+1;if(!(c[b+4>>2]&2))f=5336;else{f=c[d+192>>2]|0;l=+jc[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[o+4>>2]=l;f=c[e+192>>2]|0;k=+jc[c[(c[f>>2]|0)+20>>2]&1](f,.019999999552965164);g[o>>2]=k;f=l>2];p=+g[d+184>>2];k=+g[e+184>>2];k=p>2]|0;h=c[j+8>>2]|0;if(!h){if(c[b+4>>2]&4){d=0;i=o;return d|0}c[5108]=(c[5108]|0)+1;h=QE(791)|0;if(!h)m=0;else{c[(h+19&-16)+-4>>2]=h;m=h+19&-16}}else{m=c[j+12>>2]|0;c[j+12>>2]=c[m>>2];c[j+8>>2]=h+-1}c[m>>2]=1025;c[m+116>>2]=0;a[m+120>>0]=0;f=m+124|0;c[f+0>>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[m+300>>2]=0;a[m+304>>0]=0;f=m+308|0;c[f+0>>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[m+484>>2]=0;a[m+488>>0]=0;f=m+492|0;c[f+0>>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[m+668>>2]=0;a[m+672>>0]=0;f=m+676|0;c[f+0>>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[m+740>>2]=d;c[m+744>>2]=e;c[m+748>>2]=0;g[m+752>>2]=l;g[m+756>>2]=k;d=c[b+12>>2]|0;c[m+768>>2]=d;if((d|0)==(c[b+16>>2]|0)?(n=(d|0)==0?1:d<<1,(d|0)<(n|0)):0){if(!n)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((n<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}d=c[b+12>>2]|0}if((d|0)>0){j=0;do{h=f+(j<<2)|0;if(h)c[h>>2]=c[(c[b+20>>2]|0)+(j<<2)>>2];j=j+1|0}while((j|0)!=(d|0))}h=c[b+20>>2]|0;if(h){if(a[b+24>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0);d=c[b+12>>2]|0}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=f;c[b+16>>2]=n}f=(c[b+20>>2]|0)+(d<<2)|0;if(f)c[f>>2]=m;c[b+12>>2]=d+1;d=m;i=o;return d|0}function Xs(a,b){a=a|0;b=b|0;c[b+748>>2]=0;return}function Ys(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;c[1396]=(c[1396]|0)+-1;Lb[c[(c[a>>2]|0)+20>>2]&127](a,b);f=c[b+768>>2]|0;e=(c[a+12>>2]|0)+-1|0;h=c[a+20>>2]|0;g=c[h+(f<<2)>>2]|0;c[h+(f<<2)>>2]=c[h+(e<<2)>>2];c[(c[a+20>>2]|0)+(e<<2)>>2]=g;c[(c[(c[a+20>>2]|0)+(f<<2)>>2]|0)+768>>2]=f;c[a+12>>2]=e;a=c[a+68>>2]|0;if(!b){i=d;return}e=c[a+16>>2]|0;if(e>>>0<=b>>>0?(e+($(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;i=d;return}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=d;return}function Zs(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;e=c[a+((c[(c[b+4>>2]|0)+4>>2]|0)*144|0)+(c[(c[d+4>>2]|0)+4>>2]<<2)+72>>2]|0;b=Rb[c[(c[e>>2]|0)+8>>2]&31](e,f,b,d)|0;i=f;return b|0}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=i;a=c[b+204>>2]|0;if((a&4|0)==0?(e=c[d+204>>2]|0,(e&4|0)==0):0)if(!(a&3))a=1;else a=(e&3|0)==0;else a=0;i=f;return a|0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;e=c[b+216>>2]|0;if((e|0)==2|(e|0)==5?(e=c[d+216>>2]|0,(e|0)==2|(e|0)==5):0){b=0;i=a;return b|0}if(!(c[b+256>>2]|0)){b=1;i=a;return b|0}b=ec[c[c[b>>2]>>2]&31](b,d)|0;i=a;return b|0}function at(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]=5712;c[f+4>>2]=d;c[f+8>>2]=a;pc[c[(c[b>>2]|0)+48>>2]&127](b,f,e);i=f;return}function bt(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;a=c[a+64>>2]|0;d=c[a+8>>2]|0;if(d){b=c[a+12>>2]|0;c[a+12>>2]=c[b>>2];c[a+8>>2]=d+-1;a=b;i=e;return a|0}c[5108]=(c[5108]|0)+1;a=QE(b+19|0)|0;if(!a){a=0;i=e;return a|0}c[(a+19&-16)+-4>>2]=a;a=a+19&-16;i=e;return a|0}function ct(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=c[a+64>>2]|0;if(!b){i=d;return}e=c[a+16>>2]|0;if(e>>>0<=b>>>0?(e+($(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;i=d;return}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=d;return}function dt(a){a=a|0;return c[a+68>>2]|0}function et(a){a=a|0;return c[a+68>>2]|0}function ft(a){a=a|0;var b=0;b=i;if(!(c[a+12>>2]|0)){a=0;i=b;return a|0}a=c[a+20>>2]|0;i=b;return a|0}function gt(a,b){a=a|0;b=b|0;return c[(c[a+20>>2]|0)+(b<<2)>>2]|0}function ht(a){a=a|0;return c[a+12>>2]|0}function it(a){a=a|0;return}function jt(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+8>>2]|0;pc[c[e+60>>2]&127](b,e,c[a+4>>2]|0);i=d;return 0}function kt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function lt(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;n=i;c[b>>2]=5816;c[5108]=(c[5108]|0)+1;e=QE(379)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}g[e+308>>2]=9.999999747378752e-05;j=e+332|0;a[j>>0]=a[j>>0]&-16;c[b+24>>2]=e;j=(c[d+20>>2]|0)==0;c[5108]=(c[5108]|0)+1;f=QE(23)|0;if(!f)e=0;else{c[(f+19&-16)+-4>>2]=f;e=f+19&-16}k=(e|0)==0;if(j){if(k)e=0;else c[e>>2]=18624;c[b+28>>2]=e}else{if(k)e=0;else c[e>>2]=19048;c[b+28>>2]=e}c[5108]=(c[5108]|0)+1;e=QE(43)|0;if((e|0)!=0?(l=e+19&-16,c[l+-4>>2]=e,(e+19&-16|0)!=0):0){j=c[b+24>>2]|0;f=c[b+28>>2]|0;a[l+4>>0]=0;c[(e+19&-16)>>2]=10400;c[l+16>>2]=0;c[l+20>>2]=3;c[l+12>>2]=j;c[l+8>>2]=f;e=e+19&-16}else e=0;c[b+32>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6824;e=e+19&-16}else e=0;c[b+36>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6720;e=e+19&-16}else e=0;c[b+40>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6632;e=e+19&-16}else e=0;c[b+44>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6536;e=e+19&-16}else e=0;c[b+48>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6440;e=e+19&-16}else e=0;c[b+52>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6360;e=e+19&-16}else e=0;c[b+56>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6264;e=e+19&-16}else e=0;c[b+60>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6168;e=e+19&-16}else e=0;c[b+76>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6168;e=e+19&-16}else e=0;c[b+80>>2]=e;a[e+4>>0]=1;c[5108]=(c[5108]|0)+1;e=QE(27)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){a[(e+19&-16)+4>>0]=0;c[(e+19&-16)>>2]=6080;e=e+19&-16}else e=0;c[b+72>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(35)|0;if((e|0)!=0?(m=e+19&-16,c[m+-4>>2]=e,(e+19&-16|0)!=0):0){a[m+4>>0]=0;c[(e+19&-16)>>2]=5944;c[m+8>>2]=1;c[m+12>>2]=0;e=e+19&-16}else e=0;c[b+88>>2]=e;c[5108]=(c[5108]|0)+1;e=QE(35)|0;if((e|0)!=0?(h=e+19&-16,c[h+-4>>2]=e,(e+19&-16|0)!=0):0){a[h+4>>0]=0;c[(e+19&-16)>>2]=5944;c[h+8>>2]=1;c[h+12>>2]=0;e=e+19&-16}else e=0;c[b+84>>2]=e;a[e+4>>0]=1;m=c[d+16>>2]|0;m=(m|0)>80?m:80;e=c[d>>2]|0;if(!e){a[b+12>>0]=1;c[5108]=(c[5108]|0)+1;l=QE(39)|0;do if(!l)e=0;else{k=l+19&-16;c[k+-4>>2]=l;if(!(l+19&-16)){e=0;break}e=c[d+8>>2]|0;c[(l+19&-16)>>2]=772;c[k+4>>2]=e;c[5108]=(c[5108]|0)+1;e=QE((e*772|3)+16|0)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[k+16>>2]=e;c[k+12>>2]=e;f=c[k+4>>2]|0;c[k+8>>2]=f;if(f+-1|0){k=c[(l+19&-16)>>2]|0;j=f+-1|0;h=e;do{o=h;h=h+k|0;c[o>>2]=h;j=j+-1|0}while((j|0)!=0);e=e+($(k,f+-1|0)|0)|0}c[e>>2]=0;e=l+19&-16}while(0);c[b+8>>2]=e}else{a[b+12>>0]=0;c[b+8>>2]=e}e=c[d+4>>2]|0;if(e){a[b+20>>0]=0;c[b+16>>2]=e;i=n;return}a[b+20>>0]=1;c[5108]=(c[5108]|0)+1;l=QE(39)|0;do if(!l)e=0;else{j=l+19&-16;c[j+-4>>2]=l;if(!(l+19&-16)){e=0;break}e=c[d+12>>2]|0;c[(l+19&-16)>>2]=m;c[j+4>>2]=e;e=$(e,m)|0;c[5108]=(c[5108]|0)+1;e=QE(e+19|0)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}c[j+16>>2]=e;c[j+12>>2]=e;k=c[j+4>>2]|0;c[j+8>>2]=k;if(k+-1|0){f=c[(l+19&-16)>>2]|0;h=k+-1|0;j=e;do{d=j;j=j+f|0;c[d>>2]=j;h=h+-1|0}while((h|0)!=0);e=e+($(f,k+-1|0)|0)|0}c[e>>2]=0;e=l+19&-16}while(0);c[b+16>>2]=e;i=n;return}function mt(b){b=b|0;var d=0,e=0,f=0;f=i;c[b>>2]=5816;if(a[b+20>>0]|0){d=c[b+16>>2]|0;e=c[d+16>>2]|0;if(e){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);d=c[b+16>>2]|0}if(d){c[5110]=(c[5110]|0)+1;RE(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[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);d=c[b+8>>2]|0}if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}}d=c[b+32>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+32>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+36>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+36>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+40>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+40>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+44>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+44>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+48>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+48>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+52>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+52>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+56>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+56>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+60>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+60>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+76>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+76>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+80>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+80>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+72>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+72>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+88>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+88>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+84>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+84>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+24>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}d=c[b+28>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+28>>2]|0;if(!d){i=f;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);i=f;return}function nt(a){a=a|0;var b=0;b=i;mt(a);RE(a);i=b;return}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;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((d|0)<20&(b|0)==28){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}else if((d|0)==31){b=a+52|0;break}else{b=a+56|0;break}}else b=a+60|0;while(0);i=e;return c[b>>2]|0}function pt(a){a=a|0;return c[a+24>>2]|0}function qt(a){a=a|0;return c[a+16>>2]|0}function rt(a){a=a|0;return c[a+8>>2]|0}function st(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;h=i;g=c[d>>2]|0;g=ec[c[(c[g>>2]|0)+56>>2]&31](g,28)|0;if(!(a[b+4>>0]|0)){if(!g){e=0;i=h;return e|0}j=c[b+8>>2]|0;b=c[b+12>>2]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=7032;a[g+8>>0]=0;c[g+12>>2]=0;a[g+16>>0]=0;c[g+20>>2]=j;c[g+24>>2]=b;if(!(Wb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0)){e=g;i=h;return e|0}d=c[g+4>>2]|0;c[g+12>>2]=Wb[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;e=g;i=h;return e|0}else{if(!g){e=0;i=h;return e|0}j=c[b+8>>2]|0;b=c[b+12>>2]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=7032;a[g+8>>0]=0;c[g+12>>2]=0;a[g+16>>0]=1;c[g+20>>2]=j;c[g+24>>2]=b;if(!(Wb[c[(c[d>>2]|0)+24>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0)){e=g;i=h;return e|0}d=c[g+4>>2]|0;c[g+12>>2]=Wb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;a[g+8>>0]=1;e=g;i=h;return e|0}return 0}function tt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function ut(a){a=a|0;return}function vt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[d>>2]|0;b=ec[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;if(!b){b=0;i=g;return b|0}d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=7808;a[b+8>>0]=0;c[b+12>>2]=0;if(!(Wb[c[(c[d>>2]|0)+24>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0)){i=g;return b|0}d=c[b+4>>2]|0;c[b+12>>2]=Wb[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;i=g;return b|0}function wt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function xt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;h=i;g=c[d>>2]|0;g=ec[c[(c[g>>2]|0)+56>>2]&31](g,20)|0;if(!g){d=0;i=h;return d|0}j=c[d+4>>2]|0;b=a[b+4>>0]|0;d=c[d>>2]|0;c[g+4>>2]=d;c[g>>2]=10312;a[g+8>>0]=0;c[g+12>>2]=j;a[g+16>>0]=b;if(j){d=g;i=h;return d|0}c[g+12>>2]=Wb[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;d=g;i=h;return d|0}function yt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function zt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[d>>2]|0;b=ec[c[(c[b>>2]|0)+56>>2]&31](b,16)|0;if(!b){b=0;i=g;return b|0}d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=19672;a[b+8>>0]=0;c[b+12>>2]=0;c[b+12>>2]=Wb[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;i=g;return b|0}function At(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;d=i;e=c[b>>2]|0;e=ec[c[(c[e>>2]|0)+56>>2]&31](e,8)|0;if(!e){e=0;i=d;return e|0}c[e+4>>2]=c[b>>2];c[e>>2]=19600;i=d;return e|0}function Ct(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;a=c[b>>2]|0;a=ec[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;if(!a){a=0;i=f;return a|0}lw(a,c[b>>2]|0,c[b+4>>2]|0,d,e,1);i=f;return a|0}function Et(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Ft(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;m=i;l=c[d>>2]|0;l=ec[c[(c[l>>2]|0)+56>>2]&31](l,48)|0;if(!l){b=0;i=m;return b|0}c[l+4>>2]=c[d>>2];c[l>>2]=11184;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[5108]=(c[5108]|0)+1;j=QE(87)|0;if((j|0)!=0?(k=j+19&-16,c[k+-4>>2]=j,(j+19&-16|0)!=0):0){c[(j+19&-16)>>2]=19920;a[k+20>>0]=1;c[k+16>>2]=0;c[k+8>>2]=0;c[k+12>>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[5108]=(c[5108]|0)+1;b=QE(43)|0;if(!b)h=0;else{c[(b+19&-16)+-4>>2]=b;h=b+19&-16}d=c[k+8>>2]|0;if((d|0)>0){g=0;do{b=h+(g*12|0)|0;if(b){n=(c[k+16>>2]|0)+(g*12|0)|0;c[b+0>>2]=c[n+0>>2];c[b+4>>2]=c[n+4>>2];c[b+8>>2]=c[n+8>>2]}g=g+1|0}while((g|0)!=(d|0))}d=c[k+16>>2]|0;if(d){if(a[k+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[k+16>>2]=0}a[k+20>>0]=1;c[k+16>>2]=h;c[k+12>>2]=2;FD(j+19&-16);b=j+19&-16}else b=0;c[l+8>>2]=b;c[l+40>>2]=c[(c[e+4>>2]|0)+68>>2];c[l+44>>2]=c[(c[f+4>>2]|0)+68>>2];f=l;i=m;return f|0}function Gt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;a=c[b>>2]|0;a=ec[c[(c[a>>2]|0)+56>>2]&31](a,44)|0;if(!a){a=0;i=f;return a|0}lw(a,c[b>>2]|0,c[b+4>>2]|0,d,e,0);i=f;return a|0}function It(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Jt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[d>>2]|0;b=ec[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;if(!b){b=0;i=g;return b|0}d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=7152;a[b+8>>0]=1;c[b+12>>2]=7184;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=f;c[b+20>>2]=e;e=Wb[c[(c[d>>2]|0)+12>>2]&63](d,c[f+8>>2]|0,c[e+8>>2]|0)|0;c[b+76>>2]=e;f=c[b+60>>2]|0;Lb[c[(c[f>>2]|0)+20>>2]&127](f,e);i=g;return b|0}function Kt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Lt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[d>>2]|0;b=ec[c[(c[b>>2]|0)+56>>2]&31](b,80)|0;if(!b){b=0;i=g;return b|0}d=c[d>>2]|0;c[b+4>>2]=d;c[b>>2]=7152;a[b+8>>0]=0;c[b+12>>2]=7184;c[b+60>>2]=d;c[b+64>>2]=0;c[b+16>>2]=e;c[b+20>>2]=f;e=Wb[c[(c[d>>2]|0)+12>>2]&63](d,c[e+8>>2]|0,c[f+8>>2]|0)|0;c[b+76>>2]=e;f=c[b+60>>2]|0;Lb[c[(c[f>>2]|0)+20>>2]&127](f,e);i=g;return b|0}function Mt(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Nt(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=6920;d=c[b+56>>2]|0;if(d){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function Ot(a){a=a|0;var b=0;b=i;Nt(a);RE(a);i=b;return}function Pt(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,o=0;o=i;h=c[d+8>>2]|0;if((h|0)>0){e=c[d+16>>2]|0;k=0;f=0;do{j=c[e+(k<<2)>>2]|0;if(!(c[j+204>>2]&3)){c[j+208>>2]=f;f=f+1|0}c[j+212>>2]=-1;g[j+244>>2]=1.0;k=k+1|0}while((k|0)!=(h|0));m=f}else m=0;l=c[b+8>>2]|0;if((l|0)<(m|0)){if((c[b+12>>2]|0)<(m|0)){if(!m){h=l;e=0}else{c[5108]=(c[5108]|0)+1;e=QE((m<<3|3)+16|0)|0;if(!e)f=0;else{c[(e+19&-16)+-4>>2]=e;f=e+19&-16}h=c[b+8>>2]|0;e=f}if((h|0)>0){k=0;do{j=e+(k<<3)|0;if(j){f=(c[b+16>>2]|0)+(k<<3)|0;n=c[f+4>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=n}k=k+1|0}while((k|0)!=(h|0))}f=c[b+16>>2]|0;if(f){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=e;c[b+12>>2]=m;h=b+16|0}else h=b+16|0;e=l;do{f=(c[h>>2]|0)+(e<<3)|0;if(f){c[f>>2]=0;c[f+4>>2]=0}e=e+1|0}while((e|0)!=(m|0))}c[b+8>>2]=m;if((m|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)!=(m|0))}e=c[d+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;d=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;if(!d){i=o;return}l=Nb[c[(c[e>>2]|0)+20>>2]&127](e)|0;if((d|0)<=0){i=o;return}n=0;do{f=c[c[l+(n<<4)>>2]>>2]|0;e=c[c[l+(n<<4)+4>>2]>>2]|0;if(((f|0)!=0?((e|0)!=0?(c[f+204>>2]&7|0)==0:0):0)?(c[e+204>>2]&7|0)==0:0){k=c[f+208>>2]|0;h=c[e+208>>2]|0;m=c[b+16>>2]|0;j=c[m+(k<<3)>>2]|0;if((j|0)!=(k|0)){f=m+(k<<3)|0;do{k=m+(j<<3)|0;c[f>>2]=c[k>>2];k=c[k>>2]|0;f=m+(k<<3)|0;j=c[f>>2]|0}while((k|0)!=(j|0))}j=c[m+(h<<3)>>2]|0;if((j|0)!=(h|0)){f=m+(h<<3)|0;do{h=m+(j<<3)|0;c[f>>2]=c[h>>2];h=c[h>>2]|0;f=m+(h<<3)|0;j=c[f>>2]|0}while((h|0)!=(j|0))}if((k|0)!=(h|0)){c[m+(k<<3)>>2]=h;j=m+(h<<3)+4|0;c[j>>2]=(c[j>>2]|0)+(c[m+(k<<3)+4>>2]|0)}}n=n+1|0}while((n|0)!=(d|0));i=o;return}function Qt(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;m=i;l=c[b+8>>2]|0;if((l|0)<=0){i=m;return}j=c[b+16>>2]|0;k=0;b=0;do{g=c[j+(k<<2)>>2]|0;if(!(c[g+204>>2]&3)){h=c[a+16>>2]|0;e=h+(b<<3)|0;d=c[e>>2]|0;if((d|0)==(b|0))d=b;else{f=d;do{d=h+(f<<3)|0;c[e>>2]=c[d>>2];d=c[d>>2]|0;e=h+(d<<3)|0;f=c[e>>2]|0}while((d|0)!=(f|0))}c[g+208>>2]=d;c[h+(b<<3)+4>>2]=k;c[g+212>>2]=-1;b=b+1|0}else{c[g+208>>2]=-1;c[g+212>>2]=-2}k=k+1|0}while((k|0)!=(l|0));i=m;return}function Rt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;while(1){n=c[a+12>>2]|0;m=c[n+(((b+d|0)/2|0)<<2)>>2]|0;e=b;f=d;while(1){l=c[(c[m+740>>2]|0)+208>>2]|0;if((l|0)>-1)while(1){h=c[n+(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)<(l|0))e=e+1|0;else break}else{k=c[(c[m+744>>2]|0)+208>>2]|0;while(1){h=c[n+(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)<(k|0))e=e+1|0;else break}}if((l|0)>-1)while(1){j=c[n+(f<<2)>>2]|0;g=c[(c[j+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[j+744>>2]|0)+208>>2]|0;if((l|0)<(g|0))f=f+-1|0;else{g=j;break}}else{k=c[(c[m+744>>2]|0)+208>>2]|0;while(1){j=c[n+(f<<2)>>2]|0;g=c[(c[j+740>>2]|0)+208>>2]|0;if((g|0)<=-1)g=c[(c[j+744>>2]|0)+208>>2]|0;if((k|0)<(g|0))f=f+-1|0;else{g=j;break}}}if((e|0)<=(f|0)){c[n+(e<<2)>>2]=g;c[(c[a+12>>2]|0)+(f<<2)>>2]=h;e=e+1|0;f=f+-1|0}if((e|0)>(f|0))break;n=c[a+12>>2]|0}if((f|0)>(b|0))Rt(a,b,f);if((e|0)<(d|0))b=e;else break}i=o;return}function St(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=7032;if(!(a[b+8>>0]|0)){i=e;return}d=c[b+12>>2]|0;if(!d){i=e;return}b=c[b+4>>2]|0;Lb[c[(c[b>>2]|0)+16>>2]&127](b,d);i=e;return}function Tt(b){b=b|0;var d=0,e=0,f=0;e=i;c[b>>2]=7032;if(!(a[b+8>>0]|0)){RE(b);i=e;return}d=c[b+12>>2]|0;if(!d){RE(b);i=e;return}f=c[b+4>>2]|0;Lb[c[(c[f>>2]|0)+16>>2]&127](f,d);RE(b);i=e;return}function Ut(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,K=0,L=0.0,M=0.0,N=0.0,Q=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.0,ba=0.0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0;J=i;i=i+128|0;if(!(c[b+12>>2]|0)){i=J;return}l=(a[b+16>>0]|0)!=0;K=l?e:d;l=l?d:e;k=c[K+4>>2]|0;j=c[l+4>>2]|0;K=c[K+12>>2]|0;y=+g[K>>2];x=+g[K+16>>2];w=+g[K+32>>2];u=+g[K+4>>2];t=+g[K+20>>2];s=+g[K+36>>2];q=+g[K+8>>2];E=+g[K+24>>2];n=+g[K+40>>2];I=+g[K+48>>2];F=+g[K+52>>2];G=+g[K+56>>2];K=c[l+12>>2]|0;Q=+g[K>>2];N=+g[K+16>>2];B=+g[K+32>>2];M=+g[K+4>>2];L=+g[K+20>>2];D=+g[K+36>>2];p=+g[K+8>>2];m=+g[K+24>>2];o=+g[K+40>>2];H=-+g[K+48>>2];A=-+g[K+52>>2];z=-+g[K+56>>2];K=c[(c[k>>2]|0)+64>>2]|0;C=-+g[j+48>>2];r=-+g[j+52>>2];v=-+g[j+56>>2];g[J+32>>2]=(y*Q+x*N+w*B)*C+(y*M+x*L+w*D)*r+(y*p+x*m+w*o)*v;g[J+36>>2]=(u*Q+t*N+s*B)*C+(u*M+t*L+s*D)*r+(u*p+t*m+s*o)*v;g[J+40>>2]=(q*Q+E*N+n*B)*C+(q*M+E*L+n*D)*r+(q*p+E*m+n*o)*v;g[J+44>>2]=0.0;pc[K&127](J+48|0,k,J+32|0);v=+g[J+48>>2];r=+g[J+52>>2];C=+g[J+56>>2];B=I*Q+F*N+G*B+(Q*H+N*A+B*z)+((y*Q+x*N+w*B)*v+(u*Q+t*N+s*B)*r+(q*Q+E*N+n*B)*C);D=I*M+F*L+G*D+(M*H+L*A+D*z)+((y*M+x*L+w*D)*v+(u*M+t*L+s*D)*r+(q*M+E*L+n*D)*C);C=I*p+F*m+G*o+(p*H+m*A+o*z)+((y*p+x*m+w*o)*v+(u*p+t*m+s*o)*r+(q*p+E*m+n*o)*C);o=+g[j+48>>2];n=+g[j+52>>2];m=+g[j+56>>2];E=m*C+(o*B+n*D)-+g[j+64>>2];K=c[l+12>>2]|0;p=+g[K>>2];q=+g[K+4>>2];r=+g[K+8>>2];s=+g[K+16>>2];t=+g[K+20>>2];u=+g[K+24>>2];v=+g[K+32>>2];w=+g[K+36>>2];x=+g[K+40>>2];y=+g[K+48>>2];z=+g[K+52>>2];A=+g[K+56>>2];K=c[b+12>>2]|0;f=E<+g[K+752>>2];c[h+4>>2]=K;if(f){f=c[l+12>>2]|0;G=o*+g[f+16>>2]+n*+g[f+20>>2]+m*+g[f+24>>2];H=o*+g[f+32>>2]+n*+g[f+36>>2]+m*+g[f+40>>2];g[J+16>>2]=+g[f>>2]*o+ +g[f+4>>2]*n+ +g[f+8>>2]*m;g[J+20>>2]=G;g[J+24>>2]=H;g[J+28>>2]=0.0;g[J>>2]=r*(C-m*E)+(p*(B-o*E)+q*(D-n*E))+y;g[J+4>>2]=(B-o*E)*s+(D-n*E)*t+(C-m*E)*u+z;g[J+8>>2]=(B-o*E)*v+(D-n*E)*w+(C-m*E)*x+A;g[J+12>>2]=0.0;oc[c[(c[h>>2]|0)+16>>2]&15](h,J+16|0,J,E)}if((c[k+4>>2]|0)<7?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+24>>2]|0):0){m=+g[j+56>>2];if(+O(+m)>.7071067690849304){H=+g[j+52>>2];o=1.0/+P(+(m*m+H*H));n=0.0;m=-(m*o);o=H*o}else{o=+g[j+48>>2];n=+g[j+52>>2];m=1.0/+P(+(o*o+n*n));n=-(n*m);m=o*m;o=0.0}F=.019999999552965164/+Zb[c[(c[k>>2]|0)+16>>2]&15](k);G=+P(+(o*o+(m*m+n*n)));F=F>.39269909262657166?.19634954631328583:F*.5;G=+S(+F)/G;I=n*G;H=m*G;G=o*G;F=+R(+F);l=c[b+20>>2]|0;if((l|0)>0){k=0;do{y=+g[j+48>>2];L=+g[j+52>>2];p=+g[j+56>>2];n=+(k|0)*(6.2831854820251465/+(l|0))*.5;M=+S(+n)/+P(+(y*y+L*L+p*p));n=+R(+n);o=G*-(L*M)+(I*n+F*-(y*M))-H*-(p*M);w=I*-(p*M)+(H*n+F*-(L*M))-G*-(y*M);fa=H*-(y*M)+(G*n+F*-(p*M))-I*-(L*M);r=F*n-I*-(y*M)-H*-(L*M)-G*-(p*M);C=p*M*w+(y*M*r+n*o)-L*M*fa;D=y*M*fa+(n*w+L*M*r)-p*M*o;ba=L*M*o+(p*M*r+n*fa)-y*M*w;fa=n*r-y*M*o-L*M*w-p*M*fa;l=(a[b+16>>0]|0)!=0;$=l?e:d;l=l?d:e;f=c[$+4>>2]|0;K=c[l+4>>2]|0;$=c[$+12>>2]|0;M=+g[$>>2];p=+g[$+4>>2];w=+g[$+8>>2];L=+g[$+16>>2];o=+g[$+20>>2];y=+g[$+24>>2];r=+g[$+32>>2];n=+g[$+36>>2];A=+g[$+40>>2];W=+g[$+48>>2];V=+g[$+52>>2];U=+g[$+56>>2];$=c[l+12>>2]|0;_=+g[$>>2];Z=+g[$+16>>2];s=+g[$+32>>2];Y=+g[$+4>>2];X=+g[$+20>>2];v=+g[$+36>>2];x=+g[$+8>>2];z=+g[$+24>>2];B=+g[$+40>>2];T=-+g[$+48>>2];Q=-+g[$+52>>2];N=-+g[$+56>>2];q=C*(2.0/(C*C+D*D+ba*ba+fa*fa));E=D*(2.0/(C*C+D*D+ba*ba+fa*fa));ga=ba*(2.0/(C*C+D*D+ba*ba+fa*fa));da=w*(C*ga-fa*E)+(p*(C*E+fa*ga)+M*(1.0-(D*E+ba*ga)));aa=w*(D*ga+fa*q)+(M*(C*E-fa*ga)+p*(1.0-(C*q+ba*ga)));u=M*(C*ga+fa*E)+p*(D*ga-fa*q)+w*(1.0-(C*q+D*E));ca=y*(C*ga-fa*E)+(o*(C*E+fa*ga)+L*(1.0-(D*E+ba*ga)));t=y*(D*ga+fa*q)+(L*(C*E-fa*ga)+o*(1.0-(C*q+ba*ga)));m=L*(C*ga+fa*E)+o*(D*ga-fa*q)+y*(1.0-(C*q+D*E));ea=A*(C*ga-fa*E)+(n*(C*E+fa*ga)+r*(1.0-(D*E+ba*ga)));ba=A*(D*ga+fa*q)+(r*(C*E-fa*ga)+n*(1.0-(C*q+ba*ga)));E=r*(C*ga+fa*E)+n*(D*ga-fa*q)+A*(1.0-(C*q+D*E));$=c[(c[f>>2]|0)+64>>2]|0;D=-+g[K+48>>2];q=-+g[K+52>>2];C=-+g[K+56>>2];g[J+96>>2]=(B*ea+(x*da+z*ca))*C+((s*ea+(_*da+Z*ca))*D+(v*ea+(Y*da+X*ca))*q);g[J+100>>2]=(B*ba+(x*aa+z*t))*C+((s*ba+(_*aa+Z*t))*D+(v*ba+(Y*aa+X*t))*q);g[J+104>>2]=(B*E+(x*u+z*m))*C+((s*E+(_*u+Z*m))*D+(v*E+(Y*u+X*m))*q);g[J+108>>2]=0.0;pc[$&127](J+112|0,f,J+96|0);q=+g[J+112>>2];m=+g[J+116>>2];u=+g[J+120>>2];E=+g[K+48>>2];D=+g[K+52>>2];C=+g[K+56>>2];t=C*(W*x+V*z+U*B+(x*T+z*Q+B*N)+((M*x+L*z+r*B)*q+(p*x+o*z+n*B)*m+(w*x+y*z+A*B)*u))+(E*(W*_+V*Z+U*s+(_*T+Z*Q+s*N)+((M*_+L*Z+r*s)*q+(p*_+o*Z+n*s)*m+(w*_+y*Z+A*s)*u))+D*(W*Y+V*X+U*v+(Y*T+X*Q+v*N)+((M*Y+L*X+r*v)*q+(p*Y+o*X+n*v)*m+(w*Y+y*X+A*v)*u)))-+g[K+64>>2];s=W*_+V*Z+U*s+(_*T+Z*Q+s*N)+((M*_+L*Z+r*s)*q+(p*_+o*Z+n*s)*m+(w*_+y*Z+A*s)*u)-E*t;v=W*Y+V*X+U*v+(Y*T+X*Q+v*N)+((M*Y+L*X+r*v)*q+(p*Y+o*X+n*v)*m+(w*Y+y*X+A*v)*u)-D*t;u=W*x+V*z+U*B+(x*T+z*Q+B*N)+((M*x+L*z+r*B)*q+(p*x+o*z+n*B)*m+(w*x+y*z+A*B)*u)-C*t;K=c[l+12>>2]|0;B=+g[K>>2];A=+g[K+4>>2];z=+g[K+8>>2];y=+g[K+16>>2];x=+g[K+20>>2];w=+g[K+24>>2];m=+g[K+32>>2];n=+g[K+36>>2];o=+g[K+40>>2];p=+g[K+48>>2];q=+g[K+52>>2];r=+g[K+56>>2];K=c[b+12>>2]|0;f=t<+g[K+752>>2];c[h+4>>2]=K;if(f){K=c[l+12>>2]|0;ga=E*+g[K+16>>2]+D*+g[K+20>>2]+C*+g[K+24>>2];fa=E*+g[K+32>>2]+D*+g[K+36>>2]+C*+g[K+40>>2];g[J+80>>2]=+g[K>>2]*E+ +g[K+4>>2]*D+ +g[K+8>>2]*C;g[J+84>>2]=ga;g[J+88>>2]=fa;g[J+92>>2]=0.0;g[J+64>>2]=z*u+(B*s+A*v)+p;g[J+68>>2]=s*y+v*x+u*w+q;g[J+72>>2]=s*m+v*n+u*o+r;g[J+76>>2]=0.0;oc[c[(c[h>>2]|0)+16>>2]&15](h,J+80|0,J+64|0,t)}k=k+1|0;l=c[b+20>>2]|0}while((k|0)<(l|0))}}if(!(a[b+8>>0]|0)){i=J;return}if(!(c[(c[b+12>>2]|0)+748>>2]|0)){i=J;return}j=c[h+4>>2]|0;if(!(c[j+748>>2]|0)){i=J;return}k=c[j+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((k|0)==(l|0)){Fs(j,k+4|0,f+4|0);i=J;return}else{Fs(j,f+4|0,l+4|0);i=J;return}}function Vt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Wt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+12>>2]|0)){i=k;return}if(!(a[b+8>>0]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+12>>2];c[d+4>>2]=e+1;i=k;return}function Xt(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=7152;c[a+12>>2]=7184;d=c[a+60>>2]|0;Lb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+76>>2]|0);d=c[a+60>>2]|0;Lb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+76>>2]|0);i=b;return}function Yt(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=7152;c[a+12>>2]=7184;d=c[a+60>>2]|0;Lb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+76>>2]|0);d=c[a+60>>2]|0;Lb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+76>>2]|0);RE(a);i=b;return}function Zt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+76>>2]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+76>>2];c[d+4>>2]=e+1;i=k;return}function _t(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=7184;d=c[a+48>>2]|0;Lb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+64>>2]|0);d=c[a+48>>2]|0;Lb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+64>>2]|0);i=b;return}function $t(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=7184;d=c[a+48>>2]|0;Lb[c[(c[d>>2]|0)+20>>2]&127](d,c[a+64>>2]|0);d=c[a+48>>2]|0;Lb[c[(c[d>>2]|0)+16>>2]&127](d,c[a+64>>2]|0);RE(a);i=b;return}function au(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,n=0,o=0.0,p=0;n=i;i=i+128|0;j=+g[b>>2];k=+g[b+16>>2];o=j>2];if((o+g[a+28>>2]){i=n;return}f=j>k?b:b+16|0;if(+g[(+g[f>>2]>l?f:b+32|0)>>2]<+g[a+12>>2]){i=n;return}l=+g[b+8>>2];k=+g[b+24>>2];o=l>2];if((o+g[a+36>>2]){i=n;return}f=l>k?b+8|0:b+24|0;if(+g[(+g[f>>2]>j?f:b+40|0)>>2]<+g[a+20>>2]){i=n;return}k=+g[b+4>>2];j=+g[b+20>>2];o=k>2];if((o+g[a+32>>2]){i=n;return}f=k>j?b+4|0:b+20|0;if(+g[(+g[f>>2]>l?f:b+36|0)>>2]<+g[a+16>>2]){i=n;return}m=c[a+48>>2]|0;h=c[a+4>>2]|0;if((c[(c[h+4>>2]|0)+4>>2]|0)>=20){i=n;return}c[n+32>>2]=0;g[n+36>>2]=1.0;g[n+40>>2]=1.0;g[n+44>>2]=1.0;g[n+48>>2]=0.0;c[n+76>>2]=0;c[n+24>>2]=7584;c[n+28>>2]=1;c[n+80>>2]=c[b+0>>2];c[n+84>>2]=c[b+4>>2];c[n+88>>2]=c[b+8>>2];c[n+92>>2]=c[b+12>>2];c[n+96>>2]=c[b+16>>2];c[n+100>>2]=c[b+20>>2];c[n+104>>2]=c[b+24>>2];c[n+108>>2]=c[b+28>>2];c[n+112>>2]=c[b+32>>2];c[n+116>>2]=c[b+36>>2];c[n+120>>2]=c[b+40>>2];c[n+124>>2]=c[b+44>>2];g[n+68>>2]=+g[a+56>>2];p=c[a+8>>2]|0;f=c[p+8>>2]|0;b=c[p+12>>2]|0;c[n>>2]=p;c[n+4>>2]=n+24;c[n+8>>2]=f;c[n+12>>2]=b;c[n+16>>2]=d;c[n+20>>2]=e;b=Rb[c[(c[m>>2]|0)+8>>2]&31](m,h,n,c[a+64>>2]|0)|0;f=c[a+44>>2]|0;h=c[f+8>>2]|0;if((c[h+8>>2]|0)==(c[(c[a+8>>2]|0)+8>>2]|0)){c[f+8>>2]=n;pc[c[(c[f>>2]|0)+8>>2]&127](f,d,e)}else{h=c[f+12>>2]|0;c[f+12>>2]=n;pc[c[(c[f>>2]|0)+12>>2]&127](f,d,e)}Hb[c[(c[b>>2]|0)+8>>2]&31](b,c[a+4>>2]|0,n,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]=h;else c[f+12>>2]=h;Jb[c[c[b>>2]>>2]&255](b);Lb[c[(c[m>>2]|0)+60>>2]&127](m,b);c[n+24>>2]=13336;f=c[n+76>>2]|0;if(!f){i=n;return}Jb[c[c[f>>2]>>2]&255](f);f=c[n+76>>2]|0;if(!f){i=n;return}c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0);i=n;return}function bu(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;l=i;i=i+64|0;j=(a[b+8>>0]|0)!=0;k=j?e:d;d=j?d:e;j=c[d+4>>2]|0;if(((c[j+4>>2]|0)+-21|0)>>>0>=9){i=l;return}if((c[(c[k+4>>2]|0)+4>>2]|0)>=20){i=l;return}m=+Zb[c[(c[j>>2]|0)+48>>2]&15](j);c[h+4>>2]=c[b+76>>2];c[b+16>>2]=k;c[b+20>>2]=d;c[b+64>>2]=f;g[b+68>>2]=m;c[b+56>>2]=h;e=c[d+12>>2]|0;B=+g[e>>2];A=+g[e+16>>2];z=+g[e+32>>2];y=+g[e+4>>2];x=+g[e+20>>2];w=+g[e+36>>2];s=+g[e+8>>2];q=+g[e+24>>2];o=+g[e+40>>2];v=-+g[e+48>>2];u=-+g[e+52>>2];t=-+g[e+56>>2];e=c[k+12>>2]|0;K=+g[e>>2];J=+g[e+16>>2];I=+g[e+32>>2];H=+g[e+4>>2];G=+g[e+20>>2];F=+g[e+36>>2];E=+g[e+8>>2];D=+g[e+24>>2];C=+g[e+40>>2];r=+g[e+48>>2];p=+g[e+52>>2];n=+g[e+56>>2];g[l>>2]=B*K+A*J+z*I;g[l+4>>2]=B*H+A*G+z*F;g[l+8>>2]=B*E+A*D+z*C;g[l+12>>2]=0.0;g[l+16>>2]=y*K+x*J+w*I;g[l+20>>2]=y*H+x*G+w*F;g[l+24>>2]=y*E+x*D+w*C;g[l+28>>2]=0.0;g[l+32>>2]=s*K+q*J+o*I;g[l+36>>2]=s*H+q*G+o*F;g[l+40>>2]=s*E+q*D+o*C;g[l+44>>2]=0.0;g[l+48>>2]=B*v+A*u+z*t+(B*r+A*p+z*n);g[l+52>>2]=y*v+x*u+w*t+(y*r+x*p+w*n);g[l+56>>2]=s*v+q*u+o*t+(s*r+q*p+o*n);g[l+60>>2]=0.0;e=c[(c[b+16>>2]|0)+4>>2]|0;tc[c[(c[e>>2]|0)+8>>2]&127](e,l,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;e=c[b+76>>2]|0;d=c[d+8>>2]|0;c[e+740>>2]=c[k+8>>2];c[e+744>>2]=d;tc[c[(c[j>>2]|0)+64>>2]&127](j,b+12|0,b+24|0,b+40|0);k=c[h+4>>2]|0;do if(c[k+748>>2]|0){e=c[k+740>>2]|0;d=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((e|0)==(d|0)){Fs(k,e+4|0,j+4|0);break}else{Fs(k,j+4|0,d+4|0);break}}while(0);c[b+16>>2]=0;c[b+20>>2]=0;i=l;return}function cu(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.0;h=i;i=i+240|0;f=(a[b+8>>0]|0)!=0;b=f?e:d;e=f?d:e;A=+g[b+116>>2]-+g[b+52>>2];C=+g[b+120>>2]-+g[b+56>>2];D=+g[b+124>>2]-+g[b+60>>2];E=+g[b+252>>2];if(A*A+C*C+D*D>2];P=+g[e+20>>2];p=+g[e+36>>2];q=+g[e+8>>2];r=+g[e+24>>2];s=+g[e+40>>2];t=+g[e+12>>2];u=+g[e+28>>2];v=+g[e+44>>2];n=-+g[e+52>>2];m=-+g[e+56>>2];l=-+g[e+60>>2];w=+g[b+4>>2];x=+g[b+20>>2];y=+g[b+36>>2];z=+g[b+8>>2];A=+g[b+24>>2];B=+g[b+40>>2];C=+g[b+12>>2];D=+g[b+28>>2];E=+g[b+44>>2];G=+g[b+52>>2];F=+g[b+56>>2];T=+g[b+60>>2];R=O*n+P*m+p*l+(O*G+P*F+p*T);V=q*n+r*m+s*l+(q*G+r*F+s*T);T=t*n+u*m+v*l+(t*G+u*F+v*T);F=+g[b+68>>2];G=+g[b+84>>2];H=+g[b+100>>2];I=+g[b+72>>2];J=+g[b+88>>2];K=+g[b+104>>2];L=+g[b+76>>2];M=+g[b+92>>2];N=+g[b+108>>2];k=+g[b+116>>2];j=+g[b+120>>2];S=+g[b+124>>2];Q=O*n+P*m+p*l+(O*k+P*j+p*S);U=q*n+r*m+s*l+(q*k+r*j+s*S);S=t*n+u*m+v*l+(t*k+u*j+v*S);e=c[e+192>>2]|0;if(((c[e+4>>2]|0)+-21|0)>>>0>=9){E=1.0;i=h;return +E}g[h+224>>2]=R;g[h+228>>2]=V;g[h+232>>2]=T;g[h+236>>2]=0.0;if(Q>2]=Q;j=Q}else j=R;if(U>2]=U;k=U}else k=V;if(S>2]=S;l=S}else l=T;g[h+208>>2]=R;g[h+212>>2]=V;g[h+216>>2]=T;g[h+220>>2]=0.0;if(R>2]=Q;m=Q}else m=R;if(V>2]=U;n=U}else n=V;if(T>2]=S;o=S}else o=T;W=+g[b+248>>2];g[h+224>>2]=j-W;g[h+228>>2]=k-W;g[h+232>>2]=l-W;g[h+208>>2]=W+m;g[h+212>>2]=W+n;g[h+216>>2]=W+o;c[h>>2]=7312;g[h+4>>2]=O*w+P*x+p*y;g[h+8>>2]=O*z+P*A+p*B;g[h+12>>2]=O*C+P*D+p*E;g[h+16>>2]=0.0;g[h+20>>2]=q*w+r*x+s*y;g[h+24>>2]=q*z+r*A+s*B;g[h+28>>2]=q*C+r*D+s*E;g[h+32>>2]=0.0;g[h+36>>2]=t*w+u*x+v*y;g[h+40>>2]=t*z+u*A+v*B;g[h+44>>2]=t*C+u*D+v*E;g[h+48>>2]=0.0;g[h+52>>2]=R;g[h+56>>2]=V;g[h+60>>2]=T;g[h+64>>2]=0.0;g[h+68>>2]=O*F+P*G+p*H;g[h+72>>2]=O*I+P*J+p*K;g[h+76>>2]=O*L+P*M+p*N;g[h+80>>2]=0.0;g[h+84>>2]=q*F+r*G+s*H;g[h+88>>2]=q*I+r*J+s*K;g[h+92>>2]=q*L+r*M+s*N;g[h+96>>2]=0.0;g[h+100>>2]=t*F+u*G+v*H;g[h+104>>2]=t*I+u*J+v*K;g[h+108>>2]=t*L+u*M+v*N;g[h+112>>2]=0.0;g[h+116>>2]=Q;g[h+120>>2]=U;g[h+124>>2]=S;g[h+128>>2]=0.0;g[h+196>>2]=W;g[h+200>>2]=+g[b+244>>2];if(!e){E=1.0;i=h;return +E}tc[c[(c[e>>2]|0)+64>>2]&127](e,h,h+224|0,h+208|0);j=+g[h+200>>2];if(!(j<+g[b+244>>2])){E=1.0;i=h;return +E}g[b+244>>2]=j;E=j;i=h;return +E}function du(a,b){a=a|0;b=+b;g[a+44>>2]=b;return}function eu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0.0;f=i;i=i+784|0;g[f+712>>2]=1.0;c[f+716>>2]=0;c[f+720>>2]=0;c[f+724>>2]=0;c[f+728>>2]=0;g[f+732>>2]=1.0;c[f+736>>2]=0;c[f+740>>2]=0;c[f+744>>2]=0;c[f+748>>2]=0;g[f+752>>2]=1.0;e=f+756|0;c[e+0>>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]=7512;c[f+704>>2]=0;g[f+708>>2]=0.0;g[f+700>>2]=+g[b+200>>2];j=+g[b+196>>2];c[f+488>>2]=0;g[f+492>>2]=1.0;g[f+496>>2]=1.0;g[f+500>>2]=1.0;g[f+504>>2]=0.0;c[f+480>>2]=12008;c[f+484>>2]=8;g[f+508>>2]=j;g[f+524>>2]=j;c[f+384>>2]=0;g[f+388>>2]=1.0;g[f+392>>2]=1.0;g[f+396>>2]=1.0;g[f+400>>2]=0.0;g[f+420>>2]=.03999999910593033;c[f+428>>2]=0;c[f+376>>2]=7584;c[f+380>>2]=1;c[f+432>>2]=c[d+0>>2];c[f+436>>2]=c[d+4>>2];c[f+440>>2]=c[d+8>>2];c[f+444>>2]=c[d+12>>2];c[f+448>>2]=c[d+16>>2];c[f+452>>2]=c[d+20>>2];c[f+456>>2]=c[d+24>>2];c[f+460>>2]=c[d+28>>2];c[f+464>>2]=c[d+32>>2];c[f+468>>2]=c[d+36>>2];c[f+472>>2]=c[d+40>>2];c[f+476>>2]=c[d+44>>2];g[f+324>>2]=9.999999747378752e-05;a[f+348>>0]=0;c[f>>2]=18976;c[f+4>>2]=f+16;c[f+8>>2]=f+480;c[f+12>>2]=f+376;if(QC(f,b+4|0,b+68|0,f+712|0,f+712|0,f+536|0)|0?(h=+g[f+700>>2],+g[b+200>>2]>h):0)g[b+200>>2]=h;c[f+376>>2]=13336;e=c[f+428>>2]|0;if(!e){i=f;return}Jb[c[c[e>>2]>>2]&255](e);e=c[f+428>>2]|0;if(!e){i=f;return}c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);i=f;return}function fu(a){a=a|0;return}function gu(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function hu(a,b,c){a=a|0;b=b|0;c=c|0;return}function iu(a,b){a=a|0;b=b|0;return}function ju(a,b){a=a|0;b=+b;return}function ku(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function lu(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/+P(+((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]=f*(i*l-m*j);g[d+4>>2]=f*(m*h-k*l);g[d+8>>2]=(k*j-i*h)*f;c[e+0>>2]=c[a+56>>2];c[e+4>>2]=c[a+60>>2];c[e+8>>2]=c[a+64>>2];c[e+12>>2]=c[a+68>>2];return}function mu(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/+P(+((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=+g[b>>2]*f+ +g[b+4>>2]*h+j*+g[b+8>>2]-(f*n+h*m+j*l);if(!(l>=-d)|!(l<=d)){b=0;i=k;return b|0}e=0;while(1){tc[c[(c[a>>2]|0)+104>>2]&127](a,e,k+16|0,k);q=+g[k+16>>2];p=+g[k>>2]-q;m=+g[k+20>>2];l=+g[k+4>>2]-m;r=+g[k+24>>2];o=+g[k+8>>2]-r;n=1.0/+P(+((h*p-f*l)*(h*p-f*l)+((j*l-h*o)*(j*l-h*o)+(f*o-j*p)*(f*o-j*p))));e=e+1|0;if(+g[b>>2]*(n*(j*l-h*o))+ +g[b+4>>2]*(n*(f*o-j*p))+(h*p-f*l)*n*+g[b+8>>2]-(r*((h*p-f*l)*n)+(q*(n*(j*l-h*o))+m*(n*(f*o-j*p))))<-d){b=0;e=5;break}if((e|0)>=3){b=1;e=5;break}}if((e|0)==5){i=k;return b|0}return 0}function nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+124>>2]&127](a,e,b,d);i=f;return}function ou(a){a=a|0;return 1}function pu(a,b,d){a=a|0;b=b|0;d=d|0;c[d+0>>2]=c[a+(b<<4)+56>>2];c[d+4>>2]=c[a+(b<<4)+60>>2];c[d+8>>2]=c[a+(b<<4)+64>>2];c[d+12>>2]=c[a+(b<<4)+68>>2];return}function qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;pc[c[(c[a>>2]|0)+108>>2]&127](a,b,d);pc[c[(c[a>>2]|0)+108>>2]&127](a,(b+1|0)%3|0,e);i=f;return}function ru(a){a=a|0;return 3}function su(a){a=a|0;return 3}function tu(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,j=0.0,k=0.0,l=0.0,m=0;m=i;h=+g[a+56>>2];f=+g[a+72>>2]-h;l=+g[a+60>>2];k=+g[a+76>>2]-l;e=+g[a+64>>2];j=+g[a+80>>2]-e;h=+g[a+88>>2]-h;l=+g[a+92>>2]-l;e=+g[a+96>>2]-e;g[c+12>>2]=0.0;d=1.0/+P(+((f*l-k*h)*(f*l-k*h)+((k*e-j*l)*(k*e-j*l)+(j*h-f*e)*(j*h-f*e))));g[c>>2]=d*(k*e-j*l);g[c+4>>2]=d*(j*h-f*e);g[c+8>>2]=(f*l-k*h)*d;if(!b){i=m;return}g[c>>2]=-(d*(k*e-j*l));g[c+4>>2]=-(d*(j*h-f*e));g[c+8>>2]=-((f*l-k*h)*d);i=m;return}function uu(a){a=a|0;return 2}function vu(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.0,p=0.0;n=i;if((e|0)<=0){i=n;return}m=0;do{p=+g[b+(m<<4)>>2];o=+g[b+(m<<4)+4>>2];j=+g[b+(m<<4)+8>>2];h=p*+g[a+56>>2]+o*+g[a+60>>2]+j*+g[a+64>>2];k=p*+g[a+72>>2]+o*+g[a+76>>2]+j*+g[a+80>>2];j=p*+g[a+88>>2]+o*+g[a+92>>2]+j*+g[a+96>>2];l=d+(m<<4)|0;if(h>2]=c[f+0>>2];c[l+4>>2]=c[f+4>>2];c[l+8>>2]=c[f+8>>2];c[l+12>>2]=c[f+12>>2];m=m+1|0}while((m|0)!=(e|0));i=n;return}function wu(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,l=0.0;j=i;l=+g[d>>2];k=+g[d+4>>2];f=+g[d+8>>2];e=l*+g[b+56>>2]+k*+g[b+60>>2]+f*+g[b+64>>2];h=l*+g[b+72>>2]+k*+g[b+76>>2]+f*+g[b+80>>2];f=l*+g[b+88>>2]+k*+g[b+92>>2]+f*+g[b+96>>2];if(e>2]=c[d+0>>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];i=j;return}else{d=e>2]=c[d+0>>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];i=j;return}}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0;f=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;h=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=h;if(h)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+28>>2]=+g[a+28>>2];g[b+32>>2]=+g[a+32>>2];g[b+36>>2]=+g[a+36>>2];g[b+40>>2]=+g[a+40>>2];g[b+12>>2]=+g[a+12>>2];g[b+16>>2]=+g[a+16>>2];g[b+20>>2]=+g[a+20>>2];g[b+24>>2]=+g[a+24>>2];g[b+44>>2]=+g[a+44>>2];i=f;return 7752}function yu(a){a=a|0;return 52}function zu(a){a=a|0;return +(+g[a+44>>2])}function Au(a,b){a=a|0;b=b|0;g[a>>2]=1.0;g[a+4>>2]=1.0;g[a+8>>2]=1.0;g[a+12>>2]=0.0;return}function Bu(a){a=a|0;return 7784}function Cu(a,b,d){a=a|0;b=+b;d=d|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;return}function Du(a){a=a|0;return a+12|0}function Eu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+80>>2]&127](a,b,d,e);i=f;return}function Fu(a){a=a|0;var b=0,d=0;d=i;c[a>>2]=13336;b=c[a+52>>2]|0;if(b){Jb[c[c[b>>2]>>2]&255](b);b=c[a+52>>2]|0;if(b){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}if(!a){i=d;return}}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=d;return}function Gu(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=7808;if(!(a[b+8>>0]|0)){i=e;return}d=c[b+12>>2]|0;if(!d){i=e;return}b=c[b+4>>2]|0;Lb[c[(c[b>>2]|0)+16>>2]&127](b,d);i=e;return}function Hu(b){b=b|0;var d=0,e=0,f=0;e=i;c[b>>2]=7808;if(!(a[b+8>>0]|0)){RE(b);i=e;return}d=c[b+12>>2]|0;if(!d){RE(b);i=e;return}f=c[b+4>>2]|0;Lb[c[(c[f>>2]|0)+16>>2]&127](f,d);RE(b);i=e;return}function Iu(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;k=i;i=i+144|0;j=c[b+12>>2]|0;if(!j){i=k;return}m=c[d+4>>2]|0;l=c[e+4>>2]|0;c[h+4>>2]=j;g[k+140>>2]=999999984306749440.0;d=c[d+12>>2]|0;c[k+12>>2]=c[d+0>>2];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+24>>2]=c[d+12>>2];c[k+28>>2]=c[d+16>>2];c[k+32>>2]=c[d+20>>2];c[k+36>>2]=c[d+24>>2];c[k+40>>2]=c[d+28>>2];c[k+44>>2]=c[d+32>>2];c[k+48>>2]=c[d+36>>2];c[k+52>>2]=c[d+40>>2];c[k+56>>2]=c[d+44>>2];c[k+60>>2]=c[d+48>>2];c[k+64>>2]=c[d+52>>2];c[k+68>>2]=c[d+56>>2];c[k+72>>2]=c[d+60>>2];e=c[e+12>>2]|0;c[k+76>>2]=c[e+0>>2];c[k+80>>2]=c[e+4>>2];c[k+84>>2]=c[e+8>>2];c[k+88>>2]=c[e+12>>2];c[k+92>>2]=c[e+16>>2];c[k+96>>2]=c[e+20>>2];c[k+100>>2]=c[e+24>>2];c[k+104>>2]=c[e+28>>2];c[k+108>>2]=c[e+32>>2];c[k+112>>2]=c[e+36>>2];c[k+116>>2]=c[e+40>>2];c[k+120>>2]=c[e+44>>2];c[k+124>>2]=c[e+48>>2];c[k+128>>2]=c[e+52>>2];c[k+132>>2]=c[e+56>>2];c[k+136>>2]=c[e+60>>2];c[k>>2]=19760;c[k+4>>2]=m;c[k+8>>2]=l;BD(k,k+12|0,h,c[f+20>>2]|0,0);if(!(a[b+8>>0]|0)){i=k;return}e=c[h+4>>2]|0;if(!(c[e+748>>2]|0)){i=k;return}d=c[e+740>>2]|0;j=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((d|0)==(j|0)){Fs(e,d+4|0,f+4|0);i=k;return}else{Fs(e,f+4|0,j+4|0);i=k;return}}function Ju(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Ku(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+12>>2]|0)){i=k;return}if(!(a[b+8>>0]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+12>>2];c[d+4>>2]=e+1;i=k;return}function Lu(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,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,z=0,A=0.0,B=0.0;z=i;i=i+192|0;y=c[b+4>>2]|0;if(+g[y+752>>2]>2]|0;v=(c[b+8>>2]|0)+8|0;x=c[v>>2]|0;k=+g[e>>2];o=+g[d>>2]*f+k;j=+g[e+4>>2];q=+g[d+4>>2]*f+j;l=+g[e+8>>2];p=+g[d+8>>2]*f+l;u=(c[b+12>>2]|0)+8|0;n=c[u>>2]|0;if((w|0)!=(x|0)){B=o-+g[n+52>>2];m=q-+g[n+56>>2];t=p-+g[n+60>>2];A=k-+g[x+52>>2];j=j-+g[x+56>>2];l=l-+g[x+60>>2];r=B*+g[n+4>>2]+m*+g[n+20>>2]+t*+g[n+36>>2];s=B*+g[n+8>>2]+m*+g[n+24>>2]+t*+g[n+40>>2];t=B*+g[n+12>>2]+m*+g[n+28>>2]+t*+g[n+44>>2];m=A*+g[x+4>>2]+j*+g[x+20>>2]+l*+g[x+36>>2];k=A*+g[x+8>>2]+j*+g[x+24>>2]+l*+g[x+40>>2];l=A*+g[x+12>>2]+j*+g[x+28>>2]+l*+g[x+44>>2]}else{B=o-+g[w+52>>2];m=q-+g[w+56>>2];t=p-+g[w+60>>2];A=k-+g[n+52>>2];j=j-+g[n+56>>2];l=l-+g[n+60>>2];r=B*+g[w+4>>2]+m*+g[w+20>>2]+t*+g[w+36>>2];s=B*+g[w+8>>2]+m*+g[w+24>>2]+t*+g[w+40>>2];t=B*+g[w+12>>2]+m*+g[w+28>>2]+t*+g[w+44>>2];m=A*+g[n+4>>2]+j*+g[n+20>>2]+l*+g[n+36>>2];k=A*+g[n+8>>2]+j*+g[n+24>>2]+l*+g[n+40>>2];l=A*+g[n+12>>2]+j*+g[n+28>>2]+l*+g[n+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]=m;g[z+20>>2]=k;g[z+24>>2]=l;g[z+28>>2]=0.0;c[z+64>>2]=c[d+0>>2];c[z+68>>2]=c[d+4>>2];c[z+72>>2]=c[d+8>>2];c[z+76>>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+124>>2]=0;c[z+128>>2]=0;c[z+132>>2]=0;c[z+136>>2]=0;c[z+140>>2]=0;c[z+144>>2]=0;c[z+148>>2]=0;g[z+48>>2]=o;g[z+52>>2]=q;g[z+56>>2]=p;g[z+60>>2]=0.0;c[z+32>>2]=c[e+0>>2];c[z+36>>2]=c[e+4>>2];c[z+40>>2]=c[e+8>>2];c[z+44>>2]=c[e+12>>2];l=+g[y+752>>2];h=c[y+748>>2]|0;if((h|0)>0){n=0;d=-1;l=l*l;while(1){k=+g[y+(n*184|0)+4>>2]-r;m=+g[y+(n*184|0)+8>>2]-s;j=+g[y+(n*184|0)+12>>2]-t;e=k*k+m*m+j*j>2]|0;u=c[u>>2]|0;j=+g[n+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[n+228>>2]*+g[u+228>>2];j=+g[n+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];u=+O(+j)>.7071067690849304;k=+g[z+68>>2];if(u){r=1.0/+P(+(j*j+k*k));g[z+152>>2]=0.0;g[z+156>>2]=-(r*j);g[z+160>>2]=r*k;g[z+168>>2]=(j*j+k*k)*r;f=+g[z+64>>2];l=-(f*(r*k));j=f*-(r*j)}else{f=+g[z+64>>2];r=1.0/+P(+(f*f+k*k));g[z+152>>2]=-(k*r);g[z+156>>2]=r*f;g[z+160>>2]=0.0;g[z+168>>2]=-(j*(r*f));l=j*-(k*r);j=(f*f+k*k)*r}g[z+172>>2]=l;g[z+176>>2]=j;if((w|0)!=(x|0)){c[z+96>>2]=c[b+20>>2];c[z+100>>2]=c[b+16>>2];e=b+24|0;h=b+28|0}else{c[z+96>>2]=c[b+16>>2];c[z+100>>2]=c[b+20>>2];e=b+28|0;h=b+24|0}c[z+104>>2]=c[h>>2];c[z+108>>2]=c[e>>2];if((d|0)>-1){b=y+(d*184|0)+152|0;w=c[b>>2]|0;n=y+(d*184|0)+124|0;q=+g[n>>2];x=y+(d*184|0)+128|0;f=+g[x>>2];u=y+(d*184|0)+132|0;r=+g[u>>2];v=y+(d*184|0)+116|0;e=c[v>>2]|0;YE(y+(d*184|0)+4|0,z|0,184)|0;c[v>>2]=e;g[n>>2]=q;g[x>>2]=f;g[u>>2]=r;c[b>>2]=w;i=z;return}else{Es(y,z)|0;i=z;return}}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+20>>2]=b;c[a+28>>2]=d;return}function Nu(a,b,d){a=a|0;b=b|0;d=d|0;c[a+16>>2]=b;c[a+24>>2]=d;return}function Ou(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Pu(a){a=a|0;return}function Qu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;c[b>>2]=8016;e=c[b+8>>2]|0;d=c[b+16>>2]|0;if((e|0)>0){h=0;do{g=(c[d+(h<<2)>>2]|0)+188|0;f=c[g>>2]|0;if(f){e=c[b+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;pc[c[(c[e>>2]|0)+40>>2]&127](e,f,c[b+24>>2]|0);e=c[b+68>>2]|0;pc[c[(c[e>>2]|0)+12>>2]&127](e,f,c[b+24>>2]|0);c[g>>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;d=b+12|0;c[d>>2]=0;i=j;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=j;return}function Ru(a){a=a|0;var b=0;b=i;Qu(a);RE(a);i=b;return}function Su(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+96|0;g=c[b+8>>2]|0;if((g|0)==(c[b+12>>2]|0)?(l=(g|0)==0?1:g<<1,(g|0)<(l|0)):0){if(!l)h=0;else{c[5108]=(c[5108]|0)+1;h=QE((l<<2|3)+16|0)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-16}g=c[b+8>>2]|0}if((g|0)>0){k=0;do{j=h+(k<<2)|0;if(j)c[j>>2]=c[(c[b+16>>2]|0)+(k<<2)>>2];k=k+1|0}while((k|0)!=(g|0))}j=c[b+16>>2]|0;if(j){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);g=c[b+8>>2]|0}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=h;c[b+12>>2]=l}h=(c[b+16>>2]|0)+(g<<2)|0;if(h)c[h>>2]=d;c[b+8>>2]=g+1;c[m+32>>2]=c[d+4>>2];c[m+36>>2]=c[d+8>>2];c[m+40>>2]=c[d+12>>2];c[m+44>>2]=c[d+16>>2];c[m+48>>2]=c[d+20>>2];c[m+52>>2]=c[d+24>>2];c[m+56>>2]=c[d+28>>2];c[m+60>>2]=c[d+32>>2];c[m+64>>2]=c[d+36>>2];c[m+68>>2]=c[d+40>>2];c[m+72>>2]=c[d+44>>2];c[m+76>>2]=c[d+48>>2];c[m+80>>2]=c[d+52>>2];c[m+84>>2]=c[d+56>>2];c[m+88>>2]=c[d+60>>2];c[m+92>>2]=c[d+64>>2];g=c[d+192>>2]|0;tc[c[(c[g>>2]|0)+8>>2]&127](g,m+32|0,m+16|0,m);g=c[b+68>>2]|0;c[d+188>>2]=nc[c[(c[g>>2]|0)+8>>2]&3](g,m+16|0,m,c[(c[d+192>>2]|0)+4>>2]|0,d,e,f,c[b+24>>2]|0,0)|0;i=m;return}function Tu(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.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0;t=i;i=i+64|0;aE(8296);d=c[b+8>>2]|0;if((d|0)>0){r=0;do{q=c[(c[b+16>>2]|0)+(r<<2)>>2]|0;if(!((a[b+76>>0]|0)==0?(u=c[q+216>>2]|0,(u|0)==2|(u|0)==5):0)){d=c[q+192>>2]|0;tc[c[(c[d>>2]|0)+8>>2]&127](d,q+4|0,t+48|0,t+32|0);e=+g[t+48>>2]+-.019999999552965164;g[t+48>>2]=e;f=+g[t+52>>2]+-.019999999552965164;g[t+52>>2]=f;h=+g[t+56>>2]+-.019999999552965164;g[t+56>>2]=h;j=+g[t+32>>2]+.019999999552965164;g[t+32>>2]=j;k=+g[t+36>>2]+.019999999552965164;g[t+36>>2]=k;l=+g[t+40>>2]+.019999999552965164;g[t+40>>2]=l;if(((a[b+44>>0]|0)!=0?(c[q+236>>2]|0)==2:0)?(c[q+204>>2]&3|0)==0:0){d=c[q+192>>2]|0;tc[c[(c[d>>2]|0)+8>>2]&127](d,q+68|0,t+16|0,t);m=+g[t+16>>2]+-.019999999552965164;g[t+16>>2]=m;l=+g[t+20>>2]+-.019999999552965164;g[t+20>>2]=l;k=+g[t+24>>2]+-.019999999552965164;g[t+24>>2]=k;n=+g[t>>2]+.019999999552965164;g[t>>2]=n;o=+g[t+4>>2]+.019999999552965164;g[t+4>>2]=o;p=+g[t+8>>2]+.019999999552965164;g[t+8>>2]=p;e=+g[t+48>>2];if(m>2]=m;e=m}f=+g[t+52>>2];if(l>2]=l;f=l}h=+g[t+56>>2];if(k>2]=k;h=k}j=+g[t+28>>2];if(j<+g[t+60>>2])g[t+60>>2]=j;j=+g[t+32>>2];if(j>2]=n;j=n}k=+g[t+36>>2];if(k>2]=o;k=o}l=+g[t+40>>2];if(l>2]=p;l=p}m=+g[t+12>>2];if(+g[t+44>>2]>2]=m}d=c[b+68>>2]|0;if((c[q+204>>2]&1|0)==0?(j=j-e,f=k-f,e=l-h,!(j*j+f*f+e*e<999999995904.0)):0){if((c[q+216>>2]&-2|0)!=4)c[q+216>>2]=5;if((a[8072]|0)!=0?(s=c[b+72>>2]|0,(s|0)!=0):0){a[8072]=0;Lb[c[(c[s>>2]|0)+36>>2]&127](s,8080);d=c[b+72>>2]|0;Lb[c[(c[d>>2]|0)+36>>2]&127](d,8136);d=c[b+72>>2]|0;Lb[c[(c[d>>2]|0)+36>>2]&127](d,8208);d=c[b+72>>2]|0;Lb[c[(c[d>>2]|0)+36>>2]&127](d,8280)}}else Hb[c[(c[d>>2]|0)+16>>2]&31](d,c[q+188>>2]|0,t+48|0,t+32|0,c[b+24>>2]|0);d=c[b+8>>2]|0}r=r+1|0}while((r|0)<(d|0))}d=c[5104]|0;q=(c[d+16>>2]|0)+-1|0;c[d+16>>2]=q;if(q){i=t;return}do if(c[d+4>>2]|0){Cb(t+48|0,0)|0;q=c[5090]|0;g[d+8>>2]=+(((c[t+52>>2]|0)-(c[q+4>>2]|0)+(((c[t+48>>2]|0)-(c[q>>2]|0)|0)*1e6|0)-(c[d+12>>2]|0)|0)>>>0)/1.0e3+ +g[d+8>>2];if(!(c[d+16>>2]|0)){d=c[5104]|0;break}else{i=t;return}}while(0);c[5104]=c[d+20>>2];i=t;return}function Uu(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;aE(8312);d=c[a+68>>2]|0;Lb[c[(c[d>>2]|0)+32>>2]&127](d,c[a+24>>2]|0);a=c[5104]|0;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d;if(d){i=b;return}do if(c[a+4>>2]|0){Cb(b|0,0)|0;d=c[5090]|0;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+ +g[a+8>>2];if(!(c[a+16>>2]|0)){a=c[5104]|0;break}else{i=b;return}}while(0);c[5104]=c[a+20>>2];i=b;return}function Vu(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;i=i+16|0;aE(8344);Jb[c[(c[a>>2]|0)+8>>2]&255](a);Jb[c[(c[a>>2]|0)+12>>2]&255](a);b=c[a+24>>2]|0;aE(8384);if(b){f=c[(c[b>>2]|0)+32>>2]|0;e=c[a+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;tc[f&127](b,e,a+28|0,c[a+24>>2]|0)}a=c[5104]|0;b=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=b;do if(!b){if(c[a+4>>2]|0){Cb(d|0,0)|0;b=c[5090]|0;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+ +g[a+8>>2];b=c[5104]|0;if(c[a+16>>2]|0)break}else b=a;b=c[b+20>>2]|0;c[5104]=b}else b=a;while(0);a=b+16|0;e=(c[a>>2]|0)+-1|0;c[a>>2]=e;if(e){i=d;return}do if(c[b+4>>2]|0){Cb(d|0,0)|0;f=c[5090]|0;e=b+8|0;g[e>>2]=+(((c[d+4>>2]|0)-(c[f+4>>2]|0)+(((c[d>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[e>>2];if(!(c[a>>2]|0)){b=c[5104]|0;break}else{i=d;return}}while(0);c[5104]=c[b+20>>2];i=d;return}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;d=c[b+188>>2]|0;if(d){e=c[a+68>>2]|0;e=Nb[c[(c[e>>2]|0)+36>>2]&127](e)|0;pc[c[(c[e>>2]|0)+40>>2]&127](e,d,c[a+24>>2]|0);e=c[a+68>>2]|0;pc[c[(c[e>>2]|0)+12>>2]&127](e,d,c[a+24>>2]|0);c[b+188>>2]=0}d=c[a+8>>2]|0;if((d|0)<=0){i=k;return}e=c[a+16>>2]|0;g=0;while(1){f=e+(g<<2)|0;h=g+1|0;if((c[f>>2]|0)==(b|0))break;if((h|0)<(d|0))g=h;else{j=9;break}}if((j|0)==9){i=k;return}if((g|0)>=(d|0)){i=k;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;i=k;return} +function pC(d,f,h){d=d|0;f=f|0;h=h|0;var j=0,k=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,y=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+128|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|0;q=(c[d+76>>2]|0)+(f<<6)+0|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{y=(c[d+136>>2]|0)+(H<<4)|0;x=(c[d+116>>2]|0)+(f<<4)|0;c[y+0>>2]=c[x+0>>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]}c[d+56>>2]=(c[d+56>>2]|0)+1;i=K;return}if((h|0)>(f|0)){y=(a[d+60>>0]|0)==0;s=0.0;w=0.0;r=f;z=0.0;do{if(y){x=c[d+76>>2]|0;n=+g[x+(r<<6)>>2];m=+g[x+(r<<6)+4>>2];l=+g[x+(r<<6)+8>>2];u=+g[x+(r<<6)+16>>2];t=+g[x+(r<<6)+20>>2];v=+g[x+(r<<6)+24>>2]}else{x=c[d+116>>2]|0;E=+g[d+36>>2];D=+g[d+40>>2];C=+g[d+44>>2];u=+g[d+4>>2];t=+g[d+8>>2];v=+g[d+12>>2];n=+(e[x+(r<<4)>>1]|0)/E+u;m=+(e[x+(r<<4)+2>>1]|0)/D+t;l=+(e[x+(r<<4)+4>>1]|0)/C+v;u=+(e[x+(r<<4)+6>>1]|0)/E+u;t=+(e[x+(r<<4)+8>>1]|0)/D+t;v=+(e[x+(r<<4)+10>>1]|0)/C+v}s=s+(u+n)*.5;w=w+(t+m)*.5;z=z+(v+l)*.5;r=r+1|0}while((r|0)!=(h|0));C=1.0/+(h-f|0);E=s*C;D=w*C;C=z*C;if(y){r=c[d+76>>2]|0;q=f;l=0.0;n=0.0;m=0.0;do{u=(+g[r+(q<<6)+16>>2]+ +g[r+(q<<6)>>2])*.5-E;v=(+g[r+(q<<6)+20>>2]+ +g[r+(q<<6)+4>>2])*.5-D;z=(+g[r+(q<<6)+24>>2]+ +g[r+(q<<6)+8>>2])*.5-C;n=n+u*u;m=m+v*v;l=l+z*z;q=q+1|0}while((q|0)!=(h|0));s=+(h-f|0)}else{y=c[d+116>>2]|0;z=+g[d+36>>2];v=+g[d+40>>2];u=+g[d+44>>2];t=+g[d+4>>2];s=+g[d+8>>2];w=+g[d+12>>2];x=f;l=0.0;n=0.0;m=0.0;do{N=(+(e[y+(x<<4)+6>>1]|0)/z+t+(+(e[y+(x<<4)>>1]|0)/z+t))*.5-E;M=(+(e[y+(x<<4)+8>>1]|0)/v+s+(+(e[y+(x<<4)+2>>1]|0)/v+s))*.5-D;L=(+(e[y+(x<<4)+10>>1]|0)/u+w+(+(e[y+(x<<4)+4>>1]|0)/u+w))*.5-C;n=n+N*N;m=m+M*M;l=l+L*L;x=x+1|0}while((x|0)!=(h|0));s=+(h-f|0)}}else{s=+(h-f|0);l=0.0;n=0.0;m=0.0}C=1.0/(s+-1.0);n=n*C;m=m*C;l=l*C;if(n>2]=0;c[K+20>>2]=0;c[K+24>>2]=0;c[K+28>>2]=0;if((h|0)>(f|0)){x=(a[d+60>>0]|0)==0;n=0.0;m=0.0;l=0.0;y=f;do{if(x){B=c[d+76>>2]|0;v=+g[B+(y<<6)+16>>2];u=+g[B+(y<<6)+20>>2];t=+g[B+(y<<6)+24>>2];s=+g[B+(y<<6)>>2];w=+g[B+(y<<6)+4>>2];z=+g[B+(y<<6)+8>>2]}else{B=c[d+116>>2]|0;M=+g[d+36>>2];N=+g[d+40>>2];C=+g[d+44>>2];s=+g[d+4>>2];w=+g[d+8>>2];z=+g[d+12>>2];v=+(e[B+(y<<4)+6>>1]|0)/M+s;u=+(e[B+(y<<4)+8>>1]|0)/N+w;t=+(e[B+(y<<4)+10>>1]|0)/C+z;s=+(e[B+(y<<4)>>1]|0)/M+s;w=+(e[B+(y<<4)+2>>1]|0)/N+w;z=+(e[B+(y<<4)+4>>1]|0)/C+z}n=n+(v+s)*.5;m=(u+w)*.5+m;l=(t+z)*.5+l;y=y+1|0}while((y|0)!=(h|0));g[K+16>>2]=n;g[K+20>>2]=m;g[K+24>>2]=l}else{n=0.0;m=0.0;l=0.0}g[K+16>>2]=1.0/+(h-f|0)*n;g[K+20>>2]=1.0/+(h-f|0)*m;g[K+24>>2]=1.0/+(h-f|0)*l;z=+g[K+16+(r<<2)>>2];if((h|0)>(f|0)){y=K+(r<<2)|0;x=f;j=f;do{r=(a[d+60>>0]|0)==0;if(r){B=c[d+76>>2]|0;s=+g[B+(x<<6)+16>>2];n=+g[B+(x<<6)+20>>2];m=+g[B+(x<<6)+24>>2];l=+g[B+(x<<6)>>2];t=+g[B+(x<<6)+4>>2];u=+g[B+(x<<6)+8>>2]}else{B=c[d+116>>2]|0;N=+g[d+36>>2];v=+g[d+40>>2];C=+g[d+44>>2];l=+g[d+4>>2];t=+g[d+8>>2];u=+g[d+12>>2];s=+(e[B+(x<<4)+6>>1]|0)/N+l;n=+(e[B+(x<<4)+8>>1]|0)/v+t;m=+(e[B+(x<<4)+10>>1]|0)/C+u;l=+(e[B+(x<<4)>>1]|0)/N+l;t=+(e[B+(x<<4)+2>>1]|0)/v+t;u=+(e[B+(x<<4)+4>>1]|0)/C+u}g[K>>2]=(s+l)*.5;g[K+4>>2]=(n+t)*.5;g[K+8>>2]=(m+u)*.5;g[K+12>>2]=0.0;if(+g[y>>2]>z){if(r){o=c[d+76>>2]|0;k=o+(x<<6)|0;p=K+32|0;q=k+0|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=k+0|0;q=o+(j<<6)+0|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|0;q=K+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{B=c[d+116>>2]|0;r=B+(x<<4)|0;c[K+96>>2]=c[r+0>>2];c[K+100>>2]=c[r+4>>2];c[K+104>>2]=c[r+8>>2];c[K+108>>2]=c[r+12>>2];B=B+(j<<4)|0;c[r+0>>2]=c[B+0>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];r=(c[d+116>>2]|0)+(j<<4)|0;c[r+0>>2]=c[K+96>>2];c[r+4>>2]=c[K+100>>2];c[r+8>>2]=c[K+104>>2];c[r+12>>2]=c[K+108>>2]}j=j+1|0}x=x+1|0}while((x|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)){y=(c[d+96>>2]|0)+(G<<6)|0;c[y+0>>2]=c[d+20>>2];c[y+4>>2]=c[d+24>>2];c[y+8>>2]=c[d+28>>2];c[y+12>>2]=c[d+32>>2]}else{y=c[d+136>>2]|0;z=(+g[d+24>>2]-+g[d+8>>2])*+g[d+40>>2];C=(+g[d+28>>2]-+g[d+12>>2])*+g[d+44>>2];b[y+(G<<4)>>1]=~~((+g[d+20>>2]-+g[d+4>>2])*+g[d+36>>2])&65534;b[y+(G<<4)+2>>1]=~~z&65534;b[y+(G<<4)+4>>1]=~~C&65534}k=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){y=(c[d+96>>2]|0)+(k<<6)+16|0;c[y+0>>2]=c[d+4>>2];c[y+4>>2]=c[d+8>>2];c[y+8>>2]=c[d+12>>2];c[y+12>>2]=c[d+16>>2]}else{y=c[d+136>>2]|0;v=+g[d+4>>2];z=+g[d+8>>2];C=+g[d+12>>2];z=(z-z)*+g[d+40>>2];C=(C-C)*+g[d+44>>2];b[y+(k<<4)+6>>1]=~~((v-v)*+g[d+36>>2]+1.0)&65535|1;b[y+(k<<4)+8>>1]=~~(z+1.0)&65535|1;b[y+(k<<4)+10>>1]=~~(C+1.0)&65535|1}F=c[d+56>>2]|0;if((h|0)>(f|0)){A=a[d+60>>0]|0;B=f;do{do if(A<<24>>24){p=c[d+116>>2]|0;l=+g[d+36>>2];M=+g[d+40>>2];u=+g[d+44>>2];w=+g[d+4>>2];s=+g[d+8>>2];v=+g[d+12>>2];m=+g[d+4>>2];N=+g[d+8>>2];z=+g[d+12>>2];n=+g[d+36>>2];t=+g[d+40>>2];C=+g[d+44>>2];o=~~((+(e[p+(B<<4)>>1]|0)/l+w-m)*n)&65534;k=~~((+(e[p+(B<<4)+2>>1]|0)/M+s-N)*t)&65534;q=~~((+(e[p+(B<<4)+4>>1]|0)/u+v-z)*C)&65534;x=(~~((+(e[p+(B<<4)+6>>1]|0)/l+w-m)*n+1.0)&65535|1)&65535;y=(~~((+(e[p+(B<<4)+8>>1]|0)/M+s-N)*t+1.0)&65535|1)&65535;p=(~~((+(e[p+(B<<4)+10>>1]|0)/u+v-z)*C+1.0)&65535|1)&65535;r=c[d+136>>2]|0;if((e[r+(F<<4)>>1]|0)>(o&65535))b[r+(F<<4)>>1]=o;if((e[r+(F<<4)+6>>1]|0)<(x&65535))b[r+(F<<4)+6>>1]=x;if((e[r+(F<<4)+2>>1]|0)>(k&65535))b[r+(F<<4)+2>>1]=k;if((e[r+(F<<4)+8>>1]|0)<(y&65535))b[r+(F<<4)+8>>1]=y;if((e[r+(F<<4)+4>>1]|0)>(q&65535))b[r+(F<<4)+4>>1]=q;if((e[r+(F<<4)+10>>1]|0)<(p&65535))b[r+(F<<4)+10>>1]=p}else{y=c[d+76>>2]|0;z=+g[y+(B<<6)>>2];u=+g[y+(B<<6)+4>>2];t=+g[y+(B<<6)+8>>2];v=+g[y+(B<<6)+12>>2];s=+g[y+(B<<6)+16>>2];m=+g[y+(B<<6)+20>>2];w=+g[y+(B<<6)+24>>2];n=+g[y+(B<<6)+28>>2];y=c[d+96>>2]|0;if(z<+g[y+(F<<6)>>2])g[y+(F<<6)>>2]=z;if(u<+g[y+(F<<6)+4>>2])g[y+(F<<6)+4>>2]=u;if(t<+g[y+(F<<6)+8>>2])g[y+(F<<6)+8>>2]=t;if(v<+g[y+(F<<6)+12>>2])g[y+(F<<6)+12>>2]=v;if(+g[y+(F<<6)+16>>2]>2]=s;if(+g[y+(F<<6)+20>>2]>2]=m;if(+g[y+(F<<6)+24>>2]>2]=w;if(!(+g[y+(F<<6)+28>>2]>2]=n}while(0);B=B+1|0}while((B|0)!=(h|0))}c[d+56>>2]=F+1;pC(d,f,j);A=c[d+56>>2]|0;pC(d,j,h);B=(c[d+56>>2]|0)-H|0;j=a[d+60>>0]|0;if(j<<24>>24!=0&(B<<4|0)>2048){y=c[d+136>>2]|0;r=c[y+(F+1<<4)+12>>2]|0;r=(r|0)>-1?1:0-r|0;x=c[y+(A<<4)+12>>2]|0;x=(x|0)>-1?1:0-x|0;if((r<<4|0)<2049){q=c[d+152>>2]|0;if((q|0)==(c[d+156>>2]|0)?(I=(q|0)==0?1:q<<1,(q|0)<(I|0)):0){if(!I){j=q;p=0}else{c[5108]=(c[5108]|0)+1;k=QE(I<<5|19)|0;if(!k)k=0;else{c[(k+19&-16)+-4>>2]=k;k=k+19&-16}j=c[d+152>>2]|0;p=k}if((j|0)>0){o=0;do{k=p+(o<<5)|0;f=(c[d+160>>2]|0)+(o<<5)|0;c[k+0>>2]=c[f+0>>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];c[k+16>>2]=c[f+16>>2];c[k+20>>2]=c[f+20>>2];c[k+24>>2]=c[f+24>>2];c[k+28>>2]=c[f+28>>2];o=o+1|0}while((o|0)!=(j|0))}k=c[d+160>>2]|0;if(k){if(a[d+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=p;c[d+156>>2]=I;k=c[d+152>>2]|0}else k=q;c[d+152>>2]=k+1;p=(c[d+160>>2]|0)+(q<<5)|0;c[p+0>>2]=c[K+96>>2];c[p+4>>2]=c[K+100>>2];c[p+8>>2]=c[K+104>>2];c[p+12>>2]=c[K+108>>2];c[p+16>>2]=c[K+112>>2];c[p+20>>2]=c[K+116>>2];c[p+24>>2]=c[K+120>>2];c[p+28>>2]=c[K+124>>2];p=c[d+160>>2]|0;b[p+(q<<5)>>1]=b[y+(F+1<<4)>>1]|0;b[p+(q<<5)+2>>1]=b[y+(F+1<<4)+2>>1]|0;b[p+(q<<5)+4>>1]=b[y+(F+1<<4)+4>>1]|0;b[p+(q<<5)+6>>1]=b[y+(F+1<<4)+6>>1]|0;b[p+(q<<5)+8>>1]=b[y+(F+1<<4)+8>>1]|0;b[p+(q<<5)+10>>1]=b[y+(F+1<<4)+10>>1]|0;c[p+(q<<5)+12>>2]=F+1;c[p+(q<<5)+16>>2]=r;q=d+152|0}else q=d+152|0;if((x<<4|0)<2049){r=c[q>>2]|0;if((r|0)==(c[d+156>>2]|0)?(J=(r|0)==0?1:r<<1,(r|0)<(J|0)):0){if(!J){j=r;o=0}else{c[5108]=(c[5108]|0)+1;k=QE(J<<5|19)|0;if(!k)k=0;else{c[(k+19&-16)+-4>>2]=k;k=k+19&-16}j=c[q>>2]|0;o=k}if((j|0)>0){k=0;do{p=o+(k<<5)|0;f=(c[d+160>>2]|0)+(k<<5)|0;c[p+0>>2]=c[f+0>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];c[p+16>>2]=c[f+16>>2];c[p+20>>2]=c[f+20>>2];c[p+24>>2]=c[f+24>>2];c[p+28>>2]=c[f+28>>2];k=k+1|0}while((k|0)!=(j|0))}k=c[d+160>>2]|0;if(k){if(a[d+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=o;c[d+156>>2]=J;j=c[q>>2]|0}else j=r;c[q>>2]=j+1;p=(c[d+160>>2]|0)+(r<<5)|0;c[p+0>>2]=c[K+32>>2];c[p+4>>2]=c[K+36>>2];c[p+8>>2]=c[K+40>>2];c[p+12>>2]=c[K+44>>2];c[p+16>>2]=c[K+48>>2];c[p+20>>2]=c[K+52>>2];c[p+24>>2]=c[K+56>>2];c[p+28>>2]=c[K+60>>2];p=c[d+160>>2]|0;b[p+(r<<5)>>1]=b[y+(A<<4)>>1]|0;b[p+(r<<5)+2>>1]=b[y+(A<<4)+2>>1]|0;b[p+(r<<5)+4>>1]=b[y+(A<<4)+4>>1]|0;b[p+(r<<5)+6>>1]=b[y+(A<<4)+6>>1]|0;b[p+(r<<5)+8>>1]=b[y+(A<<4)+8>>1]|0;b[p+(r<<5)+10>>1]=b[y+(A<<4)+10>>1]|0;c[p+(r<<5)+12>>2]=A;c[p+(r<<5)+16>>2]=x}c[d+168>>2]=c[q>>2];j=a[d+60>>0]|0}if(!(j<<24>>24)){c[(c[d+96>>2]|0)+(G<<6)+32>>2]=B;i=K;return}else{c[(c[d+136>>2]|0)+(G<<4)+12>>2]=0-B;i=K;return}}function qC(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=17328;d=c[b+160>>2]|0;if(d){if(a[b+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+72|0;c[d>>2]=0;i=e;return}if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+72|0;c[d>>2]=0;i=e;return}function rC(a){a=a|0;var b=0;b=i;qC(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function sC(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,j=0;j=i;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=8;break}if((g|0)>-1)break;sC(a+16|0,b,d,f);g=c[a+28>>2]|0;if((g|0)>-1){a=a+32|0;continue}else{a=a+(1-g<<4)|0;continue}}if((h|0)==8){i=j;return}pc[c[(c[b>>2]|0)+8>>2]&127](b,g>>21,g&2097151);i=j;return}function tC(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.0,p=0.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.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0.0,N=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,X=0.0,Y=0;Y=i;i=i+32|0;U=+g[d>>2];W=+g[d+4>>2];V=+g[d+8>>2];s=+g[j>>2];B=(U>e?e:U)+s;t=+g[j+4>>2];F=(W>f?f:W)+t;u=+g[j+8>>2];D=(V>h?h:V)+u;o=+g[k>>2];A=(U>2];E=(W>2];C=(V>2]|0;a:do if((m|0)>0){x=0;y=c[a+96>>2]|0;l=1;while(1){c[Y+0>>2]=c[y+0>>2];c[Y+4>>2]=c[y+4>>2];c[Y+8>>2]=c[y+8>>2];c[Y+12>>2]=c[y+12>>2];v=y+16|0;c[Y+16>>2]=c[v+0>>2];c[Y+20>>2]=c[v+4>>2];c[Y+24>>2]=c[v+8>>2];c[Y+28>>2]=c[v+12>>2];g[Y>>2]=+g[Y>>2]-o;g[Y+4>>2]=+g[Y+4>>2]-p;g[Y+8>>2]=+g[Y+8>>2]-r;g[Y+16>>2]=+g[Y+16>>2]-s;g[Y+20>>2]=+g[Y+20>>2]-t;g[Y+24>>2]=+g[Y+24>>2]-u;if(!(B>+g[v>>2])?!(A<+g[y>>2]):0)n=1;else n=0;if(!(!(D>+g[y+24>>2])?!(C<+g[y+8>>2]):0))n=0;if((((!(F>+g[y+20>>2])?!(E<+g[y+4>>2]|n^1):0)?(O=+g[d>>2],N=G*(+g[Y+(J<<4)>>2]-O),O=G*(+g[Y+((J^1)<<4)>>2]-O),R=+g[d+4>>2],Q=H*(+g[Y+(K<<4)+4>>2]-R),R=H*(+g[Y+((K^1)<<4)+4>>2]-R),!(N>R|Q>O)):0)?(z=Q>N?Q:N,X=R>2],S=I*(+g[Y+(L<<4)+8>>2]-T),T=I*(+g[Y+((L^1)<<4)+8>>2]-T),!(z>T|S>X)):0)?(S>z?S:z)<(h-V)*((h-V)*M)+((e-U)*((e-U)*M)+(f-W)*((f-W)*M)):0){q=(T0.0;n=c[y+32>>2]|0;if((n|0)==-1&q){pc[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;w=24}else{v=n;n=(n|0)==-1;w=23}}else{n=c[y+32>>2]|0;v=n;n=(n|0)==-1;q=0;w=23}if((w|0)==23){w=0;if(q|n)w=24;else{q=v+x|0;v=y+(v<<6)|0}}if((w|0)==24){q=x+1|0;v=y+64|0}if((q|0)>=(m|0))break a;o=+g[k>>2];p=+g[k+4>>2];r=+g[k+8>>2];s=+g[j>>2];t=+g[j+4>>2];u=+g[j+8>>2];x=q;y=v;l=l+1|0}}else l=0;while(0);if((c[4340]|0)>=(l|0)){i=Y;return}c[4340]=l;i=Y;return}function uC(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,t=0,u=0,v=0,w=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,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=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,_=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;Y=i;i=i+32|0;z=+g[f>>2];A=+g[f+4>>2];B=+g[f+8>>2];Q=1.0/+P(+((h-z)*(h-z)+(j-A)*(j-A)+(k-B)*(k-B)));if((h-z)*Q==0.0)D=999999984306749440.0;else D=1.0/((h-z)*Q);if((j-A)*Q==0.0)E=999999984306749440.0;else E=1.0/((j-A)*Q);if((k-B)*Q==0.0)F=999999984306749440.0;else F=1.0/((k-B)*Q);L=D<0.0&1;M=E<0.0&1;N=F<0.0&1;la=(z>h?h:z)+ +g[l>>2];ka=(A>j?j:A)+ +g[l+4>>2];ja=(B>k?k:B)+ +g[l+8>>2];ha=(z>2];da=(A>2];$=(B>2];ga=+g[a+4>>2];la=la>2];ka=ka>2];ja=ja<_?_:ja;ia=+g[a+20>>2];ea=+g[a+24>>2];aa=+g[a+28>>2];fa=+g[a+36>>2];ba=+g[a+40>>2];Z=+g[a+44>>2];I=~~(((ia0){p=0;q=c[a+136>>2]|0;o=0;do{o=o+1|0;u=q+6|0;s=b[q>>1]|0;v=q+10|0;r=b[q+4>>1]|0;w=q+8|0;t=b[q+2>>1]|0;y=q+12|0;x=(c[y>>2]|0)>-1;if(((((K&65535)>=(s&65535)?(I&65535)<=(e[u>>1]|0):0)&(H&65535)<=(e[v>>1]|0)&(G&65535)>=(r&65535)&(J&65535)<=(e[w>>1]|0)&(O&65535)>=(t&65535)?(ka=+g[a+36>>2],_=+g[a+40>>2],aa=+g[a+44>>2],Z=+g[a+4>>2],$=+g[a+8>>2],T=+g[a+12>>2],g[Y+12>>2]=0.0,U=+(e[u>>1]|0)/ka+Z,R=+(e[w>>1]|0)/_+$,S=+(e[v>>1]|0)/aa+T,g[Y+28>>2]=0.0,g[Y>>2]=+(s&65535)/ka+Z-+g[m>>2],g[Y+4>>2]=+(t&65535)/_+$-+g[m+4>>2],g[Y+8>>2]=+(r&65535)/aa+T-+g[m+8>>2],g[Y+16>>2]=U-+g[l>>2],g[Y+20>>2]=R-+g[l+4>>2],g[Y+24>>2]=S-+g[l+8>>2],S=+g[f>>2],R=D*(+g[Y+(L<<4)>>2]-S),S=D*(+g[Y+((L^1)<<4)>>2]-S),U=+g[f+4>>2],T=E*(+g[Y+(M<<4)+4>>2]-U),U=E*(+g[Y+((M^1)<<4)+4>>2]-U),!(R>U|T>S)):0)?(C=T>R?T:R,X=U>2],V=F*(+g[Y+(N<<4)+8>>2]-W),W=F*(+g[Y+((N^1)<<4)+8>>2]-W),!(C>W|V>X)):0)?(V>C?V:C)<(k-B)*((k-B)*Q)+((h-z)*((h-z)*Q)+(j-A)*((j-A)*Q)):0){r=(W0.0;if(x&r){s=c[y>>2]|0;pc[c[(c[d>>2]|0)+8>>2]&127](d,s>>21,s&2097151);s=16}else s=15}else{r=0;s=15}if((s|0)==15){s=0;if(r|x)s=16;else{y=c[y>>2]|0;p=p-y|0;q=q+(0-y<<4)|0}}if((s|0)==16){p=p+1|0;q=q+16|0}}while((p|0)<(n|0))}else o=0;if((c[4340]|0)>=(o|0)){i=Y;return}c[4340]=o;i=Y;return}function vC(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;o=i;c[d+168>>2]=c[d+152>>2];c[f>>2]=17328;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;g[f+4>>2]=-3402823466385288598117041.0e14;g[f+8>>2]=-3402823466385288598117041.0e14;g[f+12>>2]=-3402823466385288598117041.0e14;g[f+16>>2]=0.0;g[f+20>>2]=3402823466385288598117041.0e14;g[f+24>>2]=3402823466385288598117041.0e14;g[f+28>>2]=3402823466385288598117041.0e14;g[f+32>>2]=0.0;k=c[d+56>>2]|0;if(j){c[f+56>>2]=_E(k|0)|0;a[f+4>>0]=a[d+7>>0]|0;a[f+5>>0]=a[d+6>>0]|0;a[f+6>>0]=a[d+5>>0]|0;a[f+7>>0]=a[d+4>>0]|0;a[f+8>>0]=a[d+11>>0]|0;a[f+9>>0]=a[d+10>>0]|0;a[f+10>>0]=a[d+9>>0]|0;a[f+11>>0]=a[d+8>>0]|0;a[f+12>>0]=a[d+15>>0]|0;a[f+13>>0]=a[d+14>>0]|0;a[f+14>>0]=a[d+13>>0]|0;a[f+15>>0]=a[d+12>>0]|0;a[f+16>>0]=a[d+19>>0]|0;a[f+17>>0]=a[d+18>>0]|0;a[f+18>>0]=a[d+17>>0]|0;a[f+19>>0]=a[d+16>>0]|0;a[f+20>>0]=a[d+23>>0]|0;a[f+21>>0]=a[d+22>>0]|0;a[f+22>>0]=a[d+21>>0]|0;a[f+23>>0]=a[d+20>>0]|0;a[f+24>>0]=a[d+27>>0]|0;a[f+25>>0]=a[d+26>>0]|0;a[f+26>>0]=a[d+25>>0]|0;a[f+27>>0]=a[d+24>>0]|0;a[f+28>>0]=a[d+31>>0]|0;a[f+29>>0]=a[d+30>>0]|0;a[f+30>>0]=a[d+29>>0]|0;a[f+31>>0]=a[d+28>>0]|0;a[f+32>>0]=a[d+35>>0]|0;a[f+33>>0]=a[d+34>>0]|0;a[f+34>>0]=a[d+33>>0]|0;a[f+35>>0]=a[d+32>>0]|0;a[f+36>>0]=a[d+39>>0]|0;a[f+37>>0]=a[d+38>>0]|0;a[f+38>>0]=a[d+37>>0]|0;a[f+39>>0]=a[d+36>>0]|0;a[f+40>>0]=a[d+43>>0]|0;a[f+41>>0]=a[d+42>>0]|0;a[f+42>>0]=a[d+41>>0]|0;a[f+43>>0]=a[d+40>>0]|0;a[f+44>>0]=a[d+47>>0]|0;a[f+45>>0]=a[d+46>>0]|0;a[f+46>>0]=a[d+45>>0]|0;a[f+47>>0]=a[d+44>>0]|0;a[f+48>>0]=a[d+51>>0]|0;a[f+49>>0]=a[d+50>>0]|0;a[f+50>>0]=a[d+49>>0]|0;a[f+51>>0]=a[d+48>>0]|0;c[f+144>>2]=_E(c[d+144>>2]|0)|0;l=_E(c[d+168>>2]|0)|0}else{c[f+56>>2]=k;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[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[f+32>>2]=c[d+32>>2];c[f+36>>2]=c[d+36>>2];c[f+40>>2]=c[d+40>>2];c[f+44>>2]=c[d+44>>2];c[f+48>>2]=c[d+48>>2];c[f+144>>2]=c[d+144>>2];l=c[d+168>>2]|0}c[f+168>>2]=l;a[f+60>>0]=a[d+60>>0]|0;h=c[d+56>>2]|0;if(!(a[d+60>>0]|0)){l=c[f+96>>2]|0;if(l){if(a[f+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[f+96>>2]=0};c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;a[f+100>>0]=0;c[f+96>>2]=f+172;c[f+88>>2]=h;c[f+92>>2]=h;if(j)if((h|0)>0){m=c[d+96>>2]|0;l=f+172|0;k=0;do{p=m+(k<<6)|0;r=l+(k<<6)|0;a[r>>0]=a[p+3>>0]|0;a[r+1>>0]=a[p+2>>0]|0;a[r+2>>0]=a[p+1>>0]|0;a[r+3>>0]=a[p>>0]|0;r=m+(k<<6)+4|0;p=l+(k<<6)+4|0;a[p>>0]=a[r+3>>0]|0;a[p+1>>0]=a[r+2>>0]|0;a[p+2>>0]=a[r+1>>0]|0;a[p+3>>0]=a[r>>0]|0;p=m+(k<<6)+8|0;r=l+(k<<6)+8|0;a[r>>0]=a[p+3>>0]|0;a[r+1>>0]=a[p+2>>0]|0;a[r+2>>0]=a[p+1>>0]|0;a[r+3>>0]=a[p>>0]|0;r=m+(k<<6)+12|0;l=l+(k<<6)+12|0;a[l>>0]=a[r+3>>0]|0;a[l+1>>0]=a[r+2>>0]|0;a[l+2>>0]=a[r+1>>0]|0;a[l+3>>0]=a[r>>0]|0;l=c[d+96>>2]|0;r=l+(k<<6)+16|0;p=c[f+96>>2]|0;q=p+(k<<6)+16|0;a[q>>0]=a[r+3>>0]|0;a[q+1>>0]=a[r+2>>0]|0;a[q+2>>0]=a[r+1>>0]|0;a[q+3>>0]=a[r>>0]|0;q=l+(k<<6)+20|0;r=p+(k<<6)+20|0;a[r>>0]=a[q+3>>0]|0;a[r+1>>0]=a[q+2>>0]|0;a[r+2>>0]=a[q+1>>0]|0;a[r+3>>0]=a[q>>0]|0;r=l+(k<<6)+24|0;q=p+(k<<6)+24|0;a[q>>0]=a[r+3>>0]|0;a[q+1>>0]=a[r+2>>0]|0;a[q+2>>0]=a[r+1>>0]|0;a[q+3>>0]=a[r>>0]|0;l=l+(k<<6)+28|0;p=p+(k<<6)+28|0;a[p>>0]=a[l+3>>0]|0;a[p+1>>0]=a[l+2>>0]|0;a[p+2>>0]=a[l+1>>0]|0;a[p+3>>0]=a[l>>0]|0;m=c[d+96>>2]|0;p=_E(c[m+(k<<6)+32>>2]|0)|0;l=c[f+96>>2]|0;c[l+(k<<6)+32>>2]=p;c[l+(k<<6)+36>>2]=_E(c[m+(k<<6)+36>>2]|0)|0;c[l+(k<<6)+40>>2]=_E(c[m+(k<<6)+40>>2]|0)|0;k=k+1|0}while((k|0)!=(h|0))}else l=f+172|0;else if((h|0)>0){l=f+172|0;m=c[d+96>>2]|0;k=0;do{l=l+(k<<6)|0;p=m+(k<<6)|0;c[l+0>>2]=c[p+0>>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];l=(c[f+96>>2]|0)+(k<<6)+16|0;p=(c[d+96>>2]|0)+(k<<6)+16|0;c[l+0>>2]=c[p+0>>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];m=c[d+96>>2]|0;l=c[f+96>>2]|0;c[l+(k<<6)+32>>2]=c[m+(k<<6)+32>>2];c[l+(k<<6)+36>>2]=c[m+(k<<6)+36>>2];c[l+(k<<6)+40>>2]=c[m+(k<<6)+40>>2];k=k+1|0}while((k|0)!=(h|0))}else l=f+172|0;if(l){if(a[f+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[f+96>>2]=0};c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;a[f+100>>0]=0;k=h<<6}else{k=c[f+136>>2]|0;if(k){if(a[f+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[f+136>>2]=0};c[f+128>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;a[f+140>>0]=0;c[f+136>>2]=f+172;c[f+128>>2]=h;c[f+132>>2]=h;if(j)if((h|0)>0){l=c[d+136>>2]|0;k=0;do{p=e[l+(k<<4)>>1]|0;b[f+172+(k<<4)>>1]=p>>>8|p<<8;p=e[l+(k<<4)+2>>1]|0;b[f+172+(k<<4)+2>>1]=p>>>8|p<<8;p=e[l+(k<<4)+4>>1]|0;b[f+172+(k<<4)+4>>1]=p>>>8|p<<8;p=e[l+(k<<4)+6>>1]|0;b[f+172+(k<<4)+6>>1]=p>>>8|p<<8;p=e[l+(k<<4)+8>>1]|0;b[f+172+(k<<4)+8>>1]=p>>>8|p<<8;p=e[l+(k<<4)+10>>1]|0;b[f+172+(k<<4)+10>>1]=p>>>8|p<<8;c[f+172+(k<<4)+12>>2]=_E(c[l+(k<<4)+12>>2]|0)|0;k=k+1|0}while((k|0)!=(h|0));l=c[f+136>>2]|0;n=18}else{l=f+172|0;n=18}else if((h|0)>0){l=c[d+136>>2]|0;k=0;do{b[f+172+(k<<4)>>1]=b[l+(k<<4)>>1]|0;b[f+172+(k<<4)+2>>1]=b[l+(k<<4)+2>>1]|0;b[f+172+(k<<4)+4>>1]=b[l+(k<<4)+4>>1]|0;b[f+172+(k<<4)+6>>1]=b[l+(k<<4)+6>>1]|0;b[f+172+(k<<4)+8>>1]=b[l+(k<<4)+8>>1]|0;b[f+172+(k<<4)+10>>1]=b[l+(k<<4)+10>>1]|0;c[f+172+(k<<4)+12>>2]=c[l+(k<<4)+12>>2];k=k+1|0}while((k|0)!=(h|0));l=f+172|0;k=h<<4;n=19}else{l=f+172|0;n=18}if((n|0)==18)if(!l)k=h<<4;else{k=h<<4;n=19}if((n|0)==19){if(!((a[f+140>>0]|0)==0|(l|0)==0)){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[f+136>>2]=0};c[f+128>>2]=0;c[f+132>>2]=0;c[f+136>>2]=0;a[f+140>>0]=0}h=f+(k+172)|0;l=c[d+168>>2]|0;k=c[f+160>>2]|0;if(k){if(a[f+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[f+160>>2]=0};c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;c[f+160>>2]=h;c[f+152>>2]=l;c[f+156>>2]=l;m=c[d+168>>2]|0;if(j)if((m|0)>0){k=c[d+160>>2]|0;l=0;do{p=e[k+(l<<5)>>1]|0;b[h+(l<<5)>>1]=p>>>8|p<<8;p=e[k+(l<<5)+2>>1]|0;b[h+(l<<5)+2>>1]=p>>>8|p<<8;p=e[k+(l<<5)+4>>1]|0;b[h+(l<<5)+4>>1]=p>>>8|p<<8;p=e[k+(l<<5)+6>>1]|0;b[h+(l<<5)+6>>1]=p>>>8|p<<8;p=e[k+(l<<5)+8>>1]|0;b[h+(l<<5)+8>>1]=p>>>8|p<<8;p=e[k+(l<<5)+10>>1]|0;b[h+(l<<5)+10>>1]=p>>>8|p<<8;c[h+(l<<5)+12>>2]=_E(c[k+(l<<5)+12>>2]|0)|0;c[h+(l<<5)+16>>2]=_E(c[k+(l<<5)+16>>2]|0)|0;l=l+1|0}while((l|0)!=(m|0));h=c[f+160>>2]|0;n=51}else n=51;else if((m|0)>0){l=c[d+160>>2]|0;k=0;do{b[h+(k<<5)>>1]=b[l+(k<<5)>>1]|0;b[h+(k<<5)+2>>1]=b[l+(k<<5)+2>>1]|0;b[h+(k<<5)+4>>1]=b[l+(k<<5)+4>>1]|0;b[h+(k<<5)+6>>1]=b[l+(k<<5)+6>>1]|0;b[h+(k<<5)+8>>1]=b[l+(k<<5)+8>>1]|0;b[h+(k<<5)+10>>1]=b[l+(k<<5)+10>>1]|0;c[h+(k<<5)+12>>2]=c[l+(k<<5)+12>>2];c[h+(k<<5)+16>>2]=c[l+(k<<5)+16>>2];c[h+(k<<5)+20>>2]=0;c[h+(k<<5)+24>>2]=0;c[h+(k<<5)+28>>2]=0;k=k+1|0}while((k|0)<(c[d+168>>2]|0))}else n=51;if((n|0)==51)if(!h){c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=o;return 1}if(!((a[f+164>>0]|0)==0|(h|0)==0)){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[f+160>>2]=0;c[f>>2]=0;c[f+152>>2]=0;c[f+156>>2]=0;c[f+160>>2]=0;a[f+164>>0]=0;i=o;return 1}function wC(d,e){d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=i;i=i+112|0;g[d+20>>2]=+g[e+16>>2];g[d+24>>2]=+g[e+20>>2];g[d+28>>2]=+g[e+24>>2];g[d+32>>2]=+g[e+28>>2];g[d+4>>2]=+g[e>>2];g[d+8>>2]=+g[e+4>>2];g[d+12>>2]=+g[e+8>>2];g[d+16>>2]=+g[e+12>>2];g[d+36>>2]=+g[e+32>>2];g[d+40>>2]=+g[e+36>>2];g[d+44>>2]=+g[e+40>>2];g[d+48>>2]=+g[e+44>>2];c[d+56>>2]=c[e+48>>2];a[d+60>>0]=(c[e+52>>2]|0)!=0&1;o=c[e+56>>2]|0;f=p+48|0;m=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(m|0));n=c[d+88>>2]|0;if((n|0)<(o|0)){if((c[d+92>>2]|0)<(o|0)){if(!o){h=n;k=0}else{c[5108]=(c[5108]|0)+1;h=QE(o<<6|19)|0;if(!h)j=0;else{c[(h+19&-16)+-4>>2]=h;j=h+19&-16}h=c[d+88>>2]|0;k=j}if((h|0)>0){j=0;do{f=k+(j<<6)+0|0;l=(c[d+96>>2]|0)+(j<<6)+0|0;m=f+64|0;do{c[f>>2]=c[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(m|0));j=j+1|0}while((j|0)!=(h|0))}j=c[d+96>>2]|0;if(j){if(a[d+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=k;c[d+92>>2]=o;h=d+96|0}else h=d+96|0;j=n;do{f=(c[h>>2]|0)+(j<<6)+0|0;l=p+48|0;m=f+64|0;do{c[f>>2]=c[l>>2];f=f+4|0;l=l+4|0}while((f|0)<(m|0));j=j+1|0}while((j|0)!=(o|0))}c[d+88>>2]=o;if((o|0)>0){j=c[d+96>>2]|0;h=0;f=c[e+64>>2]|0;while(1){g[j+(h<<6)+16>>2]=+g[f+16>>2];g[j+(h<<6)+20>>2]=+g[f+20>>2];g[j+(h<<6)+24>>2]=+g[f+24>>2];g[j+(h<<6)+28>>2]=+g[f+28>>2];g[j+(h<<6)>>2]=+g[f>>2];g[j+(h<<6)+4>>2]=+g[f+4>>2];g[j+(h<<6)+8>>2]=+g[f+8>>2];g[j+(h<<6)+12>>2]=+g[f+12>>2];c[j+(h<<6)+32>>2]=c[f+32>>2];c[j+(h<<6)+36>>2]=c[f+36>>2];c[j+(h<<6)+40>>2]=c[f+40>>2];h=h+1|0;if((h|0)==(o|0))break;else f=f+48|0}}n=c[e+60>>2]|0;c[p+32>>2]=0;c[p+36>>2]=0;c[p+40>>2]=0;c[p+44>>2]=0;k=c[d+128>>2]|0;if((k|0)<(n|0)){if((c[d+132>>2]|0)<(n|0)){if(!n){h=k;f=0}else{c[5108]=(c[5108]|0)+1;h=QE((n<<4|3)+16|0)|0;if(!h)j=0;else{c[(h+19&-16)+-4>>2]=h;j=h+19&-16}h=c[d+128>>2]|0;f=j}if((h|0)>0){j=0;do{o=f+(j<<4)|0;m=(c[d+136>>2]|0)+(j<<4)|0;c[o+0>>2]=c[m+0>>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];j=j+1|0}while((j|0)!=(h|0))}j=c[d+136>>2]|0;if(j){if(a[d+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=n;j=d+136|0}else j=d+136|0;h=k;do{o=(c[j>>2]|0)+(h<<4)|0;c[o+0>>2]=c[p+32>>2];c[o+4>>2]=c[p+36>>2];c[o+8>>2]=c[p+40>>2];c[o+12>>2]=c[p+44>>2];h=h+1|0}while((h|0)!=(n|0))}c[d+128>>2]=n;if((n|0)>0){j=c[d+136>>2]|0;h=0;f=c[e+68>>2]|0;while(1){c[j+(h<<4)+12>>2]=c[f+12>>2];b[j+(h<<4)+6>>1]=b[f+6>>1]|0;b[j+(h<<4)+8>>1]=b[f+8>>1]|0;b[j+(h<<4)+10>>1]=b[f+10>>1]|0;b[j+(h<<4)>>1]=b[f>>1]|0;b[j+(h<<4)+2>>1]=b[f+2>>1]|0;b[j+(h<<4)+4>>1]=b[f+4>>1]|0;h=h+1|0;if((h|0)==(n|0))break;else f=f+16|0}}c[d+144>>2]=c[e+76>>2];n=c[e+80>>2]|0;k=c[d+152>>2]|0;if((k|0)<(n|0)){if((c[d+156>>2]|0)<(n|0)){if(!n){h=k;f=0}else{c[5108]=(c[5108]|0)+1;h=QE(n<<5|19)|0;if(!h)j=0;else{c[(h+19&-16)+-4>>2]=h;j=h+19&-16}h=c[d+152>>2]|0;f=j}if((h|0)>0){j=0;do{o=f+(j<<5)|0;m=(c[d+160>>2]|0)+(j<<5)|0;c[o+0>>2]=c[m+0>>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];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];j=j+1|0}while((j|0)!=(h|0))}j=c[d+160>>2]|0;if(j){if(a[d+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=n;j=d+160|0}else j=d+160|0;h=k;do{o=(c[j>>2]|0)+(h<<5)|0;c[o+0>>2]=c[p+0>>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];h=h+1|0}while((h|0)!=(n|0))}c[d+152>>2]=n;if((n|0)<=0){i=p;return}h=c[d+160>>2]|0;j=0;f=c[e+72>>2]|0;while(1){b[h+(j<<5)+6>>1]=b[f+14>>1]|0;b[h+(j<<5)+8>>1]=b[f+16>>1]|0;b[h+(j<<5)+10>>1]=b[f+18>>1]|0;b[h+(j<<5)>>1]=b[f+8>>1]|0;b[h+(j<<5)+2>>1]=b[f+10>>1]|0;b[h+(j<<5)+4>>1]=b[f+12>>1]|0;c[h+(j<<5)+12>>2]=c[f>>2];c[h+(j<<5)+16>>2]=c[f+4>>2];j=j+1|0;if((j|0)==(n|0))break;else f=f+20|0}i=p;return}function xC(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;f=q+48|0;n=f+64|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(n|0));o=c[d+88>>2]|0;if((o|0)<(p|0)){if((c[d+92>>2]|0)<(p|0)){if(!p){j=o;l=0}else{c[5108]=(c[5108]|0)+1;j=QE(p<<6|19)|0;if(!j)k=0;else{c[(j+19&-16)+-4>>2]=j;k=j+19&-16}j=c[d+88>>2]|0;l=k}if((j|0)>0){k=0;do{f=l+(k<<6)+0|0;m=(c[d+96>>2]|0)+(k<<6)+0|0;n=f+64|0;do{c[f>>2]=c[m>>2];f=f+4|0;m=m+4|0}while((f|0)<(n|0));k=k+1|0}while((k|0)!=(j|0))}k=c[d+96>>2]|0;if(k){if(a[d+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+96>>2]=0}a[d+100>>0]=1;c[d+96>>2]=l;c[d+92>>2]=p;j=d+96|0}else j=d+96|0;k=o;do{f=(c[j>>2]|0)+(k<<6)+0|0;m=q+48|0;n=f+64|0;do{c[f>>2]=c[m>>2];f=f+4|0;m=m+4|0}while((f|0)<(n|0));k=k+1|0}while((k|0)!=(p|0))}c[d+88>>2]=p;if((p|0)>0){k=c[d+96>>2]|0;j=0;f=c[e+112>>2]|0;while(1){g[k+(j<<6)+16>>2]=+h[f+32>>3];g[k+(j<<6)+20>>2]=+h[f+40>>3];g[k+(j<<6)+24>>2]=+h[f+48>>3];g[k+(j<<6)+28>>2]=+h[f+56>>3];g[k+(j<<6)>>2]=+h[f>>3];g[k+(j<<6)+4>>2]=+h[f+8>>3];g[k+(j<<6)+8>>2]=+h[f+16>>3];g[k+(j<<6)+12>>2]=+h[f+24>>3];c[k+(j<<6)+32>>2]=c[f+64>>2];c[k+(j<<6)+36>>2]=c[f+68>>2];c[k+(j<<6)+40>>2]=c[f+72>>2];j=j+1|0;if((j|0)==(p|0))break;else f=f+80|0}}o=c[e+108>>2]|0;c[q+32>>2]=0;c[q+36>>2]=0;c[q+40>>2]=0;c[q+44>>2]=0;l=c[d+128>>2]|0;if((l|0)<(o|0)){if((c[d+132>>2]|0)<(o|0)){if(!o){j=l;f=0}else{c[5108]=(c[5108]|0)+1;j=QE((o<<4|3)+16|0)|0;if(!j)k=0;else{c[(j+19&-16)+-4>>2]=j;k=j+19&-16}j=c[d+128>>2]|0;f=k}if((j|0)>0){k=0;do{p=f+(k<<4)|0;n=(c[d+136>>2]|0)+(k<<4)|0;c[p+0>>2]=c[n+0>>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];k=k+1|0}while((k|0)!=(j|0))}k=c[d+136>>2]|0;if(k){if(a[d+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+136>>2]=0}a[d+140>>0]=1;c[d+136>>2]=f;c[d+132>>2]=o;k=d+136|0}else k=d+136|0;j=l;do{p=(c[k>>2]|0)+(j<<4)|0;c[p+0>>2]=c[q+32>>2];c[p+4>>2]=c[q+36>>2];c[p+8>>2]=c[q+40>>2];c[p+12>>2]=c[q+44>>2];j=j+1|0}while((j|0)!=(o|0))}c[d+128>>2]=o;if((o|0)>0){k=c[d+136>>2]|0;j=0;f=c[e+116>>2]|0;while(1){c[k+(j<<4)+12>>2]=c[f+12>>2];b[k+(j<<4)+6>>1]=b[f+6>>1]|0;b[k+(j<<4)+8>>1]=b[f+8>>1]|0;b[k+(j<<4)+10>>1]=b[f+10>>1]|0;b[k+(j<<4)>>1]=b[f>>1]|0;b[k+(j<<4)+2>>1]=b[f+2>>1]|0;b[k+(j<<4)+4>>1]=b[f+4>>1]|0;j=j+1|0;if((j|0)==(o|0))break;else f=f+16|0}}c[d+144>>2]=c[e+120>>2];o=c[e+124>>2]|0;l=c[d+152>>2]|0;if((l|0)<(o|0)){if((c[d+156>>2]|0)<(o|0)){if(!o){j=l;f=0}else{c[5108]=(c[5108]|0)+1;j=QE(o<<5|19)|0;if(!j)k=0;else{c[(j+19&-16)+-4>>2]=j;k=j+19&-16}j=c[d+152>>2]|0;f=k}if((j|0)>0){k=0;do{p=f+(k<<5)|0;n=(c[d+160>>2]|0)+(k<<5)|0;c[p+0>>2]=c[n+0>>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];k=k+1|0}while((k|0)!=(j|0))}k=c[d+160>>2]|0;if(k){if(a[d+164>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[d+160>>2]=0}a[d+164>>0]=1;c[d+160>>2]=f;c[d+156>>2]=o;k=d+160|0}else k=d+160|0;j=l;do{p=(c[k>>2]|0)+(j<<5)|0;c[p+0>>2]=c[q+0>>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];j=j+1|0}while((j|0)!=(o|0))}c[d+152>>2]=o;if((o|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)==(o|0))break;else f=f+20|0}i=q;return}function yC(a,e,f){a=a|0;e=e|0;f=f|0;var h=0,j=0,k=0,l=0,m=0,n=0;n=i;g[e+16>>2]=+g[a+20>>2];g[e+20>>2]=+g[a+24>>2];g[e+24>>2]=+g[a+28>>2];g[e+28>>2]=+g[a+32>>2];g[e>>2]=+g[a+4>>2];g[e+4>>2]=+g[a+8>>2];g[e+8>>2]=+g[a+12>>2];g[e+12>>2]=+g[a+16>>2];g[e+32>>2]=+g[a+36>>2];g[e+36>>2]=+g[a+40>>2];g[e+40>>2]=+g[a+44>>2];g[e+44>>2]=+g[a+48>>2];c[e+48>>2]=c[a+56>>2];c[e+52>>2]=d[a+60>>0];h=c[a+88>>2]|0;c[e+56>>2]=h;if(h){h=ec[c[(c[f>>2]|0)+28>>2]&31](f,c[a+96>>2]|0)|0;c[e+64>>2]=h;if(h){l=c[a+88>>2]|0;j=Wb[c[(c[f>>2]|0)+16>>2]&63](f,48,l)|0;if((l|0)>0){h=c[a+96>>2]|0;m=0;k=c[j+8>>2]|0;while(1){g[k+16>>2]=+g[h+(m<<6)+16>>2];g[k+20>>2]=+g[h+(m<<6)+20>>2];g[k+24>>2]=+g[h+(m<<6)+24>>2];g[k+28>>2]=+g[h+(m<<6)+28>>2];g[k>>2]=+g[h+(m<<6)>>2];g[k+4>>2]=+g[h+(m<<6)+4>>2];g[k+8>>2]=+g[h+(m<<6)+8>>2];g[k+12>>2]=+g[h+(m<<6)+12>>2];c[k+32>>2]=c[h+(m<<6)+32>>2];c[k+36>>2]=c[h+(m<<6)+36>>2];c[k+40>>2]=c[h+(m<<6)+40>>2];m=m+1|0;if((m|0)==(l|0))break;else k=k+48|0}}else h=c[a+96>>2]|0;Hb[c[(c[f>>2]|0)+20>>2]&31](f,j,17368,1497453121,h)}}else c[e+64>>2]=0;h=c[a+128>>2]|0;c[e+60>>2]=h;if(h){h=ec[c[(c[f>>2]|0)+28>>2]&31](f,c[a+136>>2]|0)|0;c[e+68>>2]=h;if(h){l=c[a+128>>2]|0;j=Wb[c[(c[f>>2]|0)+16>>2]&63](f,16,l)|0;if((l|0)>0){h=c[a+136>>2]|0;m=0;k=c[j+8>>2]|0;while(1){c[k+12>>2]=c[h+(m<<4)+12>>2];b[k+6>>1]=b[h+(m<<4)+6>>1]|0;b[k+8>>1]=b[h+(m<<4)+8>>1]|0;b[k+10>>1]=b[h+(m<<4)+10>>1]|0;b[k>>1]=b[h+(m<<4)>>1]|0;b[k+2>>1]=b[h+(m<<4)+2>>1]|0;b[k+4>>1]=b[h+(m<<4)+4>>1]|0;m=m+1|0;if((m|0)==(l|0))break;else k=k+16|0}}else h=c[a+136>>2]|0;Hb[c[(c[f>>2]|0)+20>>2]&31](f,j,17392,1497453121,h)}}else c[e+68>>2]=0;c[e+76>>2]=c[a+144>>2];h=c[a+152>>2]|0;c[e+80>>2]=h;if(!h){c[e+72>>2]=0;i=n;return 17440}h=ec[c[(c[f>>2]|0)+28>>2]&31](f,c[a+160>>2]|0)|0;c[e+72>>2]=h;if(!h){i=n;return 17440}l=c[a+152>>2]|0;m=Wb[c[(c[f>>2]|0)+16>>2]&63](f,20,l)|0;if((l|0)>0){h=c[a+160>>2]|0;j=0;k=c[m+8>>2]|0;while(1){b[k+14>>1]=b[h+(j<<5)+6>>1]|0;b[k+16>>1]=b[h+(j<<5)+8>>1]|0;b[k+18>>1]=b[h+(j<<5)+10>>1]|0;b[k+8>>1]=b[h+(j<<5)>>1]|0;b[k+10>>1]=b[h+(j<<5)+2>>1]|0;b[k+12>>1]=b[h+(j<<5)+4>>1]|0;c[k>>2]=c[h+(j<<5)+12>>2];c[k+4>>2]=c[h+(j<<5)+16>>2];j=j+1|0;if((j|0)==(l|0))break;else k=k+20|0}}else h=c[a+160>>2]|0;Hb[c[(c[f>>2]|0)+20>>2]&31](f,m,17416,1497453121,h);i=n;return 17440}function zC(a){a=a|0;return}function AC(b){b=b|0;var d=0,e=0;e=i;d=c[b>>2]|0;if(d)CC(b,d);d=c[b+4>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[b+4>>2]=0;c[b+8>>2]=-1;d=c[b+32>>2]|0;if(d){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;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;i=e;return}c[5110]=(c[5110]|0)+1;RE(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;i=e;return}if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function BC(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(!((d|0)!=0&(b|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;k=d+32|0;f=c[k>>2]|0;if(f>>>0>d>>>0){j=(c[f+40>>2]|0)==(d|0)&1;g=c[f+((j^1)<<2)+36>>2]|0;h=c[f+32>>2]|0;if(!h)c[a>>2]=d;else c[h+(((c[h+40>>2]|0)==(f|0)&1)<<2)+36>>2]=d;c[g+32>>2]=d;c[f+32>>2]=d;c[k>>2]=h;k=d+36|0;c[f+36>>2]=c[k>>2];c[f+40>>2]=c[e>>2];c[(c[k>>2]|0)+32>>2]=f;c[(c[e>>2]|0)+32>>2]=f;c[d+(j<<2)+36>>2]=f;c[d+((j^1)<<2)+36>>2]=g;c[n+0>>2]=c[f+0>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[n+16>>2]=c[f+16>>2];c[n+20>>2]=c[f+20>>2];c[n+24>>2]=c[f+24>>2];c[n+28>>2]=c[f+28>>2];c[f+0>>2]=c[d+0>>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[f+20>>2]=c[d+20>>2];c[f+24>>2]=c[d+24>>2];c[f+28>>2]=c[d+28>>2];c[d+0>>2]=c[n+0>>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=f}d=c[d+(l<<2)+36>>2]|0;e=d+40|0;if(!(c[e>>2]|0))break;else m=m+1&31}}if(!(DC(a,d)|0))e=0;else e=c[a>>2]|0;EC(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 CC(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;if(c[b+40>>2]|0){CC(a,c[b+36>>2]|0);CC(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;i=e;return}c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);c[a+4>>2]=b;i=e;return}function DC(a,b){a=a|0;b=b|0;var d=0,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,x=0,y=0,z=0,A=0;h=i;if((c[a>>2]|0)==(b|0)){c[a>>2]=0;d=0;i=h;return d|0}e=c[b+32>>2]|0;d=c[e+32>>2]|0;b=c[e+(((c[e+40>>2]|0)!=(b|0)&1)<<2)+36>>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[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0);d=c[a>>2]|0}c[a+4>>2]=e;i=h;return d|0}c[d+(((c[d+40>>2]|0)==(e|0)&1)<<2)+36>>2]=b;c[b+32>>2]=d;b=c[a+4>>2]|0;if(b){c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0)}c[a+4>>2]=e;do{u=+g[d>>2];z=d+4|0;s=+g[z>>2];x=d+8|0;q=+g[x>>2];A=d+16|0;o=+g[A>>2];y=d+20|0;m=+g[y>>2];b=d+24|0;k=+g[b>>2];w=c[d+36>>2]|0;e=c[d+40>>2]|0;v=+g[w>>2];t=+g[e>>2];t=v>2]=t;v=+g[w+16>>2];n=+g[e+16>>2];n=v>n?v:n;g[A>>2]=n;v=+g[w+4>>2];r=+g[e+4>>2];r=v>2]=r;v=+g[w+20>>2];l=+g[e+20>>2];l=v>l?v:l;g[y>>2]=l;v=+g[w+8>>2];p=+g[e+8>>2];p=v>2]=p;v=+g[w+24>>2];j=+g[e+24>>2];j=v>j?v:j;g[b>>2]=j;if(!(u!=t|s!=r|q!=p|o!=n)?!(m!=l|k!=j):0){f=14;break}d=c[d+32>>2]|0}while((d|0)!=0);if((f|0)==14){i=h;return d|0}y=c[a>>2]|0;i=h;return y|0}function EC(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,q=0,r=0,s=0.0;r=i;if(!(c[a>>2]|0)){c[a>>2]=d;c[d+32>>2]=0;i=r;return}e=c[b+40>>2]|0;if(e){k=+g[d>>2]+ +g[d+16>>2];l=+g[d+4>>2]+ +g[d+20>>2];j=+g[d+8>>2]+ +g[d+24>>2];do{q=c[b+36>>2]|0;m=+O(+(k-(+g[q>>2]+ +g[q+16>>2])))+ +O(+(l-(+g[q+4>>2]+ +g[q+20>>2])))+ +O(+(j-(+g[q+8>>2]+ +g[q+24>>2])));b=c[b+((!(m<+O(+(k-(+g[e>>2]+ +g[e+16>>2])))+ +O(+(l-(+g[e+4>>2]+ +g[e+20>>2])))+ +O(+(j-(+g[e+8>>2]+ +g[e+24>>2]))))&1)<<2)+36>>2]|0;e=c[b+40>>2]|0}while((e|0)!=0)}p=b+32|0;q=c[p>>2]|0;e=c[a+4>>2]|0;if(!e){c[5108]=(c[5108]|0)+1;e=QE(63)|0;if((e|0)!=0?(c[(e+19&-16)+-4>>2]=e,(e+19&-16|0)!=0):0){f=(e+19&-16)+0|0;h=f+44|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));e=e+19&-16}else e=0}else c[a+4>>2]=0;c[e+32>>2]=q;h=e+36|0;c[h>>2]=0;f=e+40|0;c[f>>2]=0;s=+g[d>>2];o=+g[b>>2];o=s>2]=o;s=+g[d+16>>2];l=+g[b+16>>2];l=s>l?s:l;g[e+16>>2]=l;s=+g[d+4>>2];n=+g[b+4>>2];n=s>2]=n;s=+g[d+20>>2];k=+g[b+20>>2];k=s>k?s:k;g[e+20>>2]=k;s=+g[d+8>>2];m=+g[b+8>>2];m=s>2]=m;s=+g[d+24>>2];j=+g[b+24>>2];j=s>j?s:j;g[e+24>>2]=j;if(!q){c[h>>2]=b;c[p>>2]=e;c[f>>2]=d;c[d+32>>2]=e;c[a>>2]=e;i=r;return}c[q+(((c[(c[p>>2]|0)+40>>2]|0)==(b|0)&1)<<2)+36>>2]=e;c[h>>2]=b;c[p>>2]=e;c[f>>2]=d;c[d+32>>2]=e;e=q;while(1){b=e+4|0;if(((((+g[e>>2]<=o?+g[b>>2]<=n:0)?+g[e+8>>2]<=m:0)?+g[e+16>>2]>=l:0)?+g[e+20>>2]>=k:0)?+g[e+24>>2]>=j:0){e=21;break}d=c[e+36>>2]|0;q=c[e+40>>2]|0;s=+g[d>>2];o=+g[q>>2];o=s>2]=o;s=+g[d+16>>2];l=+g[q+16>>2];l=s>l?s:l;g[e+16>>2]=l;s=+g[d+4>>2];n=+g[q+4>>2];n=s>2]=n;s=+g[d+20>>2];k=+g[q+20>>2];k=s>k?s:k;g[e+20>>2]=k;s=+g[d+8>>2];m=+g[q+8>>2];m=s>2]=m;s=+g[d+24>>2];j=+g[q+24>>2];j=s>j?s:j;g[e+24>>2]=j;e=c[e+32>>2]|0;if(!e){e=21;break}}if((e|0)==21){i=r;return}}function FC(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,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0;H=i;i=i+32|0;k=+g[b+16>>2];j=+g[b>>2];l=+g[b+20>>2];h=+g[b+4>>2];o=+g[b+24>>2];f=+g[b+8>>2];t=+g[b+32>>2];x=+g[b+36>>2];y=+g[b+40>>2];E=(l-h)*(y-f)-(o-f)*(x-h);F=(o-f)*(t-j)-(k-j)*(y-f);G=(k-j)*(x-h)-(l-h)*(t-j);g[H+16>>2]=E;g[H+20>>2]=F;g[H+24>>2]=G;g[H+28>>2]=0.0;p=+g[a+4>>2];r=+g[a+8>>2];v=+g[a+12>>2];D=E*p+F*r+G*v-(j*E+h*F+f*G);n=+g[a+20>>2];s=+g[a+24>>2];w=+g[a+28>>2];if(D*(E*n+F*s+G*w-(j*E+h*F+f*G))>=0.0){i=H;return}B=c[a+36>>2]|0;if((B&1|0)!=0&D<=0.0){i=H;return}C=D/(D-(E*n+F*s+G*w-(j*E+h*F+f*G)));if(!(C<+g[a+40>>2])){i=H;return}A=(E*E+F*F+G*G)*-9.999999747378752e-05;z=j-(n*C+p*(1.0-C));u=h-(s*C+r*(1.0-C));q=f-(w*C+v*(1.0-C));m=k-(n*C+p*(1.0-C));l=l-(s*C+r*(1.0-C));k=o-(w*C+v*(1.0-C));if(!(G*(z*l-u*m)+(E*(u*k-q*l)+F*(q*m-z*k))>=A)){i=H;return}j=t-(n*C+p*(1.0-C));h=x-(s*C+r*(1.0-C));f=y-(w*C+v*(1.0-C));if(!(G*(m*h-l*j)+(E*(l*f-k*h)+F*(k*j-m*f))>=A)){i=H;return}if(!(G*(u*j-z*h)+(E*(q*h-u*f)+F*(z*f-q*j))>=A)){i=H;return}f=1.0/+P(+(E*E+F*F+G*G));g[H+16>>2]=E*f;g[H+20>>2]=F*f;g[H+24>>2]=G*f;b=c[(c[a>>2]|0)+12>>2]|0;if((B&2|0)==0&D<=0.0){g[H>>2]=-(E*f);g[H+4>>2]=-(F*f);g[H+8>>2]=-(G*f);g[H+12>>2]=0.0;g[a+40>>2]=+lc[b&3](a,H,C,d,e);i=H;return}else{g[a+40>>2]=+lc[b&3](a,H+16|0,C,d,e);i=H;return}}function GC(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+576>>2]=0;g[m+580>>2]=1.0;g[m+584>>2]=1.0;g[m+588>>2]=1.0;g[m+592>>2]=0.0;c[m+620>>2]=0;c[m+568>>2]=7584;c[m+572>>2]=1;c[m+624>>2]=c[d+0>>2];c[m+628>>2]=c[d+4>>2];c[m+632>>2]=c[d+8>>2];c[m+636>>2]=c[d+12>>2];c[m+640>>2]=c[d+16>>2];c[m+644>>2]=c[d+20>>2];c[m+648>>2]=c[d+24>>2];c[m+652>>2]=c[d+28>>2];c[m+656>>2]=c[d+32>>2];c[m+660>>2]=c[d+36>>2];c[m+664>>2]=c[d+40>>2];c[m+668>>2]=c[d+44>>2];g[m+612>>2]=+g[b+204>>2];g[m+516>>2]=9.999999747378752e-05;a[m+540>>0]=0;c[m+200>>2]=19048;d=c[b+4>>2]|0;c[m+176>>2]=19312;c[m+180>>2]=m+208;c[m+184>>2]=m+200;c[m+188>>2]=d;c[m+192>>2]=m+568;c[m+196>>2]=0;c[m>>2]=7512;c[m+168>>2]=0;g[m+164>>2]=1.0;g[m+172>>2]=+g[b+208>>2];if((cD(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/+P(+(h*h+j*j+k*k));g[m+132>>2]=h*n;g[m+136>>2]=j*n;g[m+140>>2]=k*n;+$b[c[(c[b>>2]|0)+12>>2]&3](b,m+132|0,m+148|0,l,e,f)}c[m+568>>2]=13336;e=c[m+620>>2]|0;if(!e){i=m;return}Jb[c[c[e>>2]>>2]&255](e);e=c[m+620>>2]|0;if(!e){i=m;return}c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);i=m;return}function HC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function IC(b,d,e,f,h,j,k,l,m,n){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;n=n|0;var o=0.0,p=0,q=0,r=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,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0;C=i;i=i+4256|0;if(((c[e+4>>2]|0)+-17|0)>>>0<2)u=((c[f+4>>2]|0)+-17|0)>>>0<2;else u=0;b=0;do{JC();v=+g[17616+(b<<4)>>2];t=+g[17620+(b<<4)>>2];s=+g[17624+(b<<4)>>2];o=+g[h+4>>2]*-v+ +g[h+20>>2]*-t+ +g[h+36>>2]*-s;z=+g[h+8>>2]*-v+ +g[h+24>>2]*-t+ +g[h+40>>2]*-s;g[C+1280+(b<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-t+ +g[h+32>>2]*-s;g[C+1280+(b<<4)+4>>2]=o;g[C+1280+(b<<4)+8>>2]=z;g[C+1280+(b<<4)+12>>2]=0.0;z=v*+g[j+4>>2]+t*+g[j+20>>2]+s*+g[j+36>>2];o=v*+g[j+8>>2]+t*+g[j+24>>2]+s*+g[j+40>>2];g[C+288+(b<<4)>>2]=v*+g[j>>2]+t*+g[j+16>>2]+s*+g[j+32>>2];g[C+288+(b<<4)+4>>2]=z;g[C+288+(b<<4)+8>>2]=o;g[C+288+(b<<4)+12>>2]=0.0;b=b+1|0}while((b|0)!=42);b=Nb[c[(c[e>>2]|0)+84>>2]&127](e)|0;if((b|0)>0){p=0;q=42;while(1){pc[c[(c[e>>2]|0)+88>>2]&127](e,p,C+272|0);z=+g[C+272>>2];o=+g[C+276>>2];s=+g[C+280>>2];t=z*+g[h+16>>2]+o*+g[h+20>>2]+s*+g[h+24>>2];v=z*+g[h+32>>2]+o*+g[h+36>>2]+s*+g[h+40>>2];g[C+272>>2]=+g[h>>2]*z+ +g[h+4>>2]*o+ +g[h+8>>2]*s;g[C+276>>2]=t;g[C+280>>2]=v;g[C+284>>2]=0.0;JC();r=17616+(q<<4)|0;c[r+0>>2]=c[C+272>>2];c[r+4>>2]=c[C+276>>2];c[r+8>>2]=c[C+280>>2];c[r+12>>2]=c[C+284>>2];v=+g[C+272>>2];t=+g[C+276>>2];s=+g[C+280>>2];o=+g[h+4>>2]*-v+ +g[h+20>>2]*-t+ +g[h+36>>2]*-s;z=+g[h+8>>2]*-v+ +g[h+24>>2]*-t+ +g[h+40>>2]*-s;g[C+1280+(q<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-t+ +g[h+32>>2]*-s;g[C+1280+(q<<4)+4>>2]=o;g[C+1280+(q<<4)+8>>2]=z;g[C+1280+(q<<4)+12>>2]=0.0;z=v*+g[j+4>>2]+t*+g[j+20>>2]+s*+g[j+36>>2];o=v*+g[j+8>>2]+t*+g[j+24>>2]+s*+g[j+40>>2];g[C+288+(q<<4)>>2]=+g[j>>2]*v+ +g[j+16>>2]*t+ +g[j+32>>2]*s;g[C+288+(q<<4)+4>>2]=z;g[C+288+(q<<4)+8>>2]=o;g[C+288+(q<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(b|0))break;else q=q+1|0}b=b+42|0}else b=42;q=Nb[c[(c[f>>2]|0)+84>>2]&127](f)|0;if((q|0)>0){p=0;r=b;while(1){pc[c[(c[f>>2]|0)+88>>2]&127](f,p,C+256|0);z=+g[C+256>>2];o=+g[C+260>>2];s=+g[C+264>>2];t=z*+g[j+16>>2]+o*+g[j+20>>2]+s*+g[j+24>>2];v=z*+g[j+32>>2]+o*+g[j+36>>2]+s*+g[j+40>>2];g[C+256>>2]=+g[j>>2]*z+ +g[j+4>>2]*o+ +g[j+8>>2]*s;g[C+260>>2]=t;g[C+264>>2]=v;g[C+268>>2]=0.0;JC();D=17616+(r<<4)|0;c[D+0>>2]=c[C+256>>2];c[D+4>>2]=c[C+260>>2];c[D+8>>2]=c[C+264>>2];c[D+12>>2]=c[C+268>>2];v=+g[C+256>>2];t=+g[C+260>>2];s=+g[C+264>>2];o=+g[h+4>>2]*-v+ +g[h+20>>2]*-t+ +g[h+36>>2]*-s;z=+g[h+8>>2]*-v+ +g[h+24>>2]*-t+ +g[h+40>>2]*-s;g[C+1280+(r<<4)>>2]=+g[h>>2]*-v+ +g[h+16>>2]*-t+ +g[h+32>>2]*-s;g[C+1280+(r<<4)+4>>2]=o;g[C+1280+(r<<4)+8>>2]=z;g[C+1280+(r<<4)+12>>2]=0.0;z=v*+g[j+4>>2]+t*+g[j+20>>2]+s*+g[j+36>>2];o=v*+g[j+8>>2]+t*+g[j+24>>2]+s*+g[j+40>>2];g[C+288+(r<<4)>>2]=+g[j>>2]*v+ +g[j+16>>2]*t+ +g[j+32>>2]*s;g[C+288+(r<<4)+4>>2]=z;g[C+288+(r<<4)+8>>2]=o;g[C+288+(r<<4)+12>>2]=0.0;p=p+1|0;if((p|0)==(q|0))break;else r=r+1|0}b=q+b|0}tc[c[(c[e>>2]|0)+76>>2]&127](e,C+1280|0,C+3264|0,b);tc[c[(c[f>>2]|0)+76>>2]&127](f,C+288|0,C+2272|0,b);if((b|0)>0)if(u){u=0;w=0.0;x=0.0;y=0.0;s=999999984306749440.0;while(1){JC();t=+g[17616+(u<<4)>>2];o=+g[17620+(u<<4)>>2];v=+g[17628+(u<<4)>>2];if(t*t+o*o+0.0>.01?(B=+g[C+3264+(u<<4)>>2],z=+g[C+3264+(u<<4)+4>>2],A=+g[C+3264+(u<<4)+8>>2],G=+g[C+2272+(u<<4)>>2],F=+g[C+2272+(u<<4)+4>>2],E=+g[C+2272+(u<<4)+8>>2],A=t*(G*+g[j>>2]+F*+g[j+4>>2]+E*+g[j+8>>2]+ +g[j+48>>2]-(B*+g[h>>2]+z*+g[h+4>>2]+A*+g[h+8>>2]+ +g[h+48>>2]))+o*(G*+g[j+16>>2]+F*+g[j+20>>2]+E*+g[j+24>>2]+ +g[j+52>>2]-(B*+g[h+16>>2]+z*+g[h+20>>2]+A*+g[h+24>>2]+ +g[h+52>>2]))+0.0,A>2];y=+g[17620+(u<<4)>>2];x=+g[17624+(u<<4)>>2];w=+g[17628+(u<<4)>>2];if(t*t+y*y+x*x>.01?(E=+g[C+3264+(u<<4)>>2],G=+g[C+3264+(u<<4)+4>>2],B=+g[C+3264+(u<<4)+8>>2],I=+g[C+2272+(u<<4)>>2],H=+g[C+2272+(u<<4)+4>>2],F=+g[C+2272+(u<<4)+8>>2],B=t*(I*+g[j>>2]+H*+g[j+4>>2]+F*+g[j+8>>2]+ +g[j+48>>2]-(E*+g[h>>2]+G*+g[h+4>>2]+B*+g[h+8>>2]+ +g[h+48>>2]))+y*(I*+g[j+16>>2]+H*+g[j+20>>2]+F*+g[j+24>>2]+ +g[j+52>>2]-(E*+g[h+16>>2]+G*+g[h+20>>2]+B*+g[h+24>>2]+ +g[h+52>>2]))+x*(I*+g[j+32>>2]+H*+g[j+36>>2]+F*+g[j+40>>2]+ +g[j+56>>2]-(E*+g[h+32>>2]+G*+g[h+36>>2]+B*+g[h+40>>2]+ +g[h+56>>2])),B>2]|0){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:+Zb[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:+Zb[c[(c[f>>2]|0)+48>>2]&15](f)}if(s<0.0){h=0;i=C;return h|0}switch(c[e+4>>2]|0){case 1:{t=+g[e+44>>2];break}case 13:{t=+g[e+44>>2];break}case 11:{t=+g[e+44>>2];break}case 10:{t=+g[e+44>>2];break}case 4:case 5:{t=+g[e+44>>2];break}case 8:{t=+g[e+28>>2]*+g[e+12>>2];break}case 0:{t=+g[e+44>>2];break}default:t=+Zb[c[(c[e>>2]|0)+48>>2]&15](e)}q=c[f+4>>2]|0;switch(q|0){case 8:{q=8;o=+g[f+28>>2]*+g[f+12>>2];break}case 0:{q=0;o=+g[f+44>>2];break}case 1:{q=1;o=+g[f+44>>2];break}case 13:{q=13;o=+g[f+44>>2];break}case 11:{q=11;o=+g[f+44>>2];break}case 10:{q=10;o=+g[f+44>>2];break}case 4:case 5:{o=+g[f+44>>2];break}default:{o=+Zb[c[(c[f>>2]|0)+48>>2]&15](f);q=c[f+4>>2]|0}}o=s+(t+o+.5);c[C+176>>2]=19400;g[C+180>>2]=0.0;g[C+184>>2]=1.0;g[C+188>>2]=0.0;g[C+192>>2]=0.0;c[C+196>>2]=0;c[C+200>>2]=d;c[C+204>>2]=e;c[C+208>>2]=f;c[C+212>>2]=c[e+4>>2];c[C+216>>2]=q;g[C+220>>2]=+Zb[c[(c[e>>2]|0)+48>>2]&15](e);g[C+224>>2]=+Zb[c[(c[f>>2]|0)+48>>2]&15](f);a[C+228>>0]=0;c[C+236>>2]=-1;c[C+248>>2]=1;c[C+252>>2]=1;t=+g[h+48>>2]+A*o;w=y*o+ +g[h+52>>2];B=x*o+ +g[h+56>>2];c[C+44>>2]=c[h+0>>2];c[C+48>>2]=c[h+4>>2];c[C+52>>2]=c[h+8>>2];c[C+56>>2]=c[h+12>>2];c[C+60>>2]=c[h+16>>2];c[C+64>>2]=c[h+20>>2];c[C+68>>2]=c[h+24>>2];c[C+72>>2]=c[h+28>>2];c[C+76>>2]=c[h+32>>2];c[C+80>>2]=c[h+36>>2];c[C+84>>2]=c[h+40>>2];c[C+88>>2]=c[h+44>>2];g[C+92>>2]=t;g[C+96>>2]=w;g[C+100>>2]=B;g[C+104>>2]=0.0;c[C+108>>2]=c[j+0>>2];c[C+112>>2]=c[j+4>>2];c[C+116>>2]=c[j+8>>2];c[C+120>>2]=c[j+12>>2];c[C+124>>2]=c[j+16>>2];c[C+128>>2]=c[j+20>>2];c[C+132>>2]=c[j+24>>2];c[C+136>>2]=c[j+28>>2];c[C+140>>2]=c[j+32>>2];c[C+144>>2]=c[j+36>>2];c[C+148>>2]=c[j+40>>2];c[C+152>>2]=c[j+44>>2];c[C+156>>2]=c[j+48>>2];c[C+160>>2]=c[j+52>>2];c[C+164>>2]=c[j+56>>2];c[C+168>>2]=c[j+60>>2];g[C+172>>2]=999999984306749440.0;c[C>>2]=18752;a[C+40>>0]=0;g[C+180>>2]=-A;g[C+184>>2]=-y;g[C+188>>2]=-x;g[C+192>>2]=0.0;eD(C+176|0,C+44|0,C,n,0);o=o-+g[C+36>>2];b=a[C+40>>0]|0;if(b<<24>>24){w=+g[C+24>>2]-y*o;B=+g[C+28>>2]-x*o;g[l>>2]=+g[C+20>>2]-A*o;g[l+4>>2]=w;g[l+8>>2]=B;g[l+12>>2]=0.0;c[m+0>>2]=c[C+20>>2];c[m+4>>2]=c[C+24>>2];c[m+8>>2]=c[C+28>>2];c[m+12>>2]=c[C+32>>2];g[k>>2]=A;g[k+4>>2]=y;g[k+8>>2]=x;g[k+12>>2]=v}h=b<<24>>24!=0;i=C;return h|0}function JC(){var b=0;b=i;if(a[18608]|0){i=b;return}if(!(Xa(18608)|0)){i=b;return}g[4404]=0.0;g[4405]=-0.0;g[4406]=-1.0;g[4407]=0.0;g[4408]=.7236080169677734;g[4409]=-.5257250070571899;g[4410]=-.44721901416778564;g[4411]=0.0;g[4412]=-.2763879895210266;g[4413]=-.8506489992141724;g[4414]=-.44721901416778564;g[4415]=0.0;g[4416]=-.8944259881973267;g[4417]=-0.0;g[4418]=-.4472160041332245;g[4419]=0.0;g[4420]=-.2763879895210266;g[4421]=.8506489992141724;g[4422]=-.44721999764442444;g[4423]=0.0;g[4424]=.7236080169677734;g[4425]=.5257250070571899;g[4426]=-.44721901416778564;g[4427]=0.0;g[4428]=.2763879895210266;g[4429]=-.8506489992141724;g[4430]=.44721999764442444;g[4431]=0.0;g[4432]=-.7236080169677734;g[4433]=-.5257250070571899;g[4434]=.44721901416778564;g[4435]=0.0;g[4436]=-.7236080169677734;g[4437]=.5257250070571899;g[4438]=.44721901416778564;g[4439]=0.0;g[4440]=.2763879895210266;g[4441]=.8506489992141724;g[4442]=.44721901416778564;g[4443]=0.0;g[4444]=.8944259881973267;g[4445]=0.0;g[4446]=.4472160041332245;g[4447]=0.0;g[4448]=-0.0;g[4449]=0.0;g[4450]=1.0;g[4451]=0.0;g[4452]=.4253230094909668;g[4453]=-.3090110123157501;g[4454]=-.8506540060043335;g[4455]=0.0;g[4456]=-.16245600581169128;g[4457]=-.49999499320983887;g[4458]=-.8506540060043335;g[4459]=0.0;g[4460]=.2628690004348755;g[4461]=-.8090119957923889;g[4462]=-.525738000869751;g[4463]=0.0;g[4464]=.4253230094909668;g[4465]=.3090110123157501;g[4466]=-.8506540060043335;g[4467]=0.0;g[4468]=.8506479859352112;g[4469]=-0.0;g[4470]=-.5257359743118286;g[4471]=0.0;g[4472]=-.5257300138473511;g[4473]=-0.0;g[4474]=-.8506519794464111;g[4475]=0.0;g[4476]=-.6881899833679199;g[4477]=-.49999698996543884;g[4478]=-.5257359743118286;g[4479]=0.0;g[4480]=-.16245600581169128;g[4481]=.49999499320983887;g[4482]=-.8506540060043335;g[4483]=0.0;g[4484]=-.6881899833679199;g[4485]=.49999698996543884;g[4486]=-.5257359743118286;g[4487]=0.0;g[4488]=.2628690004348755;g[4489]=.8090119957923889;g[4490]=-.525738000869751;g[4491]=0.0;g[4492]=.9510579705238342;g[4493]=.3090130090713501;g[4494]=0.0;g[4495]=0.0;g[4496]=.9510579705238342;g[4497]=-.3090130090713501;g[4498]=0.0;g[4499]=0.0;g[4500]=.5877860188484192;g[4501]=-.80901700258255;g[4502]=0.0;g[4503]=0.0;g[4504]=0.0;g[4505]=-1.0;g[4506]=0.0;g[4507]=0.0;g[4508]=-.5877860188484192;g[4509]=-.80901700258255;g[4510]=0.0;g[4511]=0.0;g[4512]=-.9510579705238342;g[4513]=-.3090130090713501;g[4514]=-0.0;g[4515]=0.0;g[4516]=-.9510579705238342;g[4517]=.3090130090713501;g[4518]=-0.0;g[4519]=0.0;g[4520]=-.5877860188484192;g[4521]=.80901700258255;g[4522]=-0.0;g[4523]=0.0;g[4524]=-0.0;g[4525]=1.0;g[4526]=-0.0;g[4527]=0.0;g[4528]=.5877860188484192;g[4529]=.80901700258255;g[4530]=-0.0;g[4531]=0.0;g[4532]=.6881899833679199;g[4533]=-.49999698996543884;g[4534]=.5257359743118286;g[4535]=0.0;g[4536]=-.2628690004348755;g[4537]=-.8090119957923889;g[4538]=.525738000869751;g[4539]=0.0;g[4540]=-.8506479859352112;g[4541]=0.0;g[4542]=.5257359743118286;g[4543]=0.0;g[4544]=-.2628690004348755;g[4545]=.8090119957923889;g[4546]=.525738000869751;g[4547]=0.0;g[4548]=.6881899833679199;g[4549]=.49999698996543884;g[4550]=.5257359743118286;g[4551]=0.0;g[4552]=.5257300138473511;g[4553]=0.0;g[4554]=.8506519794464111;g[4555]=0.0;g[4556]=.16245600581169128;g[4557]=-.49999499320983887;g[4558]=.8506540060043335;g[4559]=0.0;g[4560]=-.4253230094909668;g[4561]=-.3090110123157501;g[4562]=.8506540060043335;g[4563]=0.0;g[4564]=-.4253230094909668;g[4565]=.3090110123157501;g[4566]=.8506540060043335;g[4567]=0.0;g[4568]=.16245600581169128;g[4569]=.49999499320983887;g[4570]=.8506540060043335;g[4571]=0.0;ab(18608);i=b;return}function KC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function LC(a){a=a|0;return}function MC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;c[b+4>>2]=c[d+0>>2];c[b+8>>2]=c[d+4>>2];c[b+12>>2]=c[d+8>>2];c[b+16>>2]=c[d+12>>2];c[b+20>>2]=c[e+0>>2];c[b+24>>2]=c[e+4>>2];c[b+28>>2]=c[e+8>>2];c[b+32>>2]=c[e+12>>2];g[b+36>>2]=f;a[b+40>>0]=1;return}function NC(a,b,c){a=a|0;b=b|0;c=c|0;return}function OC(a,b,c){a=a|0;b=b|0;c=c|0;return}function PC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function QC(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.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,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,L=0.0,M=0.0,N=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,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;p=c[b+4>>2]|0;a[p+312>>0]=0;c[p>>2]=0;a[p+356>>0]=1;g[p+292>>2]=999999984306749440.0;g[p+296>>2]=999999984306749440.0;g[p+300>>2]=999999984306749440.0;g[p+304>>2]=0.0;c[p+336>>2]=0;c[p+340>>2]=0;c[p+344>>2]=0;c[p+348>>2]=0;a[p+352>>0]=0;a[p+332>>0]=a[p+332>>0]&-16;o=+g[d+48>>2];n=+g[d+52>>2];m=+g[d+56>>2];q=+g[f+48>>2];l=+g[f+52>>2];r=+g[f+56>>2];L=+g[d>>2];S=+g[d+4>>2];T=+g[d+8>>2];U=+g[d+16>>2];M=+g[d+20>>2];N=+g[d+24>>2];O=+g[d+32>>2];Q=+g[d+36>>2];R=+g[d+40>>2];V=+g[f>>2];$=+g[f+4>>2];aa=+g[f+8>>2];ba=+g[f+16>>2];W=+g[f+20>>2];X=+g[f+24>>2];Y=+g[f+32>>2];Z=+g[f+36>>2];_=+g[f+40>>2];ca=+g[e+48>>2]-o-(+g[h+48>>2]-q);ea=+g[e+52>>2]-n-(+g[h+52>>2]-l);da=+g[e+56>>2]-m-(+g[h+56>>2]-r);p=c[b+8>>2]|0;K=c[(c[p>>2]|0)+64>>2]|0;g[fa+96>>2]=L*-ca+U*-ea+O*-da;g[fa+100>>2]=S*-ca+M*-ea+Q*-da;g[fa+104>>2]=T*-ca+N*-ea+R*-da;g[fa+108>>2]=0.0;pc[K&127](fa+112|0,p,fa+96|0);G=+g[fa+112>>2];H=+g[fa+116>>2];F=+g[fa+120>>2];s=G*+g[d>>2]+H*+g[d+4>>2]+F*+g[d+8>>2]+ +g[d+48>>2];u=G*+g[d+16>>2]+H*+g[d+20>>2]+F*+g[d+24>>2]+ +g[d+52>>2];F=G*+g[d+32>>2]+H*+g[d+36>>2]+F*+g[d+40>>2]+ +g[d+56>>2];p=c[b+12>>2]|0;K=c[(c[p>>2]|0)+64>>2]|0;H=ca*+g[f+4>>2]+ea*+g[f+20>>2]+da*+g[f+36>>2];G=ca*+g[f+8>>2]+ea*+g[f+24>>2]+da*+g[f+40>>2];g[fa+64>>2]=ca*+g[f>>2]+ea*+g[f+16>>2]+da*+g[f+32>>2];g[fa+68>>2]=H;g[fa+72>>2]=G;g[fa+76>>2]=0.0;pc[K&127](fa+80|0,p,fa+64|0);G=+g[fa+80>>2];H=+g[fa+84>>2];t=+g[fa+88>>2];s=s-(G*+g[f>>2]+H*+g[f+4>>2]+t*+g[f+8>>2]+ +g[f+48>>2]);u=u-(G*+g[f+16>>2]+H*+g[f+20>>2]+t*+g[f+24>>2]+ +g[f+52>>2]);t=F-(G*+g[f+32>>2]+H*+g[f+36>>2]+t*+g[f+40>>2]+ +g[f+56>>2]);a:do if(s*s+u*u+t*t>9.999999747378752e-05){D=q;C=o;B=n;z=m;y=l;m=0.0;K=32;o=0.0;A=0.0;n=0.0;q=0.0;l=0.0;x=u;while(1){if(!K){l=A;break a}K=K+-1|0;p=c[b+8>>2]|0;w=c[(c[p>>2]|0)+64>>2]|0;H=-s;ga=-x;u=-t;g[fa+32>>2]=L*H+U*ga+O*u;g[fa+36>>2]=S*H+M*ga+Q*u;g[fa+40>>2]=T*H+N*ga+R*u;g[fa+44>>2]=0.0;pc[w&127](fa+48|0,p,fa+32|0);u=+g[fa+48>>2];ga=+g[fa+52>>2];H=+g[fa+56>>2];F=C+(L*u+S*ga+T*H);J=B+(U*u+M*ga+N*H);H=z+(O*u+Q*ga+R*H);p=c[b+12>>2]|0;w=c[(c[p>>2]|0)+64>>2]|0;g[fa>>2]=V*s+ba*x+Y*t;g[fa+4>>2]=$*s+W*x+Z*t;g[fa+8>>2]=aa*s+X*x+_*t;g[fa+12>>2]=0.0;pc[w&127](fa+16|0,p,fa);ga=+g[fa+16>>2];u=+g[fa+20>>2];G=+g[fa+24>>2];E=D+(V*ga+$*u+aa*G);I=y+(ba*ga+W*u+X*G);G=r+(Y*ga+Z*u+_*G);u=s*(F-E)+x*(J-I)+t*(H-G);if(m>1.0){k=0;p=23;break}if(u>0.0){r=ca*s+ea*x+da*t;if(r>=-1.4210854715202004e-14){k=0;p=23;break}m=m-u/r;u=(1.0-m)*+g[f+48>>2]+m*+g[h+48>>2];C=+g[d+48>>2]*(1.0-m)+m*+g[e+48>>2];B=(1.0-m)*+g[d+52>>2]+m*+g[e+52>>2];z=(1.0-m)*+g[d+56>>2]+m*+g[e+56>>2];y=(1.0-m)*+g[f+52>>2]+m*+g[h+52>>2];r=(1.0-m)*+g[f+56>>2]+m*+g[h+56>>2];o=s;n=x;q=t}else{u=D;l=A}v=c[b+4>>2]|0;w=c[v>>2]|0;if((w|0)>0){t=+g[v+308>>2];k=0;p=0;do{x=F-E-+g[v+(p<<4)+4>>2];A=J-I-+g[v+(p<<4)+8>>2];D=H-G-+g[v+(p<<4)+12>>2];k=k|x*x+A*A+D*D<=t;p=p+1|0}while((p|0)!=(w|0))}else k=0;if((+g[v+304>>2]==0.0?H-G==+g[v+300>>2]:0)?J-I==+g[v+296>>2]:0)p=F-E==+g[v+292>>2];else p=0;if(!(p|k)){g[v+292>>2]=F-E;g[v+296>>2]=J-I;g[v+300>>2]=H-G;g[v+304>>2]=0.0;a[v+356>>0]=1;g[v+(w<<4)+4>>2]=F-E;g[v+(w<<4)+8>>2]=J-I;g[v+(w<<4)+12>>2]=H-G;g[v+(w<<4)+16>>2]=0.0;p=c[v>>2]|0;g[v+(p<<4)+84>>2]=F;g[v+(p<<4)+88>>2]=J;g[v+(p<<4)+92>>2]=H;g[v+(p<<4)+96>>2]=0.0;p=c[v>>2]|0;g[v+(p<<4)+164>>2]=E;g[v+(p<<4)+168>>2]=I;g[v+(p<<4)+172>>2]=G;g[v+(p<<4)+176>>2]=0.0;c[v>>2]=(c[v>>2]|0)+1;v=c[b+4>>2]|0}p=qD(v)|0;s=+g[v+276>>2];x=+g[v+280>>2];t=+g[v+284>>2];if(!p)break a;if(!(s*s+x*x+t*t>9.999999747378752e-05))break a;else{D=u;A=l;l=+g[v+288>>2]}}if((p|0)==23){i=fa;return k|0}}else{m=0.0;o=0.0;l=0.0;n=0.0;q=0.0}while(0);g[j+164>>2]=m;m=q*q+(n*n+o*o);if(!(m>=1.4210854715202004e-14)){o=0.0;n=0.0;m=0.0;l=0.0}else{m=1.0/+P(+m);o=o*m;n=n*m;m=q*m}g[j+132>>2]=o;g[j+136>>2]=n;g[j+140>>2]=m;g[j+144>>2]=l;if(ca*o+ea*n+da*m>=-+g[j+172>>2]){e=0;i=fa;return e|0}e=c[b+4>>2]|0;qD(e)|0;ZE(j+148|0,e+260|0,16)|0;e=1;i=fa;return e|0}function RC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function SC(b,e,f,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0.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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=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,X=0.0,Y=0.0,Z=0.0;M=i;i=i+10240|0;V=+g[k+52>>2]-+g[j+52>>2];v=+g[k+56>>2]-+g[j+56>>2];g[M>>2]=+g[k+48>>2]-+g[j+48>>2];g[M+4>>2]=V;g[M+8>>2]=v;g[M+12>>2]=0.0;c[M+10088>>2]=f;c[M+10092>>2]=h;v=+g[k>>2];V=+g[j>>2];u=+g[k+16>>2];s=+g[j+16>>2];t=+g[k+32>>2];W=+g[j+32>>2];r=+g[j+4>>2];X=+g[j+20>>2];N=+g[j+36>>2];p=+g[j+8>>2];z=+g[j+24>>2];w=+g[j+40>>2];U=+g[k+4>>2];T=+g[k+20>>2];S=+g[k+36>>2];R=+g[k+8>>2];Q=+g[k+24>>2];O=+g[k+40>>2];g[M+10096>>2]=v*V+u*s+t*W;g[M+10100>>2]=v*r+u*X+t*N;g[M+10104>>2]=v*p+u*z+t*w;g[M+10108>>2]=0.0;g[M+10112>>2]=V*U+s*T+W*S;g[M+10116>>2]=r*U+X*T+N*S;g[M+10120>>2]=p*U+z*T+w*S;g[M+10124>>2]=0.0;g[M+10128>>2]=V*R+s*Q+W*O;g[M+10132>>2]=r*R+X*Q+N*O;g[M+10136>>2]=p*R+z*Q+w*O;g[M+10140>>2]=0.0;w=+g[k+48>>2]-+g[j+48>>2];z=+g[k+52>>2]-+g[j+52>>2];p=+g[k+56>>2]-+g[j+56>>2];N=+g[j>>2];X=+g[k>>2];r=+g[j+16>>2];W=+g[k+16>>2];s=+g[j+32>>2];V=+g[k+32>>2];t=+g[j+4>>2];u=+g[j+20>>2];v=+g[j+36>>2];x=+g[j+8>>2];A=+g[j+24>>2];q=+g[j+40>>2];g[M+10144>>2]=N*X+r*W+s*V;g[M+10148>>2]=N*U+r*T+s*S;g[M+10152>>2]=N*R+r*Q+s*O;g[M+10156>>2]=0.0;g[M+10160>>2]=X*t+W*u+V*v;g[M+10164>>2]=U*t+T*u+S*v;g[M+10168>>2]=R*t+Q*u+O*v;g[M+10172>>2]=0.0;g[M+10176>>2]=X*x+W*A+V*q;g[M+10180>>2]=U*x+T*A+S*q;g[M+10184>>2]=R*x+Q*A+O*q;g[M+10188>>2]=0.0;g[M+10192>>2]=w*N+z*r+p*s;g[M+10196>>2]=w*t+z*u+p*v;g[M+10200>>2]=w*x+z*A+p*q;g[M+10204>>2]=0.0;c[M+10208>>2]=71;c[M+10212>>2]=0;c[M+10072>>2]=0;c[M+9836>>2]=0;c[M+9840>>2]=0;c[M+9844>>2]=0;c[M+9848>>2]=0;c[M+10084>>2]=2;c[M+10076>>2]=0;g[M+9852>>2]=0.0;q=+g[M>>2];p=+g[M+4>>2];A=+g[M+8>>2];g[M+9328>>2]=-q;g[M+9332>>2]=-p;g[M+9336>>2]=-A;g[M+9340>>2]=0.0;do if((hD(M+9708|0,M+10088|0,M+9328|0)|0)==1){J=M+9296|0;I=M+9304|0;H=M+9308|0;c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[M+16>>2]=9;L=M+56|0;c[M+9292>>2]=0;c[L+0>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;c[L+16>>2]=0;e=0;do{o=128-e+-1|0;c[M+16+(o*56|0)+2152>>2]=0;b=c[I>>2]|0;c[M+16+(o*56|0)+2156>>2]=b;if(b)c[b+44>>2]=M+16+(o*56|0)+2108;c[I>>2]=M+16+(o*56|0)+2108;c[H>>2]=(c[H>>2]|0)+1;e=e+1|0}while((e|0)!=128);F=c[M+10080>>2]|0;if((c[F+32>>2]|0)>>>0>1?mD(M+9708|0)|0:0){b=c[J>>2]|0;if(b){B=c[M+9300>>2]|0;C=c[H>>2]|0;do{e=b+48|0;y=c[e>>2]|0;o=b+44|0;if(y)c[y+44>>2]=c[o>>2];y=c[o>>2]|0;if(y)c[y+48>>2]=c[e>>2];if((c[J>>2]|0)==(b|0))c[J>>2]=c[e>>2];B=B+-1|0;c[o>>2]=0;c[e>>2]=c[I>>2];y=c[I>>2]|0;if(y)c[y+44>>2]=b;c[I>>2]=b;C=C+1|0;b=c[J>>2]|0}while((b|0)!=0);c[M+9300>>2]=B;c[H>>2]=C}c[M+16>>2]=0;c[M+9292>>2]=0;b=c[F>>2]|0;y=c[F+12>>2]|0;z=+g[y+16>>2];s=+g[b+16>>2]-z;u=+g[y+20>>2];v=+g[b+20>>2]-u;N=+g[y+24>>2];x=+g[b+24>>2]-N;y=c[F+4>>2]|0;w=+g[y+16>>2]-z;Q=+g[y+20>>2]-u;t=+g[y+24>>2]-N;e=c[F+8>>2]|0;z=+g[e+16>>2]-z;u=+g[e+20>>2]-u;N=+g[e+24>>2]-N;if(s*Q*N+(v*t*z+x*w*u-s*t*u-v*w*N)-x*Q*z<0.0){c[F>>2]=y;c[F+4>>2]=b;z=+g[F+16>>2];g[F+16>>2]=+g[F+20>>2];g[F+20>>2]=z;o=y}else{o=b;b=y}C=kD(M+16|0,o,b,e,1)|0;B=kD(M+16|0,c[F+4>>2]|0,c[F>>2]|0,c[F+12>>2]|0,1)|0;D=kD(M+16|0,c[F+8>>2]|0,c[F+4>>2]|0,c[F+12>>2]|0,1)|0;E=kD(M+16|0,c[F>>2]|0,c[F+8>>2]|0,c[F+12>>2]|0,1)|0;if((c[M+9300>>2]|0)==4){e=c[J>>2]|0;u=+g[e+16>>2];b=c[e+48>>2]|0;if(b){p=u*u;o=e;while(1){A=+g[b+16>>2];y=A*A>2]|0;if(!b)break;else p=y?A*A:p}e=o;u=+g[o+16>>2]}q=+g[e>>2];p=+g[e+4>>2];A=+g[e+8>>2];x=+g[e+12>>2];y=c[e+20>>2]|0;o=c[e+24>>2]|0;F=c[e+28>>2]|0;a[C+52>>0]=0;c[C+32>>2]=B;a[B+52>>0]=0;c[B+32>>2]=C;a[C+53>>0]=0;c[C+36>>2]=D;a[D+52>>0]=1;c[D+32>>2]=C;a[C+54>>0]=0;c[C+40>>2]=E;a[E+52>>0]=2;c[E+32>>2]=C;a[B+53>>0]=2;c[B+36>>2]=E;a[E+54>>0]=1;c[E+40>>2]=B;a[B+54>>0]=1;c[B+40>>2]=D;a[D+53>>0]=2;c[D+36>>2]=B;a[D+54>>0]=1;c[D+40>>2]=E;a[E+53>>0]=2;c[E+36>>2]=D;c[M+16>>2]=0;G=0;E=y;D=o;C=F;F=1;while(1){B=c[M+9292>>2]|0;if(B>>>0>=64){K=47;break}c[M+10216>>2]=0;c[M+10220>>2]=0;c[M+10224>>2]=0;c[M+9292>>2]=B+1;a[e+55>>0]=F;y=e+4|0;o=e+8|0;jD(M+9708|0,+g[e>>2],+g[y>>2],+g[o>>2],M+16+(B<<5)+60|0);if(+g[e>>2]*+g[M+16+(B<<5)+76>>2]+ +g[y>>2]*+g[M+16+(B<<5)+80>>2]+ +g[o>>2]*+g[M+16+(B<<5)+84>>2]-+g[e+16>>2]>9.999999747378752e-05){b=0;y=1}else{K=46;break}do{y=y&(iD(M+16|0,F,M+16+(B<<5)+60|0,c[e+(b<<2)+32>>2]|0,d[e+b+52>>0]|0,M+10216|0)|0);b=b+1|0}while(!(b>>>0>2|y^1));if(!(y&(c[M+10224>>2]|0)>>>0>2)){K=45;break}b=c[M+10216>>2]|0;o=c[M+10220>>2]|0;a[b+53>>0]=2;c[b+36>>2]=o;a[o+54>>0]=1;c[o+40>>2]=b;o=e+48|0;b=c[o>>2]|0;y=e+44|0;if(b)c[b+44>>2]=c[y>>2];b=c[y>>2]|0;if(b)c[b+48>>2]=c[o>>2];if((c[J>>2]|0)==(e|0))c[J>>2]=c[o>>2];c[M+9300>>2]=(c[M+9300>>2]|0)+-1;c[y>>2]=0;c[o>>2]=c[I>>2];b=c[I>>2]|0;if(b)c[b+44>>2]=e;c[I>>2]=e;c[H>>2]=(c[H>>2]|0)+1;e=c[J>>2]|0;u=+g[e+16>>2];b=c[e+48>>2]|0;if(b){w=u*u;o=e;while(1){x=+g[b+16>>2];y=x*x>2]|0;if(!b)break;else w=y?x*x:w}e=o;u=+g[o+16>>2]}q=+g[e>>2];p=+g[e+4>>2];A=+g[e+8>>2];x=+g[e+12>>2];B=c[e+20>>2]|0;b=c[e+24>>2]|0;C=c[e+28>>2]|0;G=G+1|0;if(G>>>0>=255)break;else{E=B;D=b;F=F+1|0}}if((K|0)==45){c[M+16>>2]=4;B=E;b=D}else if((K|0)==46){c[M+16>>2]=7;B=E;b=D}else if((K|0)==47){c[M+16>>2]=6;B=E;b=D}w=u*q;r=u*p;s=u*A;g[L>>2]=q;g[M+60>>2]=p;g[M+64>>2]=A;g[M+68>>2]=x;g[M+72>>2]=u;c[M+52>>2]=3;c[M+20>>2]=B;c[M+24>>2]=b;c[M+28>>2]=C;J=b+16|0;N=+g[J>>2]-w;H=b+20|0;u=+g[H>>2]-r;I=b+24|0;v=+g[I>>2]-s;o=C+16|0;x=+g[o>>2]-w;e=C+20|0;t=+g[e>>2]-r;y=C+24|0;Q=+g[y>>2]-s;Q=+P(+((N*t-u*x)*(N*t-u*x)+((u*Q-v*t)*(u*Q-v*t)+(v*x-N*Q)*(v*x-N*Q))));g[M+36>>2]=Q;N=+g[o>>2]-w;x=+g[e>>2]-r;v=+g[y>>2]-s;y=B+16|0;t=+g[y>>2]-w;e=B+20|0;u=+g[e>>2]-r;o=B+24|0;z=+g[o>>2]-s;z=+P(+((N*u-x*t)*(N*u-x*t)+((x*z-v*u)*(x*z-v*u)+(v*t-N*z)*(v*t-N*z))));g[M+40>>2]=z;N=+g[y>>2]-w;t=+g[e>>2]-r;v=+g[o>>2]-s;w=+g[J>>2]-w;u=+g[H>>2]-r;x=+g[I>>2]-s;x=+P(+((N*u-t*w)*(N*u-t*w)+((t*x-v*u)*(t*x-v*u)+(v*w-N*x)*(v*w-N*x))));g[M+36>>2]=Q/(x+(Q+z));g[M+40>>2]=z/(x+(Q+z));g[M+44>>2]=x/(x+(Q+z));if((c[M+16>>2]|0)==9){x=0.0;w=0.0;v=0.0;r=0.0;q=0.0;p=0.0;z=0.0;A=0.0;u=0.0;b=0;break}if(!(c[M+52>>2]|0)){t=0.0;s=0.0;u=0.0}else{o=M+52|0;K=53}}else K=48}else K=48;if((K|0)==48){c[M+16>>2]=8;g[L>>2]=q;g[M+60>>2]=p;g[M+64>>2]=A;g[M+68>>2]=0.0;t=+P(+(q*q+p*p+A*A));if(t>0.0){r=1.0/t*A;s=1.0/t*p;q=1.0/t*q}else{r=0.0;s=0.0;q=1.0}g[L>>2]=q;g[M+60>>2]=s;g[M+64>>2]=r;g[M+68>>2]=0.0;g[M+72>>2]=0.0;c[M+52>>2]=1;c[M+20>>2]=c[F>>2];g[M+36>>2]=1.0;o=M+52|0;K=53}if((K|0)==53){y=0;t=0.0;s=0.0;u=0.0;do{b=c[M+10208>>2]|0;I=c[M+10212>>2]|0;e=(c[M+10088>>2]|0)+(I>>1)|0;if(I&1)b=c[(c[e>>2]|0)+b>>2]|0;pc[b&127](M+9312|0,e,c[M+16+(y<<2)+4>>2]|0);z=+g[M+16+(y<<2)+20>>2];t=t+ +g[M+9312>>2]*z;u=u+z*+g[M+9316>>2];s=s+z*+g[M+9320>>2];y=y+1|0}while(y>>>0<(c[o>>2]|0)>>>0)}X=+g[j>>2];W=+g[j+4>>2];V=+g[j+8>>2];O=+g[j+16>>2];R=+g[j+20>>2];N=+g[j+24>>2];U=+g[j+32>>2];T=+g[j+36>>2];S=+g[j+40>>2];z=+g[j+48>>2];Q=+g[j+52>>2];A=+g[j+56>>2];r=+g[L>>2];v=+g[M+72>>2];q=+g[M+60>>2];p=+g[M+64>>2];Z=t-r*v;Y=u-v*q;v=s-v*p;x=Z*X+Y*W+v*V+z;w=Z*O+Y*R+v*N+Q;v=Z*U+Y*T+v*S+A;r=-r;q=-q;p=-p;z=t*X+u*W+s*V+z;A=t*U+u*T+s*S+A;u=t*O+u*R+s*N+Q;b=1}else{x=0.0;w=0.0;v=0.0;r=0.0;q=0.0;p=0.0;z=0.0;A=0.0;u=0.0;b=0}while(0);if(b){g[m>>2]=z;g[m+4>>2]=u;g[m+8>>2]=A;g[m+12>>2]=0.0;g[n>>2]=x;g[n+4>>2]=w;g[n+8>>2]=v;g[n+12>>2]=0.0;g[l>>2]=r;g[l+4>>2]=q;g[l+8>>2]=p;g[l+12>>2]=0.0;m=1;i=M;return m|0}c[M+9708>>2]=f;c[M+9712>>2]=h;Q=+g[k>>2];q=+g[j>>2];x=+g[k+16>>2];p=+g[j+16>>2];N=+g[k+32>>2];A=+g[j+32>>2];R=+g[j+4>>2];O=+g[j+20>>2];S=+g[j+36>>2];U=+g[j+8>>2];W=+g[j+24>>2];Y=+g[j+40>>2];w=+g[k+4>>2];v=+g[k+20>>2];u=+g[k+36>>2];t=+g[k+8>>2];s=+g[k+24>>2];r=+g[k+40>>2];g[M+9716>>2]=Q*q+x*p+N*A;g[M+9720>>2]=Q*R+x*O+N*S;g[M+9724>>2]=Q*U+x*W+N*Y;g[M+9728>>2]=0.0;g[M+9732>>2]=q*w+p*v+A*u;g[M+9736>>2]=R*w+O*v+S*u;g[M+9740>>2]=U*w+W*v+Y*u;g[M+9744>>2]=0.0;g[M+9748>>2]=q*t+p*s+A*r;g[M+9752>>2]=R*t+O*s+S*r;g[M+9756>>2]=U*t+W*s+Y*r;g[M+9760>>2]=0.0;T=+g[k+48>>2]-+g[j+48>>2];V=+g[k+52>>2]-+g[j+52>>2];X=+g[k+56>>2]-+g[j+56>>2];g[M+9764>>2]=Q*q+x*p+N*A;g[M+9768>>2]=q*w+p*v+A*u;g[M+9772>>2]=q*t+p*s+A*r;g[M+9776>>2]=0.0;g[M+9780>>2]=Q*R+x*O+N*S;g[M+9784>>2]=R*w+O*v+S*u;g[M+9788>>2]=R*t+O*s+S*r;g[M+9792>>2]=0.0;g[M+9796>>2]=Q*U+x*W+N*Y;g[M+9800>>2]=U*w+W*v+Y*u;g[M+9804>>2]=U*t+W*s+Y*r;g[M+9808>>2]=0.0;g[M+9812>>2]=T*q+V*p+X*A;g[M+9816>>2]=T*R+V*O+X*S;g[M+9820>>2]=T*U+V*W+X*Y;g[M+9824>>2]=0.0;c[M+9828>>2]=72;c[M+9832>>2]=0;c[M+9692>>2]=0;c[M+9456>>2]=0;c[M+9460>>2]=0;c[M+9464>>2]=0;c[M+9468>>2]=0;c[M+9704>>2]=2;c[M+9696>>2]=0;g[M+9472>>2]=0.0;if(hD(M+9328|0,M+9708|0,M)|0){m=0;i=M;return m|0}o=c[M+9700>>2]|0;if(!(c[o+32>>2]|0)){u=0.0;t=0.0;s=0.0;r=0.0;q=0.0;p=0.0}else{C=0;u=0.0;t=0.0;s=0.0;r=0.0;q=0.0;p=0.0;do{A=+g[o+(C<<2)+16>>2];b=c[M+9828>>2]|0;k=c[M+9832>>2]|0;e=(c[M+9708>>2]|0)+(k>>1)|0;if(k&1)b=c[(c[e>>2]|0)+b>>2]|0;pc[b&127](M+9312|0,e,c[o+(C<<2)>>2]|0);u=u+A*+g[M+9312>>2];s=s+A*+g[M+9316>>2];t=t+A*+g[M+9320>>2];b=c[(c[M+9700>>2]|0)+(C<<2)>>2]|0;v=-+g[b>>2];w=-+g[b+4>>2];x=-+g[b+8>>2];b=c[M+9828>>2]|0;k=c[M+9832>>2]|0;e=(c[M+9712>>2]|0)+(k>>1)|0;if(k&1)b=c[(c[e>>2]|0)+b>>2]|0;X=+g[M+9732>>2]*v+ +g[M+9736>>2]*w+ +g[M+9740>>2]*x;W=+g[M+9748>>2]*v+ +g[M+9752>>2]*w+ +g[M+9756>>2]*x;g[M+10088>>2]=+g[M+9716>>2]*v+ +g[M+9720>>2]*w+ +g[M+9724>>2]*x;g[M+10092>>2]=X;g[M+10096>>2]=W;g[M+10100>>2]=0.0;pc[b&127](M+10216|0,e,M+10088|0);W=+g[M+10216>>2];X=+g[M+10220>>2];Y=+g[M+10224>>2];r=r+A*(W*+g[M+9764>>2]+X*+g[M+9768>>2]+Y*+g[M+9772>>2]+ +g[M+9812>>2]);p=p+A*(W*+g[M+9780>>2]+X*+g[M+9784>>2]+Y*+g[M+9788>>2]+ +g[M+9816>>2]);q=q+A*(W*+g[M+9796>>2]+X*+g[M+9800>>2]+Y*+g[M+9804>>2]+ +g[M+9820>>2]);C=C+1|0;o=c[M+9700>>2]|0}while(C>>>0<(c[o+32>>2]|0)>>>0)}z=+g[j>>2];Q=+g[j+4>>2];x=+g[j+8>>2];w=+g[j+16>>2];v=+g[j+20>>2];A=+g[j+24>>2];O=+g[j+32>>2];S=+g[j+36>>2];T=+g[j+40>>2];N=+g[j+48>>2];R=+g[j+52>>2];U=+g[j+56>>2];V=u-r;W=s-p;Y=t-q;X=+P(+(V*V+W*W+Y*Y));X=X>9.999999747378752e-05?1.0/X:1.0;g[m>>2]=u*z+s*Q+t*x+N;g[m+4>>2]=u*w+s*v+t*A+R;g[m+8>>2]=u*O+s*S+t*T+U;g[m+12>>2]=0.0;g[n>>2]=r*z+p*Q+q*x+N;g[n+4>>2]=r*w+p*v+q*A+R;g[n+8>>2]=r*O+p*S+q*T+U;g[n+12>>2]=0.0;g[l>>2]=X*V;g[l+4>>2]=X*W;g[l+8>>2]=X*Y;g[l+12>>2]=0.0;m=0;i=M;return m|0}function TC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function UC(b,d,e,f,h,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0.0,l=0.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;u=i;i=i+288|0;v=c[b+4>>2]|0;a[v+312>>0]=0;c[v>>2]=0;a[v+356>>0]=1;g[v+292>>2]=999999984306749440.0;g[v+296>>2]=999999984306749440.0;g[v+300>>2]=999999984306749440.0;g[v+304>>2]=0.0;c[v+336>>2]=0;c[v+340>>2]=0;c[v+344>>2]=0;c[v+348>>2]=0;a[v+352>>0]=0;a[v+332>>0]=a[v+332>>0]&-16;r=+g[e+48>>2]-+g[d+48>>2]-(+g[h+48>>2]-+g[f+48>>2]);t=+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[u+216>>2]=19192;g[u+252>>2]=999999984306749440.0;a[u+256>>0]=0;v=c[b+8>>2]|0;q=c[b+12>>2]|0;b=c[b+4>>2]|0;c[u+136>>2]=19400;g[u+140>>2]=0.0;g[u+144>>2]=1.0;g[u+148>>2]=0.0;g[u+152>>2]=0.0;c[u+156>>2]=0;c[u+160>>2]=b;c[u+164>>2]=v;c[u+168>>2]=q;c[u+172>>2]=c[v+4>>2];c[u+176>>2]=c[q+4>>2];g[u+180>>2]=+Zb[c[(c[v>>2]|0)+48>>2]&15](v);g[u+184>>2]=+Zb[c[(c[q>>2]|0)+48>>2]&15](q);a[u+188>>0]=0;c[u+196>>2]=-1;c[u+208>>2]=1;c[u+212>>2]=1;g[u+128>>2]=999999984306749440.0;c[u+0>>2]=c[d+0>>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+20>>2]=c[d+20>>2];c[u+24>>2]=c[d+24>>2];c[u+28>>2]=c[d+28>>2];c[u+32>>2]=c[d+32>>2];c[u+36>>2]=c[d+36>>2];c[u+40>>2]=c[d+40>>2];c[u+44>>2]=c[d+44>>2];c[u+48>>2]=c[d+48>>2];c[u+52>>2]=c[d+52>>2];c[u+56>>2]=c[d+56>>2];c[u+60>>2]=c[d+60>>2];c[u+64>>2]=c[f+0>>2];c[u+68>>2]=c[f+4>>2];c[u+72>>2]=c[f+8>>2];c[u+76>>2]=c[f+12>>2];c[u+80>>2]=c[f+16>>2];c[u+84>>2]=c[f+20>>2];c[u+88>>2]=c[f+24>>2];c[u+92>>2]=c[f+28>>2];c[u+96>>2]=c[f+32>>2];c[u+100>>2]=c[f+36>>2];c[u+104>>2]=c[f+40>>2];c[u+108>>2]=c[f+44>>2];c[u+112>>2]=c[f+48>>2];c[u+116>>2]=c[f+52>>2];c[u+120>>2]=c[f+56>>2];c[u+124>>2]=c[f+60>>2];eD(u+136|0,u,u+216|0,0,0);b=(a[u+256>>0]|0)==0;q=u+236|0;c[u+264>>2]=c[q+0>>2];c[u+268>>2]=c[q+4>>2];c[u+272>>2]=c[q+8>>2];c[u+276>>2]=c[q+12>>2];if(b){b=0;i=u;return b|0}n=+g[u+252>>2];p=+g[u+220>>2];k=+g[u+224>>2];m=+g[u+228>>2];l=+g[u+232>>2];do if(n>1.0000000474974513e-03){o=0.0;b=1;while(1){if((b|0)>32){b=0;d=13;break}l=o;o=o-n/(s*m+(t*k+r*p));if(!(!(o<0.0)&!(o>1.0)&!(o<=l))){b=0;d=13;break}Ib[c[c[j>>2]>>2]&31](j,o);k=1.0-o;g[u+48>>2]=k*+g[d+48>>2]+o*+g[e+48>>2];g[u+52>>2]=k*+g[d+52>>2]+o*+g[e+52>>2];g[u+56>>2]=k*+g[d+56>>2]+o*+g[e+56>>2];g[u+112>>2]=k*+g[f+48>>2]+o*+g[h+48>>2];g[u+116>>2]=k*+g[f+52>>2]+o*+g[h+52>>2];g[u+120>>2]=k*+g[f+56>>2]+o*+g[h+56>>2];eD(u+136|0,u,u+216|0,0,0);if(!(a[u+256>>0]|0)){b=0;d=13;break}n=+g[u+252>>2];if(n<0.0){d=8;break};c[u+264>>2]=c[q+0>>2];c[u+268>>2]=c[q+4>>2];c[u+272>>2]=c[q+8>>2];c[u+276>>2]=c[q+12>>2];p=+g[u+220>>2];k=+g[u+224>>2];m=+g[u+228>>2];if(!(n>1.0000000474974513e-03)){d=10;break}else b=b+1|0}if((d|0)==8){g[j+164>>2]=o;r=+g[u+224>>2];l=+g[u+228>>2];k=+g[u+232>>2];g[j+132>>2]=+g[u+220>>2];g[j+136>>2]=r;g[j+140>>2]=l;g[j+144>>2]=k;c[j+148>>2]=c[q+0>>2];c[j+152>>2]=c[q+4>>2];c[j+156>>2]=c[q+8>>2];c[j+160>>2]=c[q+12>>2];b=1;i=u;return b|0}else if((d|0)==10){n=p;l=+g[u+232>>2];break}else if((d|0)==13){i=u;return b|0}}else{o=0.0;n=p}while(0);if(s*m+(t*k+r*n)>=-+g[j+172>>2]){b=0;i=u;return b|0}g[j+164>>2]=o;g[j+132>>2]=n;g[j+136>>2]=k;g[j+140>>2]=m;g[j+144>>2]=l;c[j+148>>2]=c[u+264>>2];c[j+152>>2]=c[u+268>>2];c[j+156>>2]=c[u+272>>2];c[j+160>>2]=c[u+276>>2];b=1;i=u;return b|0}function VC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function WC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=+f;var h=0;h=i;if(!(+g[b+36>>2]>f)){i=h;return}a[b+40>>0]=1;c[b+4>>2]=c[d+0>>2];c[b+8>>2]=c[d+4>>2];c[b+12>>2]=c[d+8>>2];c[b+16>>2]=c[d+12>>2];c[b+20>>2]=c[e+0>>2];c[b+24>>2]=c[e+4>>2];c[b+28>>2]=c[e+8>>2];c[b+32>>2]=c[e+12>>2];g[b+36>>2]=f;i=h;return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;return}function ZC(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function _C(a){a=a|0;return}function $C(a,b,c,d,e,f,h,j,k,l,m){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;h=+h;j=+j;k=k|0;l=l|0;m=+m;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;z=i;x=+g[a>>2]*f+ +g[a+16>>2]*h+ +g[a+32>>2]*j;y=+g[a+4>>2]*f+ +g[a+20>>2]*h+ +g[a+36>>2]*j;w=+g[a+8>>2]*f+ +g[a+24>>2]*h+ +g[a+40>>2]*j;u=+g[b>>2]*f+ +g[b+16>>2]*h+ +g[b+32>>2]*j;v=+g[b+4>>2]*f+ +g[b+20>>2]*h+ +g[b+36>>2]*j;t=+g[b+8>>2]*f+ +g[b+24>>2]*h+ +g[b+40>>2]*j;n=+g[k+80>>2];if(x<0.0)n=-n;o=+g[k+84>>2];if(y<0.0)o=-o;p=+g[k+88>>2];if(w<0.0)p=-p;q=+g[l+80>>2];if(u<0.0)q=-q;r=+g[l+84>>2];if(v<0.0)r=-r;s=+g[l+88>>2];if(!(t<0.0)){n=x*n;o=y*o;o=n+o;w=w*p;w=o+w;u=u*q;v=v*r;v=u+v;u=t*s;u=v+u;a=k+96|0;v=+g[a>>2];a=w>v;v=a?w:v;a=l+96|0;w=+g[a>>2];a=u>w;w=a?u:w;w=v+w;v=c*f+d*h+e*j+w;w=w-(c*f+d*h+e*j);a=vm);i=z;return a|0}s=-s;n=x*n;o=y*o;o=n+o;w=w*p;w=o+w;u=u*q;v=v*r;v=u+v;u=t*s;u=v+u;a=k+96|0;v=+g[a>>2];a=w>v;v=a?w:v;a=l+96|0;w=+g[a>>2];a=u>w;w=a?u:w;w=v+w;v=c*f+d*h+e*j+w;w=w-(c*f+d*h+e*j);a=vm);i=z;return a|0} +function Sr(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,n=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.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,Q=0,R=0.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;ea=i;i=i+80|0;if((e|0)<=0){i=ea;return}ba=0;do{W=c[d+(ba<<2)>>2]|0;Y=c[W+740>>2]|0;Z=c[W+744>>2]|0;$=Rr(b,Y,+g[f+12>>2])|0;aa=Rr(b,Z,+g[f+12>>2])|0;_=c[b+16>>2]|0;if(!(((((+g[_+($*244|0)+128>>2]==0.0?+g[_+($*244|0)+132>>2]==0.0:0)?+g[_+($*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))da=9;if((da|0)==9?(da=0,X=c[W+748>>2]|0,(X|0)>0):0){j=X;ca=0;h=1;do{T=W+(ca*184|0)+4|0;p=W+(ca*184|0)+84|0;if(+g[p>>2]<=+g[W+756>>2]){U=c[b+28>>2]|0;if((U|0)==(c[b+32>>2]|0)?(V=(U|0)==0?1:U<<1,(U|0)<(V|0)):0){if(!V){m=U;n=0}else{c[5108]=(c[5108]|0)+1;j=QE((V*152|3)+16|0)|0;if(!j)j=0;else{c[(j+19&-16)+-4>>2]=j;j=j+19&-16}m=c[b+28>>2]|0;n=j}if((m|0)>0){j=0;do{YE(n+(j*152|0)|0,(c[b+36>>2]|0)+(j*152|0)|0,152)|0;j=j+1|0}while((j|0)!=(m|0))}j=c[b+36>>2]|0;if(j){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=n;c[b+32>>2]=V;j=c[b+28>>2]|0}else j=U;c[b+28>>2]=j+1;S=c[b+36>>2]|0;m=(c[Y+236>>2]&2|0)==0?0:Y;j=(c[Z+236>>2]&2|0)==0?0:Z;c[S+(U*152|0)+144>>2]=$;c[S+(U*152|0)+148>>2]=aa;c[S+(U*152|0)+132>>2]=T;y=+g[W+(ca*184|0)+52>>2]-+g[Y+52>>2];C=+g[W+(ca*184|0)+56>>2]-+g[Y+56>>2];x=+g[W+(ca*184|0)+60>>2]-+g[Y+60>>2];g[ea+64>>2]=y;g[ea+68>>2]=C;g[ea+72>>2]=x;g[ea+76>>2]=0.0;E=+g[W+(ca*184|0)+36>>2]-+g[Z+52>>2];F=+g[W+(ca*184|0)+40>>2]-+g[Z+56>>2];D=+g[W+(ca*184|0)+44>>2]-+g[Z+60>>2];g[ea+48>>2]=E;g[ea+52>>2]=F;g[ea+56>>2]=D;g[ea+60>>2]=0.0;if(!(c[_+($*244|0)+240>>2]|0)){l=0.0;t=0.0;k=0.0}else{k=+g[_+($*244|0)+192>>2]+ +g[_+($*244|0)+224>>2];t=+g[_+($*244|0)+196>>2]+ +g[_+($*244|0)+228>>2];K=+g[_+($*244|0)+200>>2]+ +g[_+($*244|0)+232>>2];l=+g[_+($*244|0)+176>>2]+ +g[_+($*244|0)+208>>2]+(t*x-K*C);t=+g[_+($*244|0)+184>>2]+ +g[_+($*244|0)+216>>2]+(k*C-t*y);k=+g[_+($*244|0)+180>>2]+ +g[_+($*244|0)+212>>2]+(K*y-k*x)}if(!(c[_+(aa*244|0)+240>>2]|0)){o=0.0;u=0.0;s=0.0}else{s=+g[_+(aa*244|0)+192>>2]+ +g[_+(aa*244|0)+224>>2];u=+g[_+(aa*244|0)+196>>2]+ +g[_+(aa*244|0)+228>>2];K=+g[_+(aa*244|0)+200>>2]+ +g[_+(aa*244|0)+232>>2];o=+g[_+(aa*244|0)+176>>2]+ +g[_+(aa*244|0)+208>>2]+(u*D-K*F);u=+g[_+(aa*244|0)+184>>2]+ +g[_+(aa*244|0)+216>>2]+(s*F-u*E);s=+g[_+(aa*244|0)+180>>2]+ +g[_+(aa*244|0)+212>>2]+(K*E-s*D)}R=l-o;L=k-s;K=t-u;Q=W+(ca*184|0)+68|0;H=+g[Q>>2];N=W+(ca*184|0)+72|0;I=+g[N>>2];M=W+(ca*184|0)+76|0;J=+g[M>>2];n=c[b+16>>2]|0;r=c[n+($*244|0)+240>>2]|0;q=c[n+(aa*244|0)+240>>2]|0;if(r){A=((C*J-x*I)*+g[r+264>>2]+(x*H-J*y)*+g[r+268>>2]+(I*y-C*H)*+g[r+272>>2])*+g[r+544>>2];z=((C*J-x*I)*+g[r+280>>2]+(x*H-J*y)*+g[r+284>>2]+(I*y-C*H)*+g[r+288>>2])*+g[r+548>>2];k=((C*J-x*I)*+g[r+296>>2]+(x*H-J*y)*+g[r+300>>2]+(I*y-C*H)*+g[r+304>>2])*+g[r+552>>2]}else{A=0.0;z=0.0;k=0.0}g[S+(U*152|0)+64>>2]=A;g[S+(U*152|0)+68>>2]=z;g[S+(U*152|0)+72>>2]=k;g[S+(U*152|0)+76>>2]=0.0;w=+g[M>>2];o=+g[N>>2];s=+g[Q>>2];if(q){B=(+g[q+264>>2]*-(F*w-D*o)+ +g[q+268>>2]*-(D*s-w*E)+ +g[q+272>>2]*-(o*E-F*s))*+g[q+544>>2];v=(+g[q+280>>2]*-(F*w-D*o)+ +g[q+284>>2]*-(D*s-w*E)+ +g[q+288>>2]*-(o*E-F*s))*+g[q+548>>2];l=(+g[q+296>>2]*-(F*w-D*o)+ +g[q+300>>2]*-(D*s-w*E)+ +g[q+304>>2]*-(o*E-F*s))*+g[q+552>>2]}else{B=0.0;v=0.0;l=0.0}g[S+(U*152|0)+80>>2]=B;g[S+(U*152|0)+84>>2]=v;g[S+(U*152|0)+88>>2]=l;g[S+(U*152|0)+92>>2]=0.0;if(r)A=+g[r+344>>2]+((z*x-k*C)*+g[Q>>2]+(k*y-x*A)*+g[N>>2]+(C*A-z*y)*+g[M>>2]);else A=0.0;if(q){G=-B;u=-v;B=-l;u=+g[q+344>>2]+((D*u-F*B)*+g[Q>>2]+(E*B-D*G)*+g[N>>2]+(F*G-E*u)*+g[M>>2])}else u=0.0;g[S+(U*152|0)+108>>2]=1.0/(A+u);if(r){c[S+(U*152|0)+16>>2]=c[Q+0>>2];c[S+(U*152|0)+20>>2]=c[Q+4>>2];c[S+(U*152|0)+24>>2]=c[Q+8>>2];c[S+(U*152|0)+28>>2]=c[Q+12>>2];g[S+(U*152|0)>>2]=C*J-x*I;g[S+(U*152|0)+4>>2]=x*H-J*y;g[S+(U*152|0)+8>>2]=I*y-C*H;g[S+(U*152|0)+12>>2]=0.0}else{c[S+(U*152|0)+0>>2]=0;c[S+(U*152|0)+4>>2]=0;c[S+(U*152|0)+8>>2]=0;c[S+(U*152|0)+12>>2]=0;c[S+(U*152|0)+16>>2]=0;c[S+(U*152|0)+20>>2]=0;c[S+(U*152|0)+24>>2]=0;c[S+(U*152|0)+28>>2]=0}if(q){B=-+g[N>>2];G=-+g[M>>2];g[S+(U*152|0)+48>>2]=-+g[Q>>2];g[S+(U*152|0)+52>>2]=B;g[S+(U*152|0)+56>>2]=G;g[S+(U*152|0)+60>>2]=0.0;g[S+(U*152|0)+32>>2]=-(F*w-D*o);g[S+(U*152|0)+36>>2]=-(D*s-w*E);g[S+(U*152|0)+40>>2]=-(o*E-F*s);g[S+(U*152|0)+44>>2]=0.0}else{c[S+(U*152|0)+32>>2]=0;c[S+(U*152|0)+36>>2]=0;c[S+(U*152|0)+40>>2]=0;c[S+(U*152|0)+44>>2]=0;c[S+(U*152|0)+48>>2]=0;c[S+(U*152|0)+52>>2]=0;c[S+(U*152|0)+56>>2]=0;c[S+(U*152|0)+60>>2]=0}G=+g[p>>2]+ +g[f+56>>2];if(r){o=+g[r+332>>2];A=+g[r+336>>2];B=+g[r+328>>2];z=o*x-A*C+ +g[r+312>>2];A=+g[r+316>>2]+(A*y-x*B);o=C*B-o*y+ +g[r+320>>2]}else{z=0.0;A=0.0;o=0.0}if(q){u=+g[q+332>>2];t=+g[q+336>>2];C=+g[q+328>>2];s=u*D-t*F+ +g[q+312>>2];t=+g[q+316>>2]+(t*E-D*C);u=F*C-u*E+ +g[q+320>>2]}else{s=0.0;t=0.0;u=0.0}B=+g[Q>>2]*(z-s)+(A-t)*+g[N>>2]+(o-u)*+g[M>>2];g[S+(U*152|0)+104>>2]=+g[W+(ca*184|0)+88>>2];B=B*+g[W+(ca*184|0)+96>>2];B=!(B>=-0.0)?-B:0.0;do if(!(c[f+64>>2]&4))g[S+(U*152|0)+100>>2]=0.0;else{u=+g[W+(ca*184|0)+124>>2]*+g[f+60>>2];g[S+(U*152|0)+100>>2]=u;do if(r){if(!(c[n+($*244|0)+240>>2]|0))break;F=u*(+g[S+(U*152|0)+20>>2]*+g[n+($*244|0)+132>>2]*+g[r+352>>2])*+g[n+($*244|0)+116>>2];E=u*(+g[S+(U*152|0)+24>>2]*+g[n+($*244|0)+136>>2]*+g[r+356>>2])*+g[n+($*244|0)+120>>2];g[n+($*244|0)+64>>2]=+g[n+($*244|0)+112>>2]*(u*(+g[S+(U*152|0)+16>>2]*+g[n+($*244|0)+128>>2]*+g[r+348>>2]))+ +g[n+($*244|0)+64>>2];g[n+($*244|0)+68>>2]=F+ +g[n+($*244|0)+68>>2];g[n+($*244|0)+72>>2]=E+ +g[n+($*244|0)+72>>2];E=u*+g[n+($*244|0)+100>>2]*+g[S+(U*152|0)+68>>2];F=u*+g[n+($*244|0)+104>>2]*+g[S+(U*152|0)+72>>2];g[n+($*244|0)+80>>2]=u*+g[n+($*244|0)+96>>2]*+g[S+(U*152|0)+64>>2]+ +g[n+($*244|0)+80>>2];g[n+($*244|0)+84>>2]=E+ +g[n+($*244|0)+84>>2];g[n+($*244|0)+88>>2]=F+ +g[n+($*244|0)+88>>2]}while(0);if(!q)break;o=+g[S+(U*152|0)+100>>2];if(!(c[n+(aa*244|0)+240>>2]|0))break;F=+g[S+(U*152|0)+88>>2];E=+g[S+(U*152|0)+84>>2];D=+g[S+(U*152|0)+80>>2];A=o*(+g[S+(U*152|0)+52>>2]*+g[n+(aa*244|0)+132>>2]*+g[q+352>>2])*+g[n+(aa*244|0)+116>>2];C=o*(+g[S+(U*152|0)+56>>2]*+g[n+(aa*244|0)+136>>2]*+g[q+356>>2])*+g[n+(aa*244|0)+120>>2];g[n+(aa*244|0)+64>>2]=+g[n+(aa*244|0)+112>>2]*(o*(+g[S+(U*152|0)+48>>2]*+g[n+(aa*244|0)+128>>2]*+g[q+348>>2]))+ +g[n+(aa*244|0)+64>>2];g[n+(aa*244|0)+68>>2]=A+ +g[n+(aa*244|0)+68>>2];g[n+(aa*244|0)+72>>2]=C+ +g[n+(aa*244|0)+72>>2];E=E*(+g[n+(aa*244|0)+100>>2]*-o);F=F*(+g[n+(aa*244|0)+104>>2]*-o);g[n+(aa*244|0)+80>>2]=+g[n+(aa*244|0)+80>>2]-D*(+g[n+(aa*244|0)+96>>2]*-o);g[n+(aa*244|0)+84>>2]=+g[n+(aa*244|0)+84>>2]-E;g[n+(aa*244|0)+88>>2]=+g[n+(aa*244|0)+88>>2]-F}while(0);g[S+(U*152|0)+96>>2]=0.0;if(!(c[n+($*244|0)+240>>2]|0)){u=0.0;t=0.0;s=0.0;k=0.0;w=0.0;x=0.0}else{u=+g[n+($*244|0)+208>>2];t=+g[n+($*244|0)+212>>2];s=+g[n+($*244|0)+216>>2];k=+g[n+($*244|0)+224>>2];w=+g[n+($*244|0)+228>>2];x=+g[n+($*244|0)+232>>2]}if(!(c[n+(aa*244|0)+240>>2]|0)){o=0.0;l=0.0;v=0.0;y=0.0;z=0.0;A=0.0}else{o=+g[n+(aa*244|0)+208>>2];l=+g[n+(aa*244|0)+212>>2];v=+g[n+(aa*244|0)+216>>2];y=+g[n+(aa*244|0)+224>>2];z=+g[n+(aa*244|0)+228>>2];A=+g[n+(aa*244|0)+232>>2]}o=B-((u+ +g[n+($*244|0)+176>>2])*+g[S+(U*152|0)+16>>2]+(t+ +g[n+($*244|0)+180>>2])*+g[S+(U*152|0)+20>>2]+(s+ +g[n+($*244|0)+184>>2])*+g[S+(U*152|0)+24>>2]+((k+ +g[n+($*244|0)+192>>2])*+g[S+(U*152|0)>>2]+(w+ +g[n+($*244|0)+196>>2])*+g[S+(U*152|0)+4>>2]+(x+ +g[n+($*244|0)+200>>2])*+g[S+(U*152|0)+8>>2])+((o+ +g[n+(aa*244|0)+176>>2])*+g[S+(U*152|0)+48>>2]+(l+ +g[n+(aa*244|0)+180>>2])*+g[S+(U*152|0)+52>>2]+(v+ +g[n+(aa*244|0)+184>>2])*+g[S+(U*152|0)+56>>2]+((y+ +g[n+(aa*244|0)+192>>2])*+g[S+(U*152|0)+32>>2]+(z+ +g[n+(aa*244|0)+196>>2])*+g[S+(U*152|0)+36>>2]+(A+ +g[n+(aa*244|0)+200>>2])*+g[S+(U*152|0)+40>>2])));r=(c[f+44>>2]|0)==0;if(G>0.0){s=0.0;o=o-G/+g[f+12>>2]}else s=-(G*+g[(r|G>+g[f+48>>2]?f+32|0:f+36|0)>>2])/+g[f+12>>2];F=+g[S+(U*152|0)+108>>2];s=s*F;o=o*F;if(r|G>+g[f+48>>2]){g[S+(U*152|0)+112>>2]=s+o;g[S+(U*152|0)+128>>2]=0.0}else{g[S+(U*152|0)+112>>2]=o;g[S+(U*152|0)+128>>2]=s}g[S+(U*152|0)+116>>2]=0.0;g[S+(U*152|0)+120>>2]=0.0;g[S+(U*152|0)+124>>2]=1.0e10;c[S+(U*152|0)+140>>2]=c[b+68>>2];if(!m){s=0.0;l=0.0;k=0.0}else{s=+g[m+328>>2];l=+g[m+332>>2];k=+g[m+336>>2]}if(!j){o=0.0;u=0.0;t=0.0}else{o=+g[j+328>>2];u=+g[j+332>>2];t=+g[j+336>>2]}v=o-s;u=u-l;s=t-k;g[ea+32>>2]=v;g[ea+36>>2]=u;g[ea+40>>2]=s;g[ea+44>>2]=0.0;do if((h|0)>0?+g[W+(ca*184|0)+92>>2]>0.0:0){h=h+-1|0;o=+P(+(v*v+u*u+s*s));if(o>+g[f+80>>2]){k=v*(1.0/o);g[ea+32>>2]=k;l=u*(1.0/o);g[ea+36>>2]=l;o=s*(1.0/o);g[ea+40>>2]=o;do if(Y){if(!(c[Y+180>>2]&2))break;s=+g[Y+4>>2];z=+g[Y+20>>2];C=+g[Y+36>>2];w=+g[Y+8>>2];A=+g[Y+24>>2];E=+g[Y+40>>2];v=+g[Y+12>>2];B=+g[Y+28>>2];G=+g[Y+44>>2];D=(s*k+z*l+o*C)*+g[Y+164>>2];F=(k*w+l*A+o*E)*+g[Y+168>>2];o=(k*v+l*B+o*G)*+g[Y+172>>2];g[ea+32>>2]=s*D+w*F+v*o;g[ea+36>>2]=z*D+A*F+B*o;g[ea+40>>2]=C*D+E*F+G*o;g[ea+44>>2]=0.0;k=s*D+w*F+v*o;l=z*D+A*F+B*o;o=C*D+E*F+G*o}while(0);do if(Z){if(!(c[Z+180>>2]&2))break;s=+g[Z+4>>2];z=+g[Z+20>>2];C=+g[Z+36>>2];w=+g[Z+8>>2];A=+g[Z+24>>2];E=+g[Z+40>>2];v=+g[Z+12>>2];B=+g[Z+28>>2];G=+g[Z+44>>2];D=(s*k+z*l+C*o)*+g[Z+164>>2];F=(k*w+l*A+o*E)*+g[Z+168>>2];o=(k*v+l*B+o*G)*+g[Z+172>>2];g[ea+32>>2]=s*D+w*F+v*o;g[ea+36>>2]=z*D+A*F+B*o;g[ea+40>>2]=C*D+E*F+G*o;g[ea+44>>2]=0.0;k=s*D+w*F+v*o;l=z*D+A*F+B*o;o=C*D+E*F+G*o}while(0);if(!(+P(+(k*k+l*l+o*o))>.001))break;Qr(b,ea+32|0,$,aa,U,T);break}Qr(b,Q,$,aa,U,T);o=+g[M>>2];if(+O(+o)>.7071067690849304){k=+g[N>>2];G=1.0/+P(+(o*o+k*k));g[ea+16>>2]=0.0;g[ea+20>>2]=-(G*o);g[ea+24>>2]=G*k;g[ea>>2]=(o*o+k*k)*G;F=+g[Q>>2];g[ea+4>>2]=-(F*(G*k));v=F*-(G*o);l=0.0;s=-(G*o);u=G*k;t=(o*o+k*k)*G;k=-(F*(G*k))}else{t=+g[Q>>2];G=+g[N>>2];k=1.0/+P(+(t*t+G*G));g[ea+16>>2]=-(G*k);g[ea+20>>2]=k*t;g[ea+24>>2]=0.0;g[ea>>2]=-(o*(k*t));g[ea+4>>2]=o*-(G*k);v=(t*t+G*G)*k;l=-(G*k);s=k*t;u=0.0;t=-(o*(k*t));k=o*-(G*k)}g[ea+8>>2]=v;do if(!Y)o=u;else{if(!(c[Y+180>>2]&2)){o=u;break}y=+g[Y+4>>2];z=+g[Y+20>>2];C=+g[Y+36>>2];x=+g[Y+8>>2];A=+g[Y+24>>2];E=+g[Y+40>>2];w=+g[Y+12>>2];B=+g[Y+28>>2];G=+g[Y+44>>2];D=(y*l+z*s+C*u)*+g[Y+164>>2];F=(l*x+s*A+u*E)*+g[Y+168>>2];o=(l*w+s*B+u*G)*+g[Y+172>>2];g[ea+16>>2]=y*D+x*F+w*o;g[ea+20>>2]=z*D+A*F+B*o;g[ea+24>>2]=C*D+E*F+G*o;g[ea+28>>2]=0.0;l=y*D+x*F+w*o;s=z*D+A*F+B*o;o=C*D+E*F+G*o}while(0);do if(!Z)u=o;else{if(!(c[Z+180>>2]&2)){u=o;break}y=+g[Z+4>>2];z=+g[Z+20>>2];C=+g[Z+36>>2];x=+g[Z+8>>2];A=+g[Z+24>>2];E=+g[Z+40>>2];w=+g[Z+12>>2];B=+g[Z+28>>2];G=+g[Z+44>>2];D=(y*l+z*s+C*o)*+g[Z+164>>2];F=(l*x+s*A+o*E)*+g[Z+168>>2];u=(l*w+s*B+o*G)*+g[Z+172>>2];g[ea+16>>2]=y*D+x*F+w*u;g[ea+20>>2]=z*D+A*F+B*u;g[ea+24>>2]=C*D+E*F+G*u;g[ea+28>>2]=0.0;l=y*D+x*F+w*u;s=z*D+A*F+B*u;u=C*D+E*F+G*u}while(0);do if(!Y)o=v;else{if(!(c[Y+180>>2]&2)){o=v;break}y=+g[Y+4>>2];z=+g[Y+20>>2];C=+g[Y+36>>2];x=+g[Y+8>>2];A=+g[Y+24>>2];E=+g[Y+40>>2];w=+g[Y+12>>2];B=+g[Y+28>>2];G=+g[Y+44>>2];D=(y*t+z*k+C*v)*+g[Y+164>>2];F=(t*x+k*A+v*E)*+g[Y+168>>2];o=(t*w+k*B+v*G)*+g[Y+172>>2];g[ea>>2]=y*D+x*F+w*o;g[ea+4>>2]=z*D+A*F+B*o;g[ea+8>>2]=C*D+E*F+G*o;g[ea+12>>2]=0.0;t=y*D+x*F+w*o;k=z*D+A*F+B*o;o=C*D+E*F+G*o}while(0);do if(Z){if(!(c[Z+180>>2]&2))break;x=+g[Z+4>>2];z=+g[Z+20>>2];C=+g[Z+36>>2];w=+g[Z+8>>2];A=+g[Z+24>>2];E=+g[Z+40>>2];v=+g[Z+12>>2];B=+g[Z+28>>2];G=+g[Z+44>>2];D=(x*t+z*k+C*o)*+g[Z+164>>2];F=(t*w+k*A+o*E)*+g[Z+168>>2];o=(t*v+k*B+o*G)*+g[Z+172>>2];g[ea>>2]=x*D+w*F+v*o;g[ea+4>>2]=z*D+A*F+B*o;g[ea+8>>2]=C*D+E*F+G*o;g[ea+12>>2]=0.0;t=x*D+w*F+v*o;k=z*D+A*F+B*o;o=C*D+E*F+G*o}while(0);if(+P(+(l*l+s*s+u*u))>.001)Qr(b,ea+16|0,$,aa,U,T);if(!(+P(+(t*t+k*k+o*o))>.001))break;Qr(b,ea,$,aa,U,T)}while(0);do if(!(c[f+64>>2]&32))da=100;else{if(!(a[W+(ca*184|0)+120>>0]|0)){da=100;break}Pr(b,W+(ca*184|0)+156|0,$,aa,U,T,ea+64|0,ea+48|0,1.0,+g[W+(ca*184|0)+136>>2],+g[W+(ca*184|0)+144>>2]);if(!(c[f+64>>2]&16))break;Pr(b,W+(ca*184|0)+172|0,$,aa,U,T,ea+64|0,ea+48|0,1.0,+g[W+(ca*184|0)+140>>2],+g[W+(ca*184|0)+148>>2])}while(0);do if((da|0)==100){da=0;n=W+(ca*184|0)+156|0;s=+g[Q>>2];l=+g[N>>2];v=+g[M>>2];u=R-(R*H+L*I+K*J)*s;t=L-(R*H+L*I+K*J)*l;o=K-(R*H+L*I+K*J)*v;g[W+(ca*184|0)+156>>2]=u;r=W+(ca*184|0)+160|0;g[r>>2]=t;p=W+(ca*184|0)+164|0;g[p>>2]=o;g[W+(ca*184|0)+168>>2]=0.0;if((c[f+64>>2]&64|0)==0?u*u+t*t+o*o>1.1920928955078125e-07:0){K=1.0/+P(+(u*u+t*t+o*o));g[n>>2]=u*K;g[r>>2]=K*t;g[p>>2]=K*o;Or(Y,n);Or(Z,n);Pr(b,n,$,aa,U,T,ea+64|0,ea+48|0,1.0,0.0,0.0);if(!(c[f+64>>2]&16))break;j=W+(ca*184|0)+172|0;G=+g[r>>2];D=+g[M>>2];C=+g[p>>2];E=+g[N>>2];J=+g[Q>>2];F=+g[n>>2];g[W+(ca*184|0)+172>>2]=G*D-C*E;g[W+(ca*184|0)+184>>2]=0.0;K=1.0/+P(+((G*D-C*E)*(G*D-C*E)+(C*J-D*F)*(C*J-D*F)+(E*F-G*J)*(E*F-G*J)));g[j>>2]=(G*D-C*E)*K;g[W+(ca*184|0)+176>>2]=(C*J-D*F)*K;g[W+(ca*184|0)+180>>2]=(E*F-G*J)*K;Or(Y,j);Or(Z,j);Pr(b,j,$,aa,U,T,ea+64|0,ea+48|0,1.0,0.0,0.0);break}q=W+(ca*184|0)+172|0;if(+O(+v)>.7071067690849304){K=1.0/+P(+(v*v+l*l));g[n>>2]=0.0;g[r>>2]=-(K*v);g[p>>2]=K*l;k=(v*v+l*l)*K;o=-(s*(K*l));l=s*-(K*v)}else{K=1.0/+P(+(s*s+l*l));g[n>>2]=-(l*K);g[r>>2]=K*s;g[p>>2]=0.0;k=-(v*(K*s));o=v*-(l*K);l=(s*s+l*l)*K}g[q>>2]=k;g[W+(ca*184|0)+176>>2]=o;g[W+(ca*184|0)+180>>2]=l;Or(Y,n);Or(Z,n);Pr(b,n,$,aa,U,T,ea+64|0,ea+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0;if(j&16){Or(Y,q);Or(Z,q);Pr(b,q,$,aa,U,T,ea+64|0,ea+48|0,1.0,0.0,0.0);j=c[f+64>>2]|0}if((j&80|0)!=80)break;a[W+(ca*184|0)+120>>0]=1}while(0);r=c[b+16>>2]|0;m=c[r+($*244|0)+240>>2]|0;j=c[r+(aa*244|0)+240>>2]|0;p=c[S+(U*152|0)+140>>2]|0;q=c[b+76>>2]|0;n=c[f+64>>2]|0;do if(!(n&4))g[q+(p*152|0)+100>>2]=0.0;else{l=+g[W+(ca*184|0)+128>>2]*+g[f+60>>2];g[q+(p*152|0)+100>>2]=l;if(m){G=+g[m+344>>2];K=l*(G*+g[q+(p*152|0)+20>>2]*+g[m+352>>2])*+g[r+($*244|0)+116>>2];J=l*(G*+g[q+(p*152|0)+24>>2]*+g[m+356>>2])*+g[r+($*244|0)+120>>2];g[r+($*244|0)+64>>2]=+g[r+($*244|0)+112>>2]*(l*(G*+g[q+(p*152|0)+16>>2]*+g[m+348>>2]))+ +g[r+($*244|0)+64>>2];g[r+($*244|0)+68>>2]=K+ +g[r+($*244|0)+68>>2];g[r+($*244|0)+72>>2]=J+ +g[r+($*244|0)+72>>2];J=l*+g[r+($*244|0)+100>>2]*+g[q+(p*152|0)+68>>2];K=l*+g[r+($*244|0)+104>>2]*+g[q+(p*152|0)+72>>2];g[r+($*244|0)+80>>2]=l*+g[r+($*244|0)+96>>2]*+g[q+(p*152|0)+64>>2]+ +g[r+($*244|0)+80>>2];g[r+($*244|0)+84>>2]=J+ +g[r+($*244|0)+84>>2];g[r+($*244|0)+88>>2]=K+ +g[r+($*244|0)+88>>2]}if(!j)break;l=+g[j+344>>2];k=+g[q+(p*152|0)+100>>2];if(!(c[r+(aa*244|0)+240>>2]|0))break;K=+g[q+(p*152|0)+88>>2];J=+g[q+(p*152|0)+84>>2];G=+g[q+(p*152|0)+80>>2];E=k*(l*+g[q+(p*152|0)+52>>2]*+g[j+352>>2])*+g[r+(aa*244|0)+116>>2];F=k*(l*+g[q+(p*152|0)+56>>2]*+g[j+356>>2])*+g[r+(aa*244|0)+120>>2];g[r+(aa*244|0)+64>>2]=+g[r+(aa*244|0)+112>>2]*(k*(l*+g[q+(p*152|0)+48>>2]*+g[j+348>>2]))+ +g[r+(aa*244|0)+64>>2];g[r+(aa*244|0)+68>>2]=E+ +g[r+(aa*244|0)+68>>2];g[r+(aa*244|0)+72>>2]=F+ +g[r+(aa*244|0)+72>>2];J=J*(+g[r+(aa*244|0)+100>>2]*-k);K=K*(+g[r+(aa*244|0)+104>>2]*-k);g[r+(aa*244|0)+80>>2]=+g[r+(aa*244|0)+80>>2]-G*(+g[r+(aa*244|0)+96>>2]*-k);g[r+(aa*244|0)+84>>2]=+g[r+(aa*244|0)+84>>2]-J;g[r+(aa*244|0)+88>>2]=+g[r+(aa*244|0)+88>>2]-K}while(0);do if(n&16){if(!(n&4)){g[q+((p+1|0)*152|0)+100>>2]=0.0;break}k=+g[W+(ca*184|0)+132>>2]*+g[f+60>>2];g[q+((p+1|0)*152|0)+100>>2]=k;do if(m){l=+g[m+344>>2];if(!(c[r+($*244|0)+240>>2]|0))break;K=k*(l*+g[q+((p+1|0)*152|0)+20>>2])*+g[r+($*244|0)+116>>2];J=k*(l*+g[q+((p+1|0)*152|0)+24>>2])*+g[r+($*244|0)+120>>2];g[r+($*244|0)+64>>2]=+g[r+($*244|0)+112>>2]*(k*(l*+g[q+((p+1|0)*152|0)+16>>2]))+ +g[r+($*244|0)+64>>2];g[r+($*244|0)+68>>2]=K+ +g[r+($*244|0)+68>>2];g[r+($*244|0)+72>>2]=J+ +g[r+($*244|0)+72>>2];J=k*+g[r+($*244|0)+100>>2]*+g[q+((p+1|0)*152|0)+68>>2];K=k*+g[r+($*244|0)+104>>2]*+g[q+((p+1|0)*152|0)+72>>2];g[r+($*244|0)+80>>2]=k*+g[r+($*244|0)+96>>2]*+g[q+((p+1|0)*152|0)+64>>2]+ +g[r+($*244|0)+80>>2];g[r+($*244|0)+84>>2]=J+ +g[r+($*244|0)+84>>2];g[r+($*244|0)+88>>2]=K+ +g[r+($*244|0)+88>>2]}while(0);if(!j)break;k=+g[j+344>>2];l=+g[q+((p+1|0)*152|0)+100>>2];if(!(c[r+(aa*244|0)+240>>2]|0))break;K=+g[q+((p+1|0)*152|0)+88>>2];J=+g[q+((p+1|0)*152|0)+84>>2];G=+g[q+((p+1|0)*152|0)+80>>2];E=l*(k*+g[q+((p+1|0)*152|0)+52>>2])*+g[r+(aa*244|0)+116>>2];F=l*(k*+g[q+((p+1|0)*152|0)+56>>2])*+g[r+(aa*244|0)+120>>2];g[r+(aa*244|0)+64>>2]=+g[r+(aa*244|0)+112>>2]*(l*(k*+g[q+((p+1|0)*152|0)+48>>2]))+ +g[r+(aa*244|0)+64>>2];g[r+(aa*244|0)+68>>2]=E+ +g[r+(aa*244|0)+68>>2];g[r+(aa*244|0)+72>>2]=F+ +g[r+(aa*244|0)+72>>2];J=J*(+g[r+(aa*244|0)+100>>2]*-l);K=K*(+g[r+(aa*244|0)+104>>2]*-l);g[r+(aa*244|0)+80>>2]=+g[r+(aa*244|0)+80>>2]-G*(+g[r+(aa*244|0)+96>>2]*-l);g[r+(aa*244|0)+84>>2]=+g[r+(aa*244|0)+84>>2]-J;g[r+(aa*244|0)+88>>2]=+g[r+(aa*244|0)+88>>2]-K}while(0);j=c[W+748>>2]|0}ca=ca+1|0}while((ca|0)<(j|0))}ba=ba+1|0}while((ba|0)!=(e|0));i=ea;return}function Tr(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.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,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,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0;X=i;i=i+320|0;c[b+188>>2]=-1;aE(4032);c[b+184>>2]=0;if((e|0)>0){m=0;do{c[(c[d+(m<<2)>>2]|0)+212>>2]=-1;m=m+1|0}while((m|0)!=(e|0))}m=c[b+12>>2]|0;if((m|0)<(e+1|0)){if((e+1|0)!=0?(c[5108]=(c[5108]|0)+1,p=QE(((e+1|0)*244|3)+16|0)|0,(p|0)!=0):0){c[(p+19&-16)+-4>>2]=p;o=p+19&-16}else o=0;m=c[b+8>>2]|0;if((m|0)>0){p=0;do{t=o+(p*244|0)|0;S=c[b+16>>2]|0;s=S+(p*244|0)|0;c[t+0>>2]=c[s+0>>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];t=o+(p*244|0)+16|0;s=S+(p*244|0)+16|0;c[t+0>>2]=c[s+0>>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];t=o+(p*244|0)+32|0;s=S+(p*244|0)+32|0;c[t+0>>2]=c[s+0>>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];t=o+(p*244|0)+48|0;s=S+(p*244|0)+48|0;c[t+0>>2]=c[s+0>>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];YE(o+(p*244|0)+64|0,S+(p*244|0)+64|0,180)|0;p=p+1|0}while((p|0)!=(m|0))}m=c[b+16>>2]|0;if(m){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=o;c[b+12>>2]=e+1;m=e+1|0;o=b+8|0}else o=b+8|0;VE(X+56|0,0,244)|0;p=c[o>>2]|0;if((p|0)<0){if((m|0)<0){m=c[b+16>>2]|0;if(m){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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}m=p;do{S=c[b+16>>2]|0;t=S+(m*244|0)|0;c[t+0>>2]=c[X+56>>2];c[t+4>>2]=c[X+60>>2];c[t+8>>2]=c[X+64>>2];c[t+12>>2]=c[X+68>>2];t=S+(m*244|0)+16|0;c[t+0>>2]=c[X+72>>2];c[t+4>>2]=c[X+76>>2];c[t+8>>2]=c[X+80>>2];c[t+12>>2]=c[X+84>>2];t=S+(m*244|0)+32|0;c[t+0>>2]=c[X+88>>2];c[t+4>>2]=c[X+92>>2];c[t+8>>2]=c[X+96>>2];c[t+12>>2]=c[X+100>>2];t=S+(m*244|0)+48|0;c[t+0>>2]=c[X+104>>2];c[t+4>>2]=c[X+108>>2];c[t+8>>2]=c[X+112>>2];c[t+12>>2]=c[X+116>>2];YE(S+(m*244|0)+64|0,X+120|0,180)|0;m=m+1|0}while((m|0)!=0)}c[o>>2]=0;if((e|0)>0){s=0;do{r=d+(s<<2)|0;t=Rr(b,c[r>>2]|0,+g[l+12>>2])|0;r=c[r>>2]|0;r=(c[r+236>>2]&2|0)==0?0:r;if(((r|0)!=0?+g[r+344>>2]!=0.0:0)?(n=c[b+16>>2]|0,(c[r+504>>2]&2|0)!=0):0){u=+g[l+76>>2];I=1.0/+g[r+396>>2];M=1.0/+g[r+400>>2];q=1.0/+g[r+404>>2];E=+g[r+4>>2];F=+g[r+8>>2];G=+g[r+12>>2];H=+g[r+20>>2];K=+g[r+24>>2];Q=+g[r+28>>2];J=+g[r+36>>2];N=+g[r+40>>2];w=+g[r+44>>2];y=+g[r+328>>2];z=+g[r+332>>2];v=+g[r+336>>2];B=(E*(I*E)+F*(M*F)+G*(q*G))*y+(I*E*H+M*F*K+q*G*Q)*z+(I*E*J+M*F*N+q*G*w)*v;A=(E*(I*H)+F*(M*K)+G*(q*Q))*y+(H*(I*H)+K*(M*K)+Q*(q*Q))*z+(I*H*J+M*K*N+q*Q*w)*v;w=v*(J*(I*J)+N*(M*N)+w*(q*w))+(y*(E*(I*J)+F*(M*N)+G*(q*w))+z*(H*(I*J)+K*(M*N)+Q*(q*w)));q=(z*w-v*A)*(z*w-v*A)+(v*B-y*w)*(v*B-y*w)+(y*A-z*B)*(y*A-z*B);if(q>u*u){q=1.0/+P(+q)*u;x=(z*w-v*A)*q;u=q*(v*B-y*w);q=q*(y*A-z*B)}else{x=z*w-v*A;u=v*B-y*w;q=y*A-z*B}M=+g[l+12>>2];N=(x*+g[r+268>>2]+u*+g[r+284>>2]+q*+g[r+300>>2])*M;Q=M*(x*+g[r+272>>2]+u*+g[r+288>>2]+q*+g[r+304>>2]);g[n+(t*244|0)+224>>2]=+g[n+(t*244|0)+224>>2]-(x*+g[r+264>>2]+u*+g[r+280>>2]+q*+g[r+296>>2])*M;g[n+(t*244|0)+228>>2]=+g[n+(t*244|0)+228>>2]-N;g[n+(t*244|0)+232>>2]=+g[n+(t*244|0)+232>>2]-Q}s=s+1|0}while((s|0)!=(e|0))}if((k|0)>0){o=0;do{S=c[j+(o<<2)>>2]|0;Jb[c[(c[S>>2]|0)+8>>2]&255](S);g[S+36>>2]=0.0;o=o+1|0}while((o|0)<(k|0))}o=c[b+168>>2]|0;if((o|0)<(k|0)?(c[b+172>>2]|0)<(k|0):0){if(!k)m=0;else{c[5108]=(c[5108]|0)+1;o=QE((k<<3|3)+16|0)|0;if(!o)m=0;else{c[(o+19&-16)+-4>>2]=o;m=o+19&-16}o=c[b+168>>2]|0}if((o|0)>0){n=0;do{p=m+(n<<3)|0;if(p){t=(c[b+176>>2]|0)+(n<<3)|0;S=c[t+4>>2]|0;c[p>>2]=c[t>>2];c[p+4>>2]=S}n=n+1|0}while((n|0)!=(o|0))}o=c[b+176>>2]|0;if(o){if(a[b+180>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[b+176>>2]=0}a[b+180>>0]=1;c[b+176>>2]=m;c[b+172>>2]=k}c[b+168>>2]=k;if((k|0)>0){t=0;o=0;do{r=c[b+176>>2]|0;s=r+(t<<3)|0;n=j+(t<<2)|0;m=c[n>>2]|0;p=c[m+44>>2]|0;if(p){m=p+0|0;p=m+64|0;do{c[m>>2]=0;m=m+4|0}while((m|0)<(p|0));m=c[n>>2]|0}if(!(a[m+20>>0]|0)){c[s>>2]=0;c[r+(t<<3)+4>>2]=0;m=0}else{Lb[c[(c[m>>2]|0)+16>>2]&127](m,s);m=c[s>>2]|0}o=m+o|0;t=t+1|0}while((t|0)<(k|0));n=o}else n=0;o=c[b+48>>2]|0;if((o|0)<(n|0)?(c[b+52>>2]|0)<(n|0):0){if(!n)p=0;else{c[5108]=(c[5108]|0)+1;p=QE((n*152|3)+16|0)|0;if(!p)m=0;else{c[(p+19&-16)+-4>>2]=p;m=p+19&-16}o=c[b+48>>2]|0;p=m}if((o|0)>0){m=0;do{YE(p+(m*152|0)|0,(c[b+56>>2]|0)+(m*152|0)|0,152)|0;m=m+1|0}while((m|0)!=(o|0))}m=c[b+56>>2]|0;if(m){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=p;c[b+52>>2]=n}c[b+48>>2]=n;if((k|0)>0){m=c[b+176>>2]|0;V=0;W=0;while(1){U=m+(W<<3)|0;if(!(c[U>>2]|0))p=0;else{d=c[b+56>>2]|0;p=j+(W<<2)|0;r=c[p>>2]|0;T=c[r+28>>2]|0;S=c[r+32>>2]|0;o=Rr(b,T,+g[l+12>>2])|0;n=Rr(b,S,+g[l+12>>2])|0;m=c[b+16>>2]|0;t=c[r+24>>2]|0;t=(t|0)>0?t:c[l+20>>2]|0;if((t|0)>(c[b+184>>2]|0))c[b+184>>2]=t;if((c[U>>2]|0)>0){s=0;do{e=s+V|0;VE(d+(e*152|0)|0,0,152)|0;g[d+(e*152|0)+120>>2]=-3402823466385288598117041.0e14;g[d+(e*152|0)+124>>2]=3402823466385288598117041.0e14;g[d+(e*152|0)+100>>2]=0.0;g[d+(e*152|0)+96>>2]=0.0;c[d+(e*152|0)+144>>2]=o;c[d+(e*152|0)+148>>2]=n;c[d+(e*152|0)+136>>2]=t;s=s+1|0}while((s|0)<(c[U>>2]|0))}c[m+(o*244|0)+64>>2]=0;c[m+(o*244|0)+68>>2]=0;c[m+(o*244|0)+72>>2]=0;c[m+(o*244|0)+76>>2]=0;c[m+(o*244|0)+80>>2]=0;c[m+(o*244|0)+84>>2]=0;c[m+(o*244|0)+88>>2]=0;c[m+(o*244|0)+92>>2]=0;c[m+(o*244|0)+144>>2]=0;c[m+(o*244|0)+148>>2]=0;c[m+(o*244|0)+152>>2]=0;c[m+(o*244|0)+156>>2]=0;c[m+(o*244|0)+160>>2]=0;c[m+(o*244|0)+164>>2]=0;c[m+(o*244|0)+168>>2]=0;c[m+(o*244|0)+172>>2]=0;c[m+(n*244|0)+64>>2]=0;c[m+(n*244|0)+68>>2]=0;c[m+(n*244|0)+72>>2]=0;c[m+(n*244|0)+76>>2]=0;c[m+(n*244|0)+80>>2]=0;c[m+(n*244|0)+84>>2]=0;c[m+(n*244|0)+88>>2]=0;c[m+(n*244|0)+92>>2]=0;c[m+(n*244|0)+144>>2]=0;c[m+(n*244|0)+148>>2]=0;c[m+(n*244|0)+152>>2]=0;c[m+(n*244|0)+156>>2]=0;c[m+(n*244|0)+160>>2]=0;c[m+(n*244|0)+164>>2]=0;c[m+(n*244|0)+168>>2]=0;c[m+(n*244|0)+172>>2]=0;g[X>>2]=1.0/+g[l+12>>2];g[X+4>>2]=+g[l+32>>2];c[X+8>>2]=d+(V*152|0)+16;c[X+12>>2]=d+(V*152|0);c[X+16>>2]=d+(V*152|0)+48;c[X+20>>2]=d+(V*152|0)+32;c[X+24>>2]=38;c[X+28>>2]=d+(V*152|0)+112;t=d+(V*152|0)+116|0;g[t>>2]=+g[l+40>>2];g[X+52>>2]=+g[l+4>>2];c[X+32>>2]=t;c[X+36>>2]=d+(V*152|0)+120;c[X+40>>2]=d+(V*152|0)+124;c[X+48>>2]=c[l+20>>2];t=c[p>>2]|0;Lb[c[(c[t>>2]|0)+20>>2]&127](t,X);if((c[U>>2]|0)>0){e=0;do{t=e+V|0;u=+g[(c[p>>2]|0)+16>>2];if(+g[d+(t*152|0)+124>>2]>=u)g[d+(t*152|0)+124>>2]=u;if(+g[d+(t*152|0)+120>>2]<=-u)g[d+(t*152|0)+120>>2]=-u;c[d+(t*152|0)+132>>2]=r;s=c[r+28>>2]|0;D=+g[d+(t*152|0)>>2];G=+g[d+(t*152|0)+4>>2];A=+g[d+(t*152|0)+8>>2];F=(D*+g[s+280>>2]+G*+g[s+284>>2]+A*+g[s+288>>2])*+g[s+548>>2];H=(D*+g[s+296>>2]+G*+g[s+300>>2]+A*+g[s+304>>2])*+g[s+552>>2];g[d+(t*152|0)+64>>2]=(+g[s+264>>2]*D+ +g[s+268>>2]*G+ +g[s+272>>2]*A)*+g[s+544>>2];g[d+(t*152|0)+68>>2]=F;g[d+(t*152|0)+72>>2]=H;g[d+(t*152|0)+76>>2]=0.0;s=c[r+32>>2]|0;H=+g[d+(t*152|0)+32>>2];F=+g[d+(t*152|0)+36>>2];A=+g[d+(t*152|0)+40>>2];G=(H*+g[s+280>>2]+F*+g[s+284>>2]+A*+g[s+288>>2])*+g[s+548>>2];D=(H*+g[s+296>>2]+F*+g[s+300>>2]+A*+g[s+304>>2])*+g[s+552>>2];g[d+(t*152|0)+80>>2]=(+g[s+264>>2]*H+ +g[s+268>>2]*F+ +g[s+272>>2]*A)*+g[s+544>>2];g[d+(t*152|0)+84>>2]=G;g[d+(t*152|0)+88>>2]=D;g[d+(t*152|0)+92>>2]=0.0;D=+g[T+344>>2];G=+g[d+(t*152|0)+16>>2];H=+g[d+(t*152|0)+20>>2];I=+g[d+(t*152|0)+24>>2];J=+g[d+(t*152|0)>>2];K=+g[d+(t*152|0)+4>>2];L=+g[d+(t*152|0)+8>>2];E=+g[S+344>>2];M=+g[d+(t*152|0)+48>>2];N=+g[d+(t*152|0)+52>>2];Q=+g[d+(t*152|0)+56>>2];R=+g[d+(t*152|0)+32>>2];A=G*(D*G)+H*(D*H)+I*(D*I)+(J*(+g[T+264>>2]*J+ +g[T+268>>2]*K+ +g[T+272>>2]*L)+K*(J*+g[T+280>>2]+K*+g[T+284>>2]+L*+g[T+288>>2])+L*(J*+g[T+296>>2]+K*+g[T+300>>2]+L*+g[T+304>>2]))+(M*(E*M)+N*(E*N)+Q*(E*Q))+(R*(+g[S+264>>2]*R+ +g[S+268>>2]*F+ +g[S+272>>2]*A)+F*(R*+g[S+280>>2]+F*+g[S+284>>2]+A*+g[S+288>>2])+A*(R*+g[S+296>>2]+F*+g[S+300>>2]+A*+g[S+304>>2]));if(+O(+A)>1.1920928955078125e-07)A=1.0/A;else A=0.0;g[d+(t*152|0)+108>>2]=A;if(!(c[m+(o*244|0)+240>>2]|0)){z=0.0;y=0.0;x=0.0;B=0.0;q=0.0;C=0.0}else{z=+g[m+(o*244|0)+208>>2];y=+g[m+(o*244|0)+212>>2];x=+g[m+(o*244|0)+216>>2];B=+g[m+(o*244|0)+224>>2];q=+g[m+(o*244|0)+228>>2];C=+g[m+(o*244|0)+232>>2]}if(!(c[m+(n*244|0)+240>>2]|0)){w=0.0;v=0.0;u=0.0;D=0.0;E=0.0;F=0.0}else{w=+g[m+(n*244|0)+208>>2];v=+g[m+(n*244|0)+212>>2];u=+g[m+(n*244|0)+216>>2];D=+g[m+(n*244|0)+224>>2];E=+g[m+(n*244|0)+228>>2];F=+g[m+(n*244|0)+232>>2]}g[d+(t*152|0)+112>>2]=+g[d+(t*152|0)+112>>2]*A+A*(0.0-+g[X+52>>2]*((z+ +g[T+312>>2])*G+(y+ +g[T+316>>2])*H+(x+ +g[T+320>>2])*I+((B+ +g[T+328>>2])*J+(q+ +g[T+332>>2])*K+(C+ +g[T+336>>2])*L)+((w+ +g[S+312>>2])*M+(v+ +g[S+316>>2])*N+(u+ +g[S+320>>2])*Q+((D+ +g[S+328>>2])*R+(E+ +g[S+332>>2])*+g[d+(t*152|0)+36>>2]+(F+ +g[S+336>>2])*+g[d+(t*152|0)+40>>2]))));g[d+(t*152|0)+100>>2]=0.0;e=e+1|0}while((e|0)<(c[U>>2]|0))}m=c[b+176>>2]|0;p=c[m+(W<<3)>>2]|0}W=W+1|0;if((W|0)>=(k|0))break;else V=p+V|0}}tc[c[(c[b>>2]|0)+28>>2]&127](b,f,h,l);t=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)<(t|0)?(c[b+132>>2]|0)<(t|0):0){if(!t)n=0;else{c[5108]=(c[5108]|0)+1;o=QE((t<<2|3)+16|0)|0;if(!o)n=0;else{c[(o+19&-16)+-4>>2]=o;n=o+19&-16}o=c[b+128>>2]|0}if((o|0)>0){p=0;do{m=n+(p<<2)|0;if(m)c[m>>2]=c[(c[b+136>>2]|0)+(p<<2)>>2];p=p+1|0}while((p|0)!=(o|0))}o=c[b+136>>2]|0;if(o){if(a[b+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[b+136>>2]=0}a[b+140>>0]=1;c[b+136>>2]=n;c[b+132>>2]=t}c[b+128>>2]=t;if(!(c[l+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[5108]=(c[5108]|0)+1;o=QE((e<<2|3)+16|0)|0;if(!o)n=0;else{c[(o+19&-16)+-4>>2]=o;n=o+19&-16}o=c[b+108>>2]|0}if((o|0)>0){m=0;do{p=n+(m<<2)|0;if(p)c[p>>2]=c[(c[b+116>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(o|0))}o=c[b+116>>2]|0;if(o){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>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[5108]=(c[5108]|0)+1;o=QE((e<<3|3)+16|0)|0;if(!o)n=0;else{c[(o+19&-16)+-4>>2]=o;n=o+19&-16}o=c[b+108>>2]|0}if((o|0)>0){m=0;do{p=n+(m<<2)|0;if(p)c[p>>2]=c[(c[b+116>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(o|0))}o=c[b+116>>2]|0;if(o){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[b+116>>2]=0}a[b+120>>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[5108]=(c[5108]|0)+1;o=QE((s<<2|3)+16|0)|0;if(!o)n=0;else{c[(o+19&-16)+-4>>2]=o;n=o+19&-16}o=c[b+148>>2]|0}if((o|0)>0){m=0;do{p=n+(m<<2)|0;if(p)c[p>>2]=c[(c[b+156>>2]|0)+(m<<2)>>2];m=m+1|0}while((m|0)!=(o|0))}o=c[b+156>>2]|0;if(o){if(a[b+160>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0)}c[b+156>>2]=0}a[b+160>>0]=1;c[b+156>>2]=n;c[b+152>>2]=s}c[b+148>>2]=s;if((t|0)>0){o=c[b+136>>2]|0;n=0;do{c[o+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=(t|0))}if((e|0)>0){o=c[b+116>>2]|0;n=0;do{c[o+(n<<2)>>2]=n;n=n+1|0}while((n|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[5104]|0;S=(c[n+16>>2]|0)+-1|0;c[n+16>>2]=S;if(S){i=X;return 0.0}do if(c[n+4>>2]|0){Cb(X+304|0,0)|0;S=c[5090]|0;g[n+8>>2]=+(((c[X+308>>2]|0)-(c[S+4>>2]|0)+(((c[X+304>>2]|0)-(c[S>>2]|0)|0)*1e6|0)-(c[n+12>>2]|0)|0)>>>0)/1.0e3+ +g[n+8>>2];if(!(c[n+16>>2]|0)){n=c[5104]|0;break}else{i=X;return 0.0}}while(0);c[5104]=c[n+20>>2];i=X;return 0.0}function Ur(b,d,e,f,h,j,k,l,m,n){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;n=n|0;var o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=i;e=c[b+48>>2]|0;r=c[b+28>>2]|0;s=c[b+68>>2]|0;if(c[m+64>>2]&1){if((e|0)>0){f=c[b+136>>2]|0;h=c[b+192>>2]|0;q=0;do{j=f+(q<<2)|0;n=c[j>>2]|0;q=q+1|0;h=($(h,1664525)|0)+1013904223|0;if(q>>>0<65537){p=h>>>16^h;if(q>>>0<257)if(q>>>0<17){p=(p>>>8^p)>>>4^(p>>>8^p);if(q>>>0<5)if(q>>>0<3)p=(p>>>2^p)>>>1^(p>>>2^p);else p=p>>>2^p}else p=p>>>8^p}else p=h;p=f+(((p>>>0)%(q>>>0)|0)<<2)|0;c[j>>2]=c[p>>2];c[p>>2]=n}while((q|0)!=(e|0));c[b+192>>2]=h}if((c[m+20>>2]|0)>(d|0)){if((r|0)>0){n=c[b+116>>2]|0;f=c[b+192>>2]|0;j=0;do{h=n+(j<<2)|0;e=c[h>>2]|0;j=j+1|0;f=($(f,1664525)|0)+1013904223|0;if(j>>>0<65537){p=f>>>16^f;if(j>>>0<257)if(j>>>0<17){p=(p>>>8^p)>>>4^(p>>>8^p);if(j>>>0<5)if(j>>>0<3)p=(p>>>2^p)>>>1^(p>>>2^p);else p=p>>>2^p}else p=p>>>8^p}else p=f;q=n+(((p>>>0)%(j>>>0)|0)<<2)|0;c[h>>2]=c[q>>2];c[q>>2]=e}while((j|0)!=(r|0));c[b+192>>2]=f}if((s|0)>0){n=c[b+156>>2]|0;f=c[b+192>>2]|0;j=0;do{h=n+(j<<2)|0;e=c[h>>2]|0;j=j+1|0;f=($(f,1664525)|0)+1013904223|0;if(j>>>0<65537){p=f>>>16^f;if(j>>>0<257)if(j>>>0<17){p=(p>>>8^p)>>>4^(p>>>8^p);if(j>>>0<5)if(j>>>0<3)p=(p>>>2^p)>>>1^(p>>>2^p);else p=p>>>2^p}else p=p>>>8^p}else p=f;r=n+(((p>>>0)%(j>>>0)|0)<<2)|0;c[h>>2]=c[r>>2];c[r>>2]=e}while((j|0)!=(s|0));c[b+192>>2]=f}}}e=c[b+48>>2]|0;if(!(c[m+64>>2]&256)){if((e|0)>0){j=0;do{f=c[(c[b+136>>2]|0)+(j<<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;Kr(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}j=j+1|0}while((j|0)<(e|0))}if((c[m+20>>2]|0)<=(d|0)){i=v;return 0.0}if((l|0)>0){h=0;do{f=k+(h<<2)|0;e=c[f>>2]|0;if(a[e+20>>0]|0){r=Rr(b,c[e+28>>2]|0,+g[m+12>>2])|0;d=Rr(b,c[(c[f>>2]|0)+32>>2]|0,+g[m+12>>2])|0;s=c[b+16>>2]|0;q=c[f>>2]|0;oc[c[(c[q>>2]|0)+24>>2]&15](q,s+(r*244|0)|0,s+(d*244|0)|0,+g[m+12>>2])}h=h+1|0}while((h|0)!=(l|0))}j=c[b+28>>2]|0;if((j|0)>0){h=0;do{d=c[(c[b+116>>2]|0)+(h<<2)>>2]|0;s=c[b+36>>2]|0;r=c[b+16>>2]|0;Lr(r+((c[s+(d*152|0)+144>>2]|0)*244|0)|0,r+((c[s+(d*152|0)+148>>2]|0)*244|0)|0,s+(d*152|0)|0);h=h+1|0}while((h|0)!=(j|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;j=c[b+76>>2]|0;o=+g[(c[b+36>>2]|0)+((c[j+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){o=o*+g[j+(h*152|0)+104>>2];g[j+(h*152|0)+120>>2]=-o;g[j+(h*152|0)+124>>2]=o;d=c[b+16>>2]|0;Kr(d+((c[j+(h*152|0)+144>>2]|0)*244|0)|0,d+((c[j+(h*152|0)+148>>2]|0)*244|0)|0,j+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}h=c[b+88>>2]|0;if((h|0)<=0){i=v;return 0.0}f=0;do{j=c[b+96>>2]|0;o=+g[(c[b+36>>2]|0)+((c[j+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){w=+g[j+(f*152|0)+104>>2];o=o*w>w?w:o*w;g[j+(f*152|0)+120>>2]=-o;g[j+(f*152|0)+124>>2]=o;d=c[b+16>>2]|0;Kr(d+((c[j+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[j+(f*152|0)+148>>2]|0)*244|0)|0,j+(f*152|0)|0)}f=f+1|0}while((f|0)!=(h|0));i=v;return 0.0}if((e|0)>0){p=0;do{f=c[(c[b+136>>2]|0)+(p<<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;Kr(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}p=p+1|0}while((p|0)<(e|0))}if((c[m+20>>2]|0)<=(d|0)){i=v;return 0.0}if((l|0)>0){h=0;do{f=k+(h<<2)|0;e=c[f>>2]|0;if(a[e+20>>0]|0){r=Rr(b,c[e+28>>2]|0,+g[m+12>>2])|0;d=Rr(b,c[(c[f>>2]|0)+32>>2]|0,+g[m+12>>2])|0;s=c[b+16>>2]|0;q=c[f>>2]|0;oc[c[(c[q>>2]|0)+24>>2]&15](q,s+(r*244|0)|0,s+(d*244|0)|0,+g[m+12>>2])}h=h+1|0}while((h|0)!=(l|0))}e=c[m+64>>2]|0;p=c[b+28>>2]|0;if(e&512){if((p|0)<=0){i=v;return 0.0}h=0;do{j=c[(c[b+116>>2]|0)+(h<<2)>>2]|0;n=c[b+36>>2]|0;f=c[b+16>>2]|0;Lr(f+((c[n+(j*152|0)+144>>2]|0)*244|0)|0,f+((c[n+(j*152|0)+148>>2]|0)*244|0)|0,n+(j*152|0)|0);o=+g[n+(j*152|0)+100>>2];j=$(h,(e>>>4&1)+1|0)|0;n=c[(c[b+156>>2]|0)+(j<<2)>>2]|0;f=c[b+76>>2]|0;if(o>0.0){w=o*+g[f+(n*152|0)+104>>2];g[f+(n*152|0)+120>>2]=-w;g[f+(n*152|0)+124>>2]=w;d=c[b+16>>2]|0;Kr(d+((c[f+(n*152|0)+144>>2]|0)*244|0)|0,d+((c[f+(n*152|0)+148>>2]|0)*244|0)|0,f+(n*152|0)|0)}if((c[m+64>>2]&16|0)!=0?(t=c[(c[b+156>>2]|0)+(j+1<<2)>>2]|0,u=c[b+76>>2]|0,o>0.0):0){o=o*+g[u+(t*152|0)+104>>2];g[u+(t*152|0)+120>>2]=-o;g[u+(t*152|0)+124>>2]=o;d=c[b+16>>2]|0;Kr(d+((c[u+(t*152|0)+144>>2]|0)*244|0)|0,d+((c[u+(t*152|0)+148>>2]|0)*244|0)|0,u+(t*152|0)|0)}h=h+1|0}while((h|0)!=(p|0));i=v;return 0.0}if((p|0)>0){j=0;do{d=c[(c[b+116>>2]|0)+(j<<2)>>2]|0;s=c[b+36>>2]|0;r=c[b+16>>2]|0;Lr(r+((c[s+(d*152|0)+144>>2]|0)*244|0)|0,r+((c[s+(d*152|0)+148>>2]|0)*244|0)|0,s+(d*152|0)|0);j=j+1|0}while((j|0)!=(p|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;j=c[b+76>>2]|0;o=+g[(c[b+36>>2]|0)+((c[j+(h*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){o=o*+g[j+(h*152|0)+104>>2];g[j+(h*152|0)+120>>2]=-o;g[j+(h*152|0)+124>>2]=o;d=c[b+16>>2]|0;Kr(d+((c[j+(h*152|0)+144>>2]|0)*244|0)|0,d+((c[j+(h*152|0)+148>>2]|0)*244|0)|0,j+(h*152|0)|0)}e=e+1|0}while((e|0)!=(f|0))}h=c[b+88>>2]|0;if((h|0)<=0){i=v;return 0.0}f=0;do{j=c[b+96>>2]|0;o=+g[(c[b+36>>2]|0)+((c[j+(f*152|0)+140>>2]|0)*152|0)+100>>2];if(o>0.0){w=+g[j+(f*152|0)+104>>2];o=o*w>w?w:o*w;g[j+(f*152|0)+120>>2]=-o;g[j+(f*152|0)+124>>2]=o;d=c[b+16>>2]|0;Kr(d+((c[j+(f*152|0)+144>>2]|0)*244|0)|0,d+((c[j+(f*152|0)+148>>2]|0)*244|0)|0,j+(f*152|0)|0)}f=f+1|0}while((f|0)!=(h|0));i=v;return 0.0}function Vr(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;f=i;if(!(c[j+44>>2]|0)){i=f;return}k=c[j+20>>2]|0;if(!(c[j+64>>2]&256)){if((k|0)<=0){i=f;return}b=0;do{g=c[a+28>>2]|0;if((g|0)>0){k=0;do{e=c[(c[a+116>>2]|0)+(k<<2)>>2]|0;d=c[a+36>>2]|0;h=c[a+16>>2]|0;Mr(h+((c[d+(e*152|0)+144>>2]|0)*244|0)|0,h+((c[d+(e*152|0)+148>>2]|0)*244|0)|0,d+(e*152|0)|0);k=k+1|0}while((k|0)!=(g|0));k=c[j+20>>2]|0}b=b+1|0}while((b|0)<(k|0));i=f;return}else{if((k|0)<=0){i=f;return}b=0;do{g=c[a+28>>2]|0;if((g|0)>0){k=0;do{e=c[(c[a+116>>2]|0)+(k<<2)>>2]|0;d=c[a+36>>2]|0;h=c[a+16>>2]|0;Mr(h+((c[d+(e*152|0)+144>>2]|0)*244|0)|0,h+((c[d+(e*152|0)+148>>2]|0)*244|0)|0,d+(e*152|0)|0);k=k+1|0}while((k|0)!=(g|0));k=c[j+20>>2]|0}b=b+1|0}while((b|0)<(k|0));i=f;return}}function Wr(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;aE(4064);cc[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{+gc[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[5104]|0;f=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=f;if(f){i=o;return 0.0}do if(c[m+4>>2]|0){Cb(o|0,0)|0;f=c[5090]|0;g[m+8>>2]=+(((c[o+4>>2]|0)-(c[f+4>>2]|0)+(((c[o>>2]|0)-(c[f>>2]|0)|0)*1e6|0)-(c[m+12>>2]|0)|0)>>>0)/1.0e3+ +g[m+8>>2];if(!(c[m+16>>2]|0)){m=c[5104]|0;break}else{i=o;return 0.0}}while(0);c[5104]=c[m+20>>2];i=o;return 0.0}function Xr(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.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0;q=i;i=i+80|0;d=c[b+28>>2]|0;e=c[f+64>>2]|0;if((e&4|0)!=0&(d|0)>0){j=c[b+36>>2]|0;h=c[b+76>>2]|0;if(!(e&16)){e=0;do{k=c[j+(e*152|0)+132>>2]|0;g[k+120>>2]=+g[j+(e*152|0)+100>>2];g[k+124>>2]=+g[h+((c[j+(e*152|0)+140>>2]|0)*152|0)+100>>2];e=e+1|0}while((e|0)!=(d|0))}else{e=0;do{k=c[j+(e*152|0)+132>>2]|0;g[k+120>>2]=+g[j+(e*152|0)+100>>2];l=c[j+(e*152|0)+140>>2]|0;g[k+124>>2]=+g[h+(l*152|0)+100>>2];g[k+128>>2]=+g[h+((l+1|0)*152|0)+100>>2];e=e+1|0}while((e|0)!=(d|0))}}e=c[b+48>>2]|0;if((e|0)>0){k=0;do{d=c[b+56>>2]|0;h=c[d+(k*152|0)+132>>2]|0;j=c[h+44>>2]|0;l=d+(k*152|0)+100|0;if(j){m=+g[l>>2];s=c[h+28>>2]|0;n=1.0/+g[f+12>>2];o=m*+g[d+(k*152|0)+20>>2]*+g[s+352>>2]*n;r=m*+g[d+(k*152|0)+24>>2]*+g[s+356>>2]*n;g[j>>2]=+g[d+(k*152|0)+16>>2]*m*+g[s+348>>2]*n+ +g[j>>2];g[j+4>>2]=o+ +g[j+4>>2];g[j+8>>2]=r+ +g[j+8>>2];r=+g[l>>2];s=c[h+32>>2]|0;o=1.0/+g[f+12>>2];n=r*+g[d+(k*152|0)+52>>2]*+g[s+352>>2]*o;m=r*+g[d+(k*152|0)+56>>2]*+g[s+356>>2]*o;g[j+32>>2]=+g[d+(k*152|0)+48>>2]*r*+g[s+348>>2]*o+ +g[j+32>>2];g[j+36>>2]=n+ +g[j+36>>2];g[j+40>>2]=m+ +g[j+40>>2];s=c[h+28>>2]|0;m=+g[l>>2];n=1.0/+g[f+12>>2];o=+g[d+(k*152|0)+4>>2]*+g[s+548>>2]*m*n;r=m*(+g[d+(k*152|0)+8>>2]*+g[s+552>>2])*n;g[j+16>>2]=+g[d+(k*152|0)>>2]*+g[s+544>>2]*m*n+ +g[j+16>>2];g[j+20>>2]=o+ +g[j+20>>2];g[j+24>>2]=r+ +g[j+24>>2];s=c[h+32>>2]|0;r=+g[l>>2];o=1.0/+g[f+12>>2];n=+g[d+(k*152|0)+36>>2]*+g[s+548>>2]*r*o;m=r*(+g[d+(k*152|0)+40>>2]*+g[s+552>>2])*o;g[j+48>>2]=+g[d+(k*152|0)+32>>2]*+g[s+544>>2]*r*o+ +g[j+48>>2];g[j+52>>2]=n+ +g[j+52>>2];g[j+56>>2]=m+ +g[j+56>>2]}m=+g[l>>2];g[h+36>>2]=m;m=+O(+m);if(m>=+g[h+16>>2])a[h+20>>0]=0;k=k+1|0}while((k|0)!=(e|0))}d=c[b+8>>2]|0;if((d|0)>0){e=c[b+16>>2]|0;h=0;do{j=e+(h*244|0)|0;k=c[e+(h*244|0)+240>>2]|0;if(k){if(!(c[f+44>>2]|0)){l=e+(h*244|0)+176|0;m=+g[e+(h*244|0)+64>>2]+ +g[l>>2];g[l>>2]=m;l=e+(h*244|0)+180|0;n=+g[e+(h*244|0)+68>>2]+ +g[l>>2];g[l>>2]=n;l=e+(h*244|0)+184|0;o=+g[e+(h*244|0)+72>>2]+ +g[l>>2];g[l>>2]=o;l=e+(h*244|0)+192|0;g[l>>2]=+g[e+(h*244|0)+80>>2]+ +g[l>>2];l=e+(h*244|0)+196|0;g[l>>2]=+g[e+(h*244|0)+84>>2]+ +g[l>>2];l=e+(h*244|0)+200|0;g[l>>2]=+g[e+(h*244|0)+88>>2]+ +g[l>>2];l=e;e=k}else{o=+g[f+12>>2];n=+g[f+52>>2];k=e+(h*244|0)+176|0;g[k>>2]=+g[e+(h*244|0)+64>>2]+ +g[k>>2];k=e+(h*244|0)+180|0;g[k>>2]=+g[e+(h*244|0)+68>>2]+ +g[k>>2];k=e+(h*244|0)+184|0;g[k>>2]=+g[e+(h*244|0)+72>>2]+ +g[k>>2];k=e+(h*244|0)+192|0;g[k>>2]=+g[e+(h*244|0)+80>>2]+ +g[k>>2];k=e+(h*244|0)+196|0;g[k>>2]=+g[e+(h*244|0)+84>>2]+ +g[k>>2];k=e+(h*244|0)+200|0;g[k>>2]=+g[e+(h*244|0)+88>>2]+ +g[k>>2];k=e+(h*244|0)+144|0;l=e+(h*244|0)+148|0;if(!(((((!(+g[k>>2]!=0.0)?!(+g[l>>2]!=0.0):0)?!(+g[e+(h*244|0)+152>>2]!=0.0):0)?!(+g[e+(h*244|0)+160>>2]!=0.0):0)?!(+g[e+(h*244|0)+164>>2]!=0.0):0)?!(+g[e+(h*244|0)+168>>2]!=0.0):0))p=22;if((p|0)==22){p=0;r=+g[e+(h*244|0)+164>>2]*n;m=+g[e+(h*244|0)+168>>2]*n;g[q>>2]=+g[e+(h*244|0)+160>>2]*n;g[q+4>>2]=r;g[q+8>>2]=m;g[q+12>>2]=0.0;Ap(j,+g[k>>2],+g[l>>2],+g[e+(h*244|0)+152>>2],q,o,q+16|0);c[j+0>>2]=c[q+16>>2];c[j+4>>2]=c[q+20>>2];c[j+8>>2]=c[q+24>>2];c[j+12>>2]=c[q+28>>2];l=e+(h*244|0)+16|0;c[l+0>>2]=c[q+32>>2];c[l+4>>2]=c[q+36>>2];c[l+8>>2]=c[q+40>>2];c[l+12>>2]=c[q+44>>2];l=e+(h*244|0)+32|0;c[l+0>>2]=c[q+48>>2];c[l+4>>2]=c[q+52>>2];c[l+8>>2]=c[q+56>>2];c[l+12>>2]=c[q+60>>2];e=e+(h*244|0)+48|0;c[e+0>>2]=c[q+64>>2];c[e+4>>2]=c[q+68>>2];c[e+8>>2]=c[q+72>>2];c[e+12>>2]=c[q+76>>2];e=c[b+16>>2]|0}l=e;m=+g[e+(h*244|0)+176>>2];n=+g[e+(h*244|0)+180>>2];o=+g[e+(h*244|0)+184>>2];e=c[e+(h*244|0)+240>>2]|0}m=m+ +g[l+(h*244|0)+208>>2];n=n+ +g[l+(h*244|0)+212>>2];o=o+ +g[l+(h*244|0)+216>>2];k=e+260|0;c[k>>2]=(c[k>>2]|0)+1;g[e+312>>2]=m;g[e+316>>2]=n;g[e+320>>2]=o;g[e+324>>2]=0.0;k=c[b+16>>2]|0;l=c[k+(h*244|0)+240>>2]|0;o=+g[k+(h*244|0)+192>>2]+ +g[k+(h*244|0)+224>>2];n=+g[k+(h*244|0)+196>>2]+ +g[k+(h*244|0)+228>>2];m=+g[k+(h*244|0)+200>>2]+ +g[k+(h*244|0)+232>>2];c[l+260>>2]=(c[l+260>>2]|0)+1;g[l+328>>2]=o;g[l+332>>2]=n;g[l+336>>2]=m;g[l+340>>2]=0.0;if(c[f+44>>2]|0){k=c[b+16>>2]|0;l=c[k+(h*244|0)+240>>2]|0;j=k+(h*244|0)|0;c[l+260>>2]=(c[l+260>>2]|0)+1;c[l+4>>2]=c[j+0>>2];c[l+8>>2]=c[j+4>>2];c[l+12>>2]=c[j+8>>2];c[l+16>>2]=c[j+12>>2];j=k+(h*244|0)+16|0;c[l+20>>2]=c[j+0>>2];c[l+24>>2]=c[j+4>>2];c[l+28>>2]=c[j+8>>2];c[l+32>>2]=c[j+12>>2];j=k+(h*244|0)+32|0;c[l+36>>2]=c[j+0>>2];c[l+40>>2]=c[j+4>>2];c[l+44>>2]=c[j+8>>2];c[l+48>>2]=c[j+12>>2];k=k+(h*244|0)+48|0;c[l+52>>2]=c[k+0>>2];c[l+56>>2]=c[k+4>>2];c[l+60>>2]=c[k+8>>2];c[l+64>>2]=c[k+12>>2]}e=c[b+16>>2]|0;c[(c[e+(h*244|0)+240>>2]|0)+212>>2]=-1;d=c[b+8>>2]|0}h=h+1|0}while((h|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){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(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=q;return 0.0}if((c[b+12>>2]|0)>=0){c[b+8>>2]=0;i=q;return 0.0}d=c[b+16>>2]|0;if(d){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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=q;return 0.0}function Yr(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;aE(4104);+ic[c[(c[a>>2]|0)+44>>2]&3](a,b,d,e,f,h,j,k,l);+ic[c[(c[a>>2]|0)+48>>2]&3](a,b,d,e,f,h,j,k,l);+mc[c[(c[a>>2]|0)+36>>2]&1](a,b,d,k);m=c[5104]|0;a=(c[m+16>>2]|0)+-1|0;c[m+16>>2]=a;if(a){i=n;return 0.0}do if(c[m+4>>2]|0){Cb(n|0,0)|0;a=c[5090]|0;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+ +g[m+8>>2];if(!(c[m+16>>2]|0)){m=c[5104]|0;break}else{i=n;return 0.0}}while(0);c[5104]=c[m+20>>2];i=n;return 0.0}function Zr(a){a=a|0;c[a+192>>2]=0;return}function _r(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;k=i;j=c[b+4>>2]|0;if((j|0)==(c[b+8>>2]|0)?(h=(j|0)==0?1:j<<1,(j|0)<(h|0)):0){if(!h){f=j;g=0}else{c[5108]=(c[5108]|0)+1;e=QE((h*244|3)+16|0)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}f=c[b+4>>2]|0;g=e}if((f|0)>0){e=0;do{m=g+(e*244|0)|0;l=c[b+12>>2]|0;n=l+(e*244|0)|0;c[m+0>>2]=c[n+0>>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=g+(e*244|0)+16|0;n=l+(e*244|0)+16|0;c[m+0>>2]=c[n+0>>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=g+(e*244|0)+32|0;n=l+(e*244|0)+32|0;c[m+0>>2]=c[n+0>>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=g+(e*244|0)+48|0;n=l+(e*244|0)+48|0;c[m+0>>2]=c[n+0>>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];YE(g+(e*244|0)+64|0,l+(e*244|0)+64|0,180)|0;e=e+1|0}while((e|0)!=(f|0))}e=c[b+12>>2]|0;if(e){if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+12>>2]=0}a[b+16>>0]=1;c[b+12>>2]=g;c[b+8>>2]=h;e=c[b+4>>2]|0}else e=j;c[b+4>>2]=e+1;m=c[b+12>>2]|0;c[m+(j*244|0)+0>>2]=c[d+0>>2];c[m+(j*244|0)+4>>2]=c[d+4>>2];c[m+(j*244|0)+8>>2]=c[d+8>>2];c[m+(j*244|0)+12>>2]=c[d+12>>2];c[m+(j*244|0)+16>>2]=c[d+16>>2];c[m+(j*244|0)+20>>2]=c[d+20>>2];c[m+(j*244|0)+24>>2]=c[d+24>>2];c[m+(j*244|0)+28>>2]=c[d+28>>2];c[m+(j*244|0)+32>>2]=c[d+32>>2];c[m+(j*244|0)+36>>2]=c[d+36>>2];c[m+(j*244|0)+40>>2]=c[d+40>>2];c[m+(j*244|0)+44>>2]=c[d+44>>2];c[m+(j*244|0)+48>>2]=c[d+48>>2];c[m+(j*244|0)+52>>2]=c[d+52>>2];c[m+(j*244|0)+56>>2]=c[d+56>>2];c[m+(j*244|0)+60>>2]=c[d+60>>2];YE(m+(j*244|0)+64|0,d+64|0,180)|0;i=k;return (c[b+12>>2]|0)+(j*244|0)|0}function $r(a){a=a|0;return 1}function as(a,b,c){a=a|0;b=b|0;c=c|0;return}function bs(a,b,c){a=a|0;b=b|0;c=c|0;return}function cs(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=4840;d=c[b+144>>2]|0;if(d){if(a[b+148>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}function ds(a){a=a|0;var b=0;b=i;cs(a);RE(a);i=b;return}function es(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+0>>2]=c[b+4>>2];c[h+4>>2]=c[b+8>>2];c[h+8>>2]=c[b+12>>2];c[h+12>>2]=c[b+16>>2];c[h+16>>2]=c[b+20>>2];c[h+20>>2]=c[b+24>>2];c[h+24>>2]=c[b+28>>2];c[h+28>>2]=c[b+32>>2];c[h+32>>2]=c[b+36>>2];c[h+36>>2]=c[b+40>>2];c[h+40>>2]=c[b+44>>2];c[h+44>>2]=c[b+48>>2];c[h+48>>2]=c[b+52>>2];c[h+52>>2]=c[b+56>>2];c[h+56>>2]=c[b+60>>2];c[h+60>>2]=c[b+64>>2];if(e?(f=c[b+480>>2]|0,(f|0)!=0):0)Lb[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 fs(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,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;e=i;es(a,b+(c*284|0)|0,d);o=+g[b+(c*284|0)+52>>2];j=+g[b+(c*284|0)+56>>2];s=+g[b+(c*284|0)+60>>2];I=+g[b+(c*284|0)+76>>2];B=+g[b+(c*284|0)+72>>2];A=+g[b+(c*284|0)+68>>2];y=1.0/+P(+((B*-o-A*-j)*(B*-o-A*-j)+((I*-j-B*-s)*(I*-j-B*-s)+(A*-s-I*-o)*(A*-s-I*-o))));x=(I*-j-B*-s)*y;w=y*(A*-s-I*-o);y=y*(B*-o-A*-j);f=+g[b+(c*284|0)+232>>2]*.5;m=+S(+f)/+P(+(o*o+j*j+s*s));f=+R(+f);n=2.0/(f*f+(m*-s*(m*-s)+(m*-o*(m*-o)+m*-j*(m*-j))));G=1.0-(m*-j*(m*-j*n)+m*-s*(m*-s*n));F=m*-o*(m*-j*n)-f*(m*-s*n);H=m*-o*(m*-s*n)+f*(m*-j*n);D=m*-o*(m*-j*n)+f*(m*-s*n);C=1.0-(m*-o*(m*-o*n)+m*-s*(m*-s*n));E=m*-j*(m*-s*n)-f*(m*-o*n);l=m*-o*(m*-s*n)-f*(m*-j*n);f=m*-j*(m*-s*n)+f*(m*-o*n);n=1.0-(m*-o*(m*-o*n)+m*-j*(m*-j*n));m=+g[b+(c*284|0)+236>>2]*-.5;z=+S(+m)/+P(+(I*I+(B*B+A*A)));m=+R(+m);t=2.0/(m*m+(I*z*(I*z)+(A*z*(A*z)+B*z*(B*z))));p=1.0-(B*z*(B*z*t)+I*z*(I*z*t));k=A*z*(B*z*t)-m*(I*z*t);v=A*z*(I*z*t)+m*(B*z*t);q=A*z*(B*z*t)+m*(I*z*t);h=1.0-(A*z*(A*z*t)+I*z*(I*z*t));u=B*z*(I*z*t)-m*(A*z*t);r=A*z*(I*z*t)-m*(B*z*t);m=B*z*(I*z*t)+m*(A*z*t);t=1.0-(A*z*(A*z*t)+B*z*(B*z*t));z=+g[b+(c*284|0)+72>>2];B=+g[b+(c*284|0)+76>>2];g[b+(c*284|0)+92>>2]=B*(G*v+F*u+H*t)+(A*(H*r+(F*q+G*p))+z*(H*m+(G*k+F*h)));g[b+(c*284|0)+96>>2]=y*(G*v+F*u+H*t)+(x*(H*r+(F*q+G*p))+w*(H*m+(G*k+F*h)));g[b+(c*284|0)+100>>2]=(G*v+F*u+H*t)*-s+((H*r+(F*q+G*p))*-o+(H*m+(G*k+F*h))*-j);g[b+(c*284|0)+104>>2]=0.0;g[b+(c*284|0)+108>>2]=B*(D*v+C*u+E*t)+(A*(E*r+(C*q+D*p))+z*(E*m+(D*k+C*h)));g[b+(c*284|0)+112>>2]=y*(D*v+C*u+E*t)+(x*(E*r+(C*q+D*p))+w*(E*m+(D*k+C*h)));g[b+(c*284|0)+116>>2]=(D*v+C*u+E*t)*-s+((E*r+(C*q+D*p))*-o+(E*m+(D*k+C*h))*-j);g[b+(c*284|0)+120>>2]=0.0;g[b+(c*284|0)+124>>2]=B*(l*v+f*u+n*t)+(A*(n*r+(f*q+l*p))+z*(n*m+(l*k+f*h)));g[b+(c*284|0)+128>>2]=y*(l*v+f*u+n*t)+(x*(n*r+(f*q+l*p))+w*(n*m+(l*k+f*h)));g[b+(c*284|0)+132>>2]=(l*v+f*u+n*t)*-s+((n*r+(f*q+l*p))*-o+(n*m+(l*k+f*h))*-j);g[b+(c*284|0)+136>>2]=0.0;j=+g[b+(c*284|0)+32>>2];h=j*+g[b+(c*284|0)+56>>2]+ +g[b+(c*284|0)+40>>2];f=j*+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]*j+ +g[b+(c*284|0)+36>>2];g[b+(c*284|0)+144>>2]=h;g[b+(c*284|0)+148>>2]=f;g[b+(c*284|0)+152>>2]=0.0;i=e;return}function gs(b,d){b=b|0;d=+d;var e=0,f=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,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0;D=i;i=i+96|0;e=c[b+136>>2]|0;if((e|0)>0){f=0;do{fs(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));C=b+116|0}else C=b+116|0;f=c[C>>2]|0;s=+g[f+312>>2];u=+g[f+316>>2];h=+g[f+320>>2];h=+P(+(s*s+u*u+h*h))*3.5999999046325684;g[b+112>>2]=h;z=c[b+128>>2]|0;if(+g[f+(z<<2)+4>>2]*+g[f+312>>2]+ +g[f+(z<<2)+20>>2]*+g[f+316>>2]+ +g[f+(z<<2)+36>>2]*+g[f+320>>2]<0.0)g[b+112>>2]=-h;a:do if((e|0)>0){B=0;do{A=c[b+144>>2]|0;e=A+(B*284|0)|0;es(f,e,0);j=A+(B*284|0)+204|0;k=A+(B*284|0)+212|0;q=+g[j>>2]+ +g[k>>2];f=A+(B*284|0)+52|0;v=A+(B*284|0)+56|0;w=A+(B*284|0)+60|0;E=A+(B*284|0)+36|0;x=A+(B*284|0)+16|0;s=q*+g[v>>2]+ +g[A+(B*284|0)+40>>2];u=q*+g[w>>2]+ +g[A+(B*284|0)+44>>2];g[A+(B*284|0)+16>>2]=+g[f>>2]*q+ +g[E>>2];y=A+(B*284|0)+20|0;g[y>>2]=s;z=A+(B*284|0)+24|0;g[z>>2]=u;g[A+(B*284|0)+28>>2]=0.0;g[D+64>>2]=-1.0;l=c[b+100>>2]|0;E=Rb[c[(c[l>>2]|0)+8>>2]&31](l,E,x,D+32|0)|0;l=A+(B*284|0)+88|0;c[l>>2]=0;do if(E){q=q*+g[D+64>>2];c[e+0>>2]=c[D+48>>2];c[e+4>>2]=c[D+52>>2];c[e+8>>2]=c[D+56>>2];c[e+12>>2]=c[D+60>>2];a[A+(B*284|0)+84>>0]=1;if((a[4824]|0)==0?(Xa(4824)|0)!=0:0){c[D+72>>2]=0;c[D+76>>2]=0;c[D+80>>2]=0;c[D+84>>2]=0;tp(4208,0.0,0,0,D+72|0);ab(4824)}c[1103]=c[1103]|1;g[1138]=0.0;p=+g[1148]*0.0;o=+g[1149]*0.0;g[1143]=+g[1147]*0.0;g[1144]=p;g[1145]=o;g[1146]=0.0;c[1151]=0;c[1152]=0;c[1153]=0;c[1154]=0;o=+g[1140]*0.0;p=+g[1141]*0.0;g[1192]=+g[1139]*0.0;g[1193]=o;g[1194]=p;g[1195]=0.0;c[l>>2]=4208;q=q-+g[k>>2];l=A+(B*284|0)+32|0;g[l>>2]=q;p=+g[j>>2];o=+g[A+(B*284|0)+208>>2]*.009999999776482582;if(q>2]=p-o;q=p-o}if(q>p+o)g[l>>2]=p+o;c[x+0>>2]=c[D+32>>2];c[x+4>>2]=c[D+36>>2];c[x+8>>2]=c[D+40>>2];c[x+12>>2]=c[D+44>>2];s=+g[e>>2];t=+g[A+(B*284|0)+4>>2];u=+g[A+(B*284|0)+8>>2];r=s*+g[f>>2]+t*+g[v>>2]+u*+g[w>>2];l=c[C>>2]|0;h=+g[x>>2]-+g[l+52>>2];m=+g[y>>2]-+g[l+56>>2];n=+g[z>>2]-+g[l+60>>2];q=+g[l+332>>2];p=+g[l+336>>2];o=+g[l+328>>2];if(!(r>=-.10000000149011612)){g[A+(B*284|0)+272>>2]=-1.0/r*(s*(q*n-m*p+ +g[l+312>>2])+t*(h*p-n*o+ +g[l+316>>2])+u*(m*o-h*q+ +g[l+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{g[A+(B*284|0)+32>>2]=+g[j>>2];g[A+(B*284|0)+272>>2]=0.0;s=-+g[v>>2];u=-+g[w>>2];g[e>>2]=-+g[f>>2];g[A+(B*284|0)+4>>2]=s;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;l=c[b+136>>2]|0;f=c[C>>2]|0}while((B|0)<(l|0));h=1.0/+g[f+344>>2];if((l|0)>0){j=c[b+144>>2]|0;k=0;do{if(a[j+(k*284|0)+84>>0]|0){u=+g[j+(k*284|0)+272>>2];u=h*(+g[j+(k*284|0)+216>>2]*(+g[j+(k*284|0)+204>>2]-+g[j+(k*284|0)+32>>2])*+g[j+(k*284|0)+268>>2]-u*+g[(u<0.0?j+(k*284|0)+220|0:j+(k*284|0)+224|0)>>2]);e=j+(k*284|0)+276|0;g[e>>2]=u;if(u<0.0)g[e>>2]=0.0}else g[j+(k*284|0)+276>>2]=0.0;k=k+1|0}while((k|0)!=(l|0));e=f;f=0;while(1){r=+g[j+(f*284|0)+276>>2];u=+g[j+(f*284|0)+248>>2];r=r>u?u:r;u=r*+g[j+(f*284|0)+4>>2]*d;s=r*+g[j+(f*284|0)+8>>2]*d;g[D+16>>2]=+g[j+(f*284|0)>>2]*r*d;g[D+20>>2]=u;g[D+24>>2]=s;g[D+28>>2]=0.0;s=+g[j+(f*284|0)+20>>2]-+g[e+56>>2];u=+g[j+(f*284|0)+24>>2]-+g[e+60>>2];g[D>>2]=+g[j+(f*284|0)+16>>2]-+g[e+52>>2];g[D+4>>2]=s;g[D+8>>2]=u;g[D+12>>2]=0.0;bn(e,D+16|0,D);f=f+1|0;if((f|0)>=(c[b+136>>2]|0))break a;j=c[b+144>>2]|0;e=c[C>>2]|0}}}while(0);Ib[c[(c[b>>2]|0)+20>>2]&31](b,d);j=c[b+136>>2]|0;if((j|0)<=0){i=D;return}f=c[b+144>>2]|0;l=c[C>>2]|0;k=0;do{o=+g[f+(k*284|0)+36>>2]-+g[l+52>>2];q=+g[f+(k*284|0)+40>>2]-+g[l+56>>2];p=+g[f+(k*284|0)+44>>2]-+g[l+60>>2];h=+g[l+332>>2];m=+g[l+336>>2];n=+g[l+328>>2];if(!(a[f+(k*284|0)+84>>0]|0)){h=+g[f+(k*284|0)+240>>2];z=f+(k*284|0)+236|0;g[z>>2]=h+ +g[z>>2]}else{z=c[b+128>>2]|0;G=+g[l+(z<<2)+4>>2];t=+g[l+(z<<2)+20>>2];s=+g[l+(z<<2)+36>>2];F=+g[f+(k*284|0)>>2];r=+g[f+(k*284|0)+4>>2];u=+g[f+(k*284|0)+8>>2];h=((q*n-o*h+ +g[l+320>>2])*(s-u*(G*F+t*r+s*u))+((h*p-q*m+ +g[l+312>>2])*(G-F*(G*F+t*r+s*u))+(o*m-p*n+ +g[l+316>>2])*(t-r*(G*F+t*r+s*u))))*d/+g[f+(k*284|0)+212>>2];g[f+(k*284|0)+240>>2]=h;z=f+(k*284|0)+236|0;g[z>>2]=h+ +g[z>>2]}g[f+(k*284|0)+240>>2]=h*.9900000095367432;k=k+1|0}while((k|0)!=(j|0));i=D;return}function hs(b,d){b=b|0;d=+d;var e=0,f=0,h=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=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.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=0.0,R=0.0;t=i;i=i+384|0;o=c[b+136>>2]|0;if(!o){i=t;return}f=c[b+8>>2]|0;if((f|0)<(o|0)){if((c[b+12>>2]|0)<(o|0)){c[5108]=(c[5108]|0)+1;e=QE((o<<4|3)+16|0)|0;if(!e)l=0;else{c[(e+19&-16)+-4>>2]=e;l=e+19&-16}j=c[b+8>>2]|0;if((j|0)>0){h=0;do{n=l+(h<<4)|0;q=(c[b+16>>2]|0)+(h<<4)|0;c[n+0>>2]=c[q+0>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];h=h+1|0}while((h|0)!=(j|0))}h=c[b+16>>2]|0;if(h){if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[b+16>>2]=0}a[b+20>>0]=1;c[b+16>>2]=l;c[b+12>>2]=o;j=b+16|0}else j=b+16|0;e=f;do{n=(c[j>>2]|0)+(e<<4)|0;c[n+0>>2]=c[t+144>>2];c[n+4>>2]=c[t+148>>2];c[n+8>>2]=c[t+152>>2];c[n+12>>2]=c[t+156>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+8>>2]=o;f=c[b+28>>2]|0;if((f|0)<(o|0)){if((c[b+32>>2]|0)<(o|0)){c[5108]=(c[5108]|0)+1;e=QE((o<<4|3)+16|0)|0;if(!e)l=0;else{c[(e+19&-16)+-4>>2]=e;l=e+19&-16}j=c[b+28>>2]|0;if((j|0)>0){h=0;do{n=l+(h<<4)|0;q=(c[b+36>>2]|0)+(h<<4)|0;c[n+0>>2]=c[q+0>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];h=h+1|0}while((h|0)!=(j|0))}e=c[b+36>>2]|0;if(e){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+36>>2]=0}a[b+40>>0]=1;c[b+36>>2]=l;c[b+32>>2]=o;j=b+36|0}else j=b+36|0;e=f;do{n=(c[j>>2]|0)+(e<<4)|0;c[n+0>>2]=c[t+128>>2];c[n+4>>2]=c[t+132>>2];c[n+8>>2]=c[t+136>>2];c[n+12>>2]=c[t+140>>2];e=e+1|0}while((e|0)!=(o|0))}c[b+28>>2]=o;j=c[b+48>>2]|0;if((j|0)<(o|0)){if((c[b+52>>2]|0)<(o|0)){c[5108]=(c[5108]|0)+1;e=QE((o<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+19&-16)+-4>>2]=e;f=e+19&-16}h=c[b+48>>2]|0;if((h|0)>0){l=0;do{e=f+(l<<2)|0;if(e)g[e>>2]=+g[(c[b+56>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0))}e=c[b+56>>2]|0;if(e){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+56>>2]=0}a[b+60>>0]=1;c[b+56>>2]=f;c[b+52>>2]=o}else f=c[b+56>>2]|0;do{h=f+(j<<2)|0;if(h)g[h>>2]=0.0;j=j+1|0}while((j|0)!=(o|0))}c[b+48>>2]=o;j=c[b+68>>2]|0;if((j|0)<(o|0)){if((c[b+72>>2]|0)<(o|0)){c[5108]=(c[5108]|0)+1;e=QE((o<<2|3)+16|0)|0;if(!e)f=0;else{c[(e+19&-16)+-4>>2]=e;f=e+19&-16}h=c[b+68>>2]|0;if((h|0)>0){l=0;do{e=f+(l<<2)|0;if(e)g[e>>2]=+g[(c[b+76>>2]|0)+(l<<2)>>2];l=l+1|0}while((l|0)!=(h|0))}e=c[b+76>>2]|0;if(e){if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=f;c[b+72>>2]=o}else f=c[b+76>>2]|0;do{h=f+(j<<2)|0;if(h)g[h>>2]=0.0;j=j+1|0}while((j|0)!=(o|0))}c[b+68>>2]=o;e=c[b+136>>2]|0;if((e|0)<=0){i=t;return}f=c[b+76>>2]|0;h=c[b+56>>2]|0;j=0;do{g[f+(j<<2)>>2]=0.0;g[h+(j<<2)>>2]=0.0;j=j+1|0}while((j|0)!=(e|0));q=0;do{n=c[b+144>>2]|0;o=c[n+(q*284|0)+88>>2]|0;if(o){l=n+(q*284|0)+92|0;c[t+80>>2]=c[l+0>>2];c[t+84>>2]=c[l+4>>2];c[t+88>>2]=c[l+8>>2];c[t+92>>2]=c[l+12>>2];l=n+(q*284|0)+108|0;c[t+96>>2]=c[l+0>>2];c[t+100>>2]=c[l+4>>2];c[t+104>>2]=c[l+8>>2];c[t+108>>2]=c[l+12>>2];l=n+(q*284|0)+124|0;c[t+112>>2]=c[l+0>>2];c[t+116>>2]=c[l+4>>2];c[t+120>>2]=c[l+8>>2];c[t+124>>2]=c[l+12>>2];l=c[b+36>>2]|0;y=c[b+120>>2]|0;p=+g[t+80+(y<<2)+16>>2];z=+g[t+80+(y<<2)+32>>2];g[l+(q<<4)>>2]=+g[t+80+(y<<2)>>2];g[l+(q<<4)+4>>2]=p;g[l+(q<<4)+8>>2]=z;g[l+(q<<4)+12>>2]=0.0;l=c[b+36>>2]|0;y=l+(q<<4)|0;z=+g[y>>2];h=n+(q*284|0)|0;p=+g[h>>2];e=l+(q<<4)+4|0;x=+g[e>>2];j=n+(q*284|0)+4|0;m=+g[j>>2];l=l+(q<<4)+8|0;u=+g[l>>2];f=n+(q*284|0)+8|0;w=+g[f>>2];k=z-p*(z*p+x*m+u*w);v=x-m*(z*p+x*m+u*w);w=u-w*(z*p+x*m+u*w);u=1.0/+P(+(k*k+v*v+w*w));g[y>>2]=k*u;g[e>>2]=v*u;g[l>>2]=w*u;l=c[b+16>>2]|0;m=+g[j>>2];x=+g[f>>2];p=+g[h>>2];g[l+(q<<4)>>2]=m*(w*u)-x*(v*u);g[l+(q<<4)+4>>2]=x*(k*u)-w*u*p;g[l+(q<<4)+8>>2]=v*u*p-m*(k*u);g[l+(q<<4)+12>>2]=0.0;l=c[b+16>>2]|0;h=l+(q<<4)|0;u=+g[h>>2];f=l+(q<<4)+4|0;k=+g[f>>2];l=l+(q<<4)+8|0;m=+g[l>>2];p=1.0/+P(+(u*u+k*k+m*m));g[h>>2]=u*p;g[f>>2]=k*p;g[l>>2]=m*p;l=c[b+116>>2]|0;f=c[b+36>>2]|0;h=f+(q<<4)|0;j=(c[b+76>>2]|0)+(q<<2)|0;p=+g[h>>2];e=f+(q<<4)+4|0;m=+g[e>>2];f=f+(q<<4)+8|0;k=+g[f>>2];if(p*p+m*m+k*k>1.100000023841858)g[j>>2]=0.0;else{k=+g[n+(q*284|0)+16>>2];w=k-+g[l+52>>2];u=+g[n+(q*284|0)+20>>2];B=u-+g[l+56>>2];m=+g[n+(q*284|0)+24>>2];D=m-+g[l+60>>2];g[t+360>>2]=w;g[t+364>>2]=B;g[t+368>>2]=D;g[t+372>>2]=0.0;k=k-+g[o+52>>2];u=u-+g[o+56>>2];m=m-+g[o+60>>2];g[t+344>>2]=k;g[t+348>>2]=u;g[t+352>>2]=m;g[t+356>>2]=0.0;x=+g[l+332>>2];E=+g[l+336>>2];A=+g[l+328>>2];p=+g[o+332>>2];C=+g[o+336>>2];z=+g[o+328>>2];v=x*D-E*B+ +g[l+312>>2]-(p*m-C*u+ +g[o+312>>2]);m=+g[l+316>>2]+(E*w-D*A)-(+g[o+316>>2]+(C*k-m*z));k=B*A-x*w+ +g[l+320>>2]-(u*z-p*k+ +g[o+320>>2]);g[t+208>>2]=+g[l+4>>2];g[t+212>>2]=+g[l+20>>2];g[t+216>>2]=+g[l+36>>2];g[t+220>>2]=0.0;g[t+224>>2]=+g[l+8>>2];g[t+228>>2]=+g[l+24>>2];g[t+232>>2]=+g[l+40>>2];g[t+236>>2]=0.0;g[t+240>>2]=+g[l+12>>2];g[t+244>>2]=+g[l+28>>2];g[t+248>>2]=+g[l+44>>2];g[t+252>>2]=0.0;g[t+160>>2]=+g[o+4>>2];g[t+164>>2]=+g[o+20>>2];g[t+168>>2]=+g[o+36>>2];g[t+172>>2]=0.0;g[t+176>>2]=+g[o+8>>2];g[t+180>>2]=+g[o+24>>2];g[t+184>>2]=+g[o+40>>2];g[t+188>>2]=0.0;g[t+192>>2]=+g[o+12>>2];g[t+196>>2]=+g[o+28>>2];g[t+200>>2]=+g[o+44>>2];g[t+204>>2]=0.0;Kq(t+256|0,t+208|0,t+160|0,t+360|0,t+344|0,h,l+396|0,+g[l+344>>2],o+396|0,+g[o+344>>2]);g[j>>2]=1.0/+g[t+336>>2]*((v*+g[h>>2]+m*+g[e>>2]+k*+g[f>>2])*-.20000000298023224)}e=c[b+136>>2]|0}q=q+1|0}while((q|0)<(e|0));if((e|0)<=0){i=t;return}h=c[b+144>>2]|0;l=0;q=0;while(1){j=c[h+(q*284|0)+88>>2]|0;if(j){m=+g[h+(q*284|0)+252>>2];if(m!=0.0){n=c[b+56>>2]|0;j=n+(q<<2)|0;g[j>>2]=0.0;f=h+(q*284|0)+280|0;g[f>>2]=1.0;o=h;m=m*d}else{x=+g[h+(q*284|0)+256>>2];x=x!=0.0?x:0.0;o=c[b+116>>2]|0;n=c[b+16>>2]|0;k=+g[h+(q*284|0)+16>>2];B=+g[h+(q*284|0)+20>>2];F=+g[h+(q*284|0)+24>>2];H=+g[n+(q<<4)>>2];C=+g[n+(q<<4)+4>>2];m=+g[n+(q<<4)+8>>2];O=k-+g[o+52>>2];Q=B-+g[o+56>>2];M=F-+g[o+60>>2];L=+g[o+264>>2]*(Q*m-M*C)+ +g[o+280>>2]*(M*H-O*m)+(O*C-Q*H)*+g[o+296>>2];R=(Q*m-M*C)*+g[o+268>>2]+(M*H-O*m)*+g[o+284>>2]+(O*C-Q*H)*+g[o+300>>2];N=(Q*m-M*C)*+g[o+272>>2]+(M*H-O*m)*+g[o+288>>2]+(O*C-Q*H)*+g[o+304>>2];u=k-+g[j+52>>2];p=B-+g[j+56>>2];D=F-+g[j+60>>2];I=(C*u-H*p)*+g[j+296>>2]+(+g[j+264>>2]*(m*p-C*D)+ +g[j+280>>2]*(H*D-m*u));K=(m*p-C*D)*+g[j+268>>2]+(H*D-m*u)*+g[j+284>>2]+(C*u-H*p)*+g[j+300>>2];J=(m*p-C*D)*+g[j+272>>2]+(H*D-m*u)*+g[j+288>>2]+(C*u-H*p)*+g[j+304>>2];k=k-+g[o+52>>2];B=B-+g[o+56>>2];F=F-+g[o+60>>2];v=+g[o+332>>2];G=+g[o+336>>2];A=+g[o+328>>2];w=+g[j+332>>2];E=+g[j+336>>2];z=+g[j+328>>2];m=-(1.0/(+g[o+344>>2]+(m*(Q*L-O*R)+(H*(M*R-Q*N)+C*(O*N-M*L)))+(+g[j+344>>2]+(m*(p*I-u*K)+(H*(D*K-p*J)+C*(u*J-D*I)))))*((F*v-B*G+ +g[o+312>>2]-(D*w-p*E+ +g[j+312>>2]))*H+(+g[o+316>>2]+(k*G-F*A)-(+g[j+316>>2]+(u*E-D*z)))*C+(B*A-k*v+ +g[o+320>>2]-(p*z-u*w+ +g[j+320>>2]))*m));m=x>2]|0;n=c[b+56>>2]|0;j=n+(q<<2)|0;g[j>>2]=0.0;f=o+(q*284|0)+280|0;g[f>>2]=1.0;m=m<-x?-x:m}g[f>>2]=1.0;p=+g[h+(q*284|0)+276>>2]*d*+g[h+(q*284|0)+228>>2];g[j>>2]=m;m=m*.5;k=+g[(c[b+76>>2]|0)+(q<<2)>>2];if(m*m+k*k>p*p){J=p/+P(+(m*m+k*k));g[f>>2]=J*+g[f>>2];l=1}}else{n=c[b+56>>2]|0;g[n+(q<<2)>>2]=0.0;g[h+(q*284|0)+280>>2]=1.0;o=h}q=q+1|0;e=c[b+136>>2]|0;if((q|0)>=(e|0))break;else h=o}if(l){if((e|0)<=0){i=t;return}j=c[b+76>>2]|0;f=0;do{h=j+(f<<2)|0;if(+g[h>>2]!=0.0?(s=o+(f*284|0)+280|0,r=+g[s>>2],r<1.0):0){l=n+(f<<2)|0;g[l>>2]=r*+g[l>>2];g[h>>2]=+g[s>>2]*+g[h>>2]}f=f+1|0}while((f|0)!=(e|0))}if((e|0)<=0){i=t;return}f=o;j=n;e=0;while(1){l=c[b+116>>2]|0;o=f+(e*284|0)+16|0;m=+g[o>>2]-+g[l+52>>2];h=f+(e*284|0)+20|0;p=+g[h>>2]-+g[l+56>>2];n=f+(e*284|0)+24|0;d=+g[n>>2]-+g[l+60>>2];g[t+64>>2]=m;g[t+68>>2]=p;g[t+72>>2]=d;g[t+76>>2]=0.0;k=+g[j+(e<<2)>>2];if(k!=0.0){j=c[b+16>>2]|0;I=k*+g[j+(e<<4)+4>>2];J=k*+g[j+(e<<4)+8>>2];g[t+48>>2]=k*+g[j+(e<<4)>>2];g[t+52>>2]=I;g[t+56>>2]=J;g[t+60>>2]=0.0;bn(l,t+48|0,t+64|0)}k=+g[(c[b+76>>2]|0)+(e<<2)>>2];if(k!=0.0){l=c[(c[b+144>>2]|0)+(e*284|0)+88>>2]|0;I=+g[h>>2]-+g[l+56>>2];G=+g[n>>2]-+g[l+60>>2];g[t+32>>2]=+g[o>>2]-+g[l+52>>2];g[t+36>>2]=I;g[t+40>>2]=G;g[t+44>>2]=0.0;o=c[b+36>>2]|0;G=+g[o+(e<<4)>>2]*k;I=k*+g[o+(e<<4)+4>>2];J=k*+g[o+(e<<4)+8>>2];g[t+16>>2]=G;g[t+20>>2]=I;g[t+24>>2]=J;g[t+28>>2]=0.0;o=c[b+116>>2]|0;n=c[b+124>>2]|0;B=+g[o+(n<<2)+4>>2];C=+g[o+(n<<2)+20>>2];D=+g[o+(n<<2)+36>>2];E=(B*m+C*p+D*d)*(1.0-+g[f+(e*284|0)+244>>2]);g[t+64>>2]=m-B*E;g[t+68>>2]=p-C*E;g[t+72>>2]=d-D*E;bn(o,t+16|0,t+64|0);g[t>>2]=-G;g[t+4>>2]=-I;g[t+8>>2]=-J;g[t+12>>2]=0.0;bn(l,t,t+32|0)}e=e+1|0;if((e|0)>=(c[b+136>>2]|0))break;f=c[b+144>>2]|0;j=c[b+56>>2]|0}i=t;return}function is(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;g[f+32>>2]=(a[m+(e*284|0)+84>>0]|0)==0?1.0:0.0;g[f+36>>2]=0.0;g[f+40>>2]=1.0;g[f+44>>2]=0.0;l=m+(e*284|0)+140|0;c[f+16>>2]=c[l+0>>2];c[f+20>>2]=c[l+4>>2];c[f+24>>2]=c[l+8>>2];c[f+28>>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)+(l<<2)+108>>2]+ +g[f+20>>2];j=+g[m+(e*284|0)+(l<<2)+124>>2]+ +g[f+24>>2];g[f>>2]=+g[m+(e*284|0)+(l<<2)+92>>2]+ +g[f+16>>2];g[f+4>>2]=k;g[f+8>>2]=j;g[f+12>>2]=0.0;tc[h&127](d,f+16|0,f,f+32|0);tc[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 js(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]=528;c[h+20>>2]=c[d+0>>2];c[h+24>>2]=c[d+4>>2];c[h+28>>2]=c[d+8>>2];c[h+32>>2]=c[d+12>>2];c[h+36>>2]=c[e+0>>2];c[h+40>>2]=c[e+4>>2];c[h+44>>2]=c[e+8>>2];c[h+48>>2]=c[e+12>>2];a=c[a+4>>2]|0;tc[c[(c[a>>2]|0)+32>>2]&127](a,d,e,h);d=c[h+8>>2]|0;if(!d){d=0;i=h;return d|0}d=(c[d+236>>2]&2|0)==0?0:d;if(!d){d=0;i=h;return d|0}if(c[d+204>>2]&4){d=0;i=h;return d|0}c[f+0>>2]=c[h+68>>2];c[f+4>>2]=c[h+72>>2];c[f+8>>2]=c[h+76>>2];c[f+12>>2]=c[h+80>>2];c[f+16>>2]=c[h+52>>2];c[f+20>>2]=c[h+56>>2];c[f+24>>2]=c[h+60>>2];c[f+28>>2]=c[h+64>>2];m=+g[f+16>>2];l=+g[f+20>>2];k=+g[f+24>>2];j=1.0/+P(+(m*m+l*l+k*k));g[f+16>>2]=m*j;g[f+20>>2]=l*j;g[f+24>>2]=k*j;g[f+32>>2]=+g[h+4>>2];i=h;return d|0}function ks(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function ls(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 ms(a,b,d){a=a|0;b=b|0;d=+d;b=i;Ib[c[(c[a>>2]|0)+16>>2]&31](a,d);i=b;return}function ns(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5024;d=c[b+140>>2]|0;if(d){if(a[b+144>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;i=e;return}function os(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=5024;d=c[b+140>>2]|0;if(d){if(a[b+144>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0;if(!b){i=e;return}}else{a[b+144>>0]=1;c[b+140>>2]=0;c[b+132>>2]=0;c[b+136>>2]=0}c[5110]=(c[5110]|0)+1;RE(c[b+-4>>2]|0);i=e;return}function ps(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;h=+g[d+96>>2]+h;p=+g[d+100>>2]+j;g[d+112>>2]=+g[d+92>>2]+f;g[d+116>>2]=h;g[d+120>>2]=p;g[d+124>>2]=0.0;g[q+168>>2]=1.0;c[q+172>>2]=0;c[q+176>>2]=0;c[q+180>>2]=0;c[q+184>>2]=0;g[q+188>>2]=1.0;c[q+192>>2]=0;c[q+196>>2]=0;c[q+200>>2]=0;c[q+204>>2]=0;g[q+208>>2]=1.0;k=q+212|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;g[q+104>>2]=1.0;c[q+108>>2]=0;c[q+112>>2]=0;c[q+116>>2]=0;c[q+120>>2]=0;g[q+124>>2]=1.0;c[q+128>>2]=0;c[q+132>>2]=0;c[q+136>>2]=0;c[q+140>>2]=0;g[q+144>>2]=1.0;k=q+148|0;c[k+0>>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=13;break};k=k+-1|0;c[q+216>>2]=c[d+92>>2];c[q+220>>2]=c[d+96>>2];c[q+224>>2]=c[d+100>>2];c[q+228>>2]=c[d+104>>2];c[q+152>>2]=c[d+112>>2];c[q+156>>2]=c[d+116>>2];c[q+160>>2]=c[d+120>>2];c[q+164>>2]=c[d+124>>2];j=+g[d+92>>2]-+g[d+112>>2];h=+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;c[q+76>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+32>>2]=0;c[q+36>>2]=0;c[q+40>>2]=0;c[q>>2]=5256;c[q+80>>2]=r;g[q+84>>2]=j;g[q+88>>2]=h;g[q+92>>2]=f;g[q+96>>2]=0.0;g[q+100>>2]=0.0;r=c[r+188>>2]|0;b[q+8>>1]=b[r+4>>1]|0;b[q+10>>1]=b[r+6>>1]|0;r=c[d+12>>2]|0;f=+Zb[c[(c[r>>2]|0)+48>>2]&15](r);r=c[d+12>>2]|0;Ib[c[(c[r>>2]|0)+44>>2]&31](r,f+ +g[d+56>>2]);if(!(a[d+170>>0]|0))_u(e,c[d+12>>2]|0,q+168|0,q+104|0,q,+g[e+56>>2]);else Ss(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;Ib[c[(c[r>>2]|0)+44>>2]&31](r,f);f=+g[q+4>>2];p=p-f;if(f<1.0){j=+g[d+112>>2];m=+g[d+92>>2];f=+g[d+116>>2];n=+g[d+96>>2];l=+g[d+120>>2];o=+g[d+100>>2];h=+P(+((j-m)*(j-m)+(f-n)*(f-n)+(l-o)*(l-o)));if(h>1.1920928955078125e-07){v=+g[q+44>>2];t=+g[q+48>>2];x=+g[q+52>>2];w=((j-m)*(1.0/h)*v+(f-n)*(1.0/h)*t+(l-o)*(1.0/h)*x)*2.0;u=(j-m)*(1.0/h)-v*w;s=(f-n)*(1.0/h)-t*w;w=(l-o)*(1.0/h)-x*w;l=1.0/+P(+(w*w+(u*u+s*s)));c[d+112>>2]=c[d+92>>2];c[d+116>>2]=c[d+96>>2];c[d+120>>2]=c[d+100>>2];c[d+124>>2]=c[d+104>>2];j=h*(l*u-v*(x*(l*w)+(v*(l*u)+t*(l*s))))+ +g[d+112>>2];g[d+112>>2]=j;f=h*(l*s-t*(x*(l*w)+(v*(l*u)+t*(l*s))))+ +g[d+116>>2];g[d+116>>2]=f;l=h*(l*w-x*(x*(l*w)+(v*(l*u)+t*(l*s))))+ +g[d+120>>2];g[d+120>>2]=l;h=f}else h=f;f=j-m;h=h-n;j=l-o;if(!(f*f+h*h+j*j>1.1920928955078125e-07)){k=13;break}o=1.0/+P(+(f*f+h*h+j*j));if(f*o*+g[d+76>>2]+h*o*+g[d+80>>2]+j*o*+g[d+84>>2]<=0.0){k=13;break}}else{c[d+92>>2]=c[d+112>>2];c[d+96>>2]=c[d+116>>2];c[d+100>>2]=c[d+120>>2];c[d+104>>2]=c[d+124>>2]}if(!(p>.009999999776482582)){k=13;break}}if((k|0)==13){i=q;return}}function qs(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;a[b+171>>0]=1;c[b+60>>2]=c[d+0>>2];c[b+64>>2]=c[d+4>>2];c[b+68>>2]=c[d+8>>2];c[b+72>>2]=c[d+12>>2];e=+g[b+60>>2];f=+g[b+64>>2];i=+g[b+68>>2];h=1.0/+P(+(e*e+f*f+i*i));if(+P(+(i*h*(i*h)+(e*h*(e*h)+f*h*(f*h))))<1.1920928955078125e-07){k=0.0;j=0.0;e=0.0;f=0.0}else{k=e*h;j=f*h;e=i*h;f=+g[b+72>>2]}g[b+76>>2]=k;g[b+80>>2]=j;g[b+84>>2]=e;g[b+88>>2]=f;return}function rs(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,l=0.0;a[b+171>>0]=0;c[b+60>>2]=c[d+0>>2];c[b+64>>2]=c[d+4>>2];c[b+68>>2]=c[d+8>>2];c[b+72>>2]=c[d+12>>2];f=+g[b+60>>2];h=+g[b+64>>2];j=+g[b+68>>2];i=1.0/+P(+(f*f+h*h+j*j));if(+P(+(j*i*(j*i)+(f*i*(f*i)+h*i*(h*i))))<1.1920928955078125e-07){l=0.0;k=0.0;f=0.0;h=0.0}else{l=f*i;k=h*i;f=j*i;h=+g[b+72>>2]}g[b+76>>2]=l;g[b+80>>2]=k;g[b+84>>2]=f;g[b+88>>2]=h;g[b+172>>2]=+g[b+172>>2]+e;return}function ss(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0;e=i;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+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;b=c[(c[b+8>>2]|0)+284>>2]|0;if((c[(Nb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)<=0){i=e;return}do{h=c[b>>2]|0;j=c[h+12>>2]|0;h=c[c[(Nb[c[h+28>>2]&127](b)|0)+12>>2]>>2]|0;f=c[(c[(Nb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+12>>2]|0)+4>>2]|0;Rb[j&31](b,h,f,c[d+24>>2]|0)|0}while((c[(Nb[c[(c[b>>2]|0)+28>>2]&127](b)|0)+4>>2]|0)>0);i=e;return}function ts(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+32|0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+0>>2]=c[b+0>>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;g[b+4>>2]=1.0;c[b+8>>2]=c[d+16>>2];c[b+12>>2]=c[d+20>>2];c[b+16>>2]=c[d+24>>2];c[b+20>>2]=0;g[b+24>>2]=1.0;c[b+28>>2]=0;c[b+32>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;g[b+44>>2]=1.0;g[b+48>>2]=0.0;c[b+52>>2]=c[d+0>>2];c[b+56>>2]=c[d+4>>2];c[b+60>>2]=c[d+8>>2];c[b+64>>2]=c[d+12>>2];i=d;return}function us(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=i;i=i+96|0;a[b+148>>0]=0;u=0;while(1){q=c[b+12>>2]|0;tc[c[(c[q>>2]|0)+8>>2]&127](q,(c[b+8>>2]|0)+4|0,w+80|0,w+64|0);q=c[d+68>>2]|0;Hb[c[(c[q>>2]|0)+16>>2]&31](q,c[(c[b+8>>2]|0)+188>>2]|0,w+80|0,w+64|0,c[d+24>>2]|0);q=c[d+24>>2]|0;tc[c[(c[q>>2]|0)+32>>2]&127](q,c[(c[b+8>>2]|0)+284>>2]|0,d+28|0,q);q=c[b+8>>2]|0;c[b+92>>2]=c[q+52>>2];c[b+96>>2]=c[q+56>>2];c[b+100>>2]=c[q+60>>2];c[b+104>>2]=c[q+64>>2];q=c[q+284>>2]|0;if((Nb[c[(c[q>>2]|0)+36>>2]&127](q)|0)>0){t=0;j=0.0;e=0;do{f=c[b+132>>2]|0;if((f|0)<0){if((c[b+136>>2]|0)<0){h=c[b+140>>2]|0;if(h){if(a[b+144>>0]|0){c[5110]=(c[5110]|0)+1;RE(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{h=(c[b+140>>2]|0)+(f<<2)|0;if(h)c[h>>2]=0;f=f+1|0}while((f|0)!=0)}c[b+132>>2]=0;h=c[(c[b+8>>2]|0)+284>>2]|0;h=c[(Nb[c[(c[h>>2]|0)+28>>2]&127](h)|0)+12>>2]|0;q=c[c[h+(t<<4)>>2]>>2]|0;f=c[c[h+(t<<4)+4>>2]>>2]|0;if(!((q|0)!=0?(c[q+204>>2]&4|0)!=0:0))v=15;do if((v|0)==15){v=0;if((f|0)!=0?(c[f+204>>2]&4|0)!=0:0)break;f=c[h+(t<<4)+8>>2]|0;if(f)Lb[c[(c[f>>2]|0)+16>>2]&127](f,b+128|0);r=c[b+132>>2]|0;if((r|0)>0){p=c[b+140>>2]|0;q=c[b+8>>2]|0;s=0;do{n=c[p+(s<<2)>>2]|0;o=(c[n+740>>2]|0)==(q|0)?-1.0:1.0;h=c[n+748>>2]|0;if((h|0)>0){m=0;do{l=+g[n+(m*184|0)+84>>2];if(l<0.0){k=n+(m*184|0)+68|0;if(l>2];e=n+(m*184|0)+76|0;j=o*+g[e>>2];g[b+152>>2]=o*+g[k>>2];g[b+156>>2]=x;g[b+160>>2]=j;g[b+164>>2]=0.0;h=c[n+748>>2]|0;j=l}else{f=n+(m*184|0)+72|0;e=n+(m*184|0)+76|0}y=l*(o*+g[f>>2])*.20000000298023224;x=l*(o*+g[e>>2])*.20000000298023224;g[b+92>>2]=l*(o*+g[k>>2])*.20000000298023224+ +g[b+92>>2];g[b+96>>2]=y+ +g[b+96>>2];g[b+100>>2]=x+ +g[b+100>>2];e=1}m=m+1|0}while((m|0)<(h|0))}s=s+1|0}while((s|0)!=(r|0))}}while(0);t=t+1|0;q=c[(c[b+8>>2]|0)+284>>2]|0}while((t|0)<(Nb[c[(c[q>>2]|0)+36>>2]&127](q)|0))}else e=0;q=c[b+8>>2]|0;c[w+0>>2]=c[q+4>>2];c[w+4>>2]=c[q+8>>2];c[w+8>>2]=c[q+12>>2];c[w+12>>2]=c[q+16>>2];c[w+16>>2]=c[q+20>>2];c[w+20>>2]=c[q+24>>2];c[w+24>>2]=c[q+28>>2];c[w+28>>2]=c[q+32>>2];c[w+32>>2]=c[q+36>>2];c[w+36>>2]=c[q+40>>2];c[w+40>>2]=c[q+44>>2];c[w+44>>2]=c[q+48>>2];c[w+48>>2]=c[b+92>>2];c[w+52>>2]=c[b+96>>2];c[w+56>>2]=c[b+100>>2];c[w+60>>2]=c[b+104>>2];c[q+260>>2]=(c[q+260>>2]|0)+1;c[q+4>>2]=c[w+0>>2];c[q+8>>2]=c[w+4>>2];c[q+12>>2]=c[w+8>>2];c[q+16>>2]=c[w+12>>2];c[q+20>>2]=c[w+16>>2];c[q+24>>2]=c[w+20>>2];c[q+28>>2]=c[w+24>>2];c[q+32>>2]=c[w+28>>2];c[q+36>>2]=c[w+32>>2];c[q+40>>2]=c[w+36>>2];c[q+44>>2]=c[w+40>>2];c[q+48>>2]=c[w+44>>2];c[q+52>>2]=c[w+48>>2];c[q+56>>2]=c[w+52>>2];c[q+60>>2]=c[w+56>>2];c[q+64>>2]=c[w+60>>2];if(!e){v=32;break}a[b+148>>0]=1;if((u|0)>3){v=32;break}else u=u+1|0}if((v|0)==32){q=(c[b+8>>2]|0)+52|0;c[b+92>>2]=c[q+0>>2];c[b+96>>2]=c[q+4>>2];c[b+100>>2]=c[q+8>>2];c[b+104>>2]=c[q+12>>2];ZE(b+112|0,q|0,16)|0;i=w;return}} +function Yv(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,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,D=0,E=0.0,F=0,G=0.0,H=0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,Q=0,T=0,U=0.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.0,ja=0.0,ka=0,la=0.0,ma=0.0,na=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.0,Ba=0,Ca=0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0,Ha=0.0,Ia=0,Ja=0,Ka=0;Ka=i;i=i+832|0;m=c[b+20>>2]|0;if(!m){m=c[b+4>>2]|0;m=Wb[c[(c[m>>2]|0)+12>>2]&63](m,c[d+8>>2]|0,c[e+8>>2]|0)|0;c[b+20>>2]=m;a[b+16>>0]=1}c[h+4>>2]=m;Ia=c[d+4>>2]|0;Ja=c[e+4>>2]|0;D=c[Ia+4>>2]|0;C=c[Ja+4>>2]|0;if((D|0)==10&(C|0)==10){y=+g[m+752>>2];_=c[Ia+52>>2]|0;w=+g[Ia+(_<<2)+28>>2];z=+g[Ia+(((_+2|0)%3|0)<<2)+28>>2];$=c[Ja+52>>2]|0;r=+g[Ja+($<<2)+28>>2];A=+g[Ja+((($+2|0)%3|0)<<2)+28>>2];aa=c[d+12>>2]|0;D=c[e+12>>2]|0;G=+g[aa+(_<<2)>>2];I=+g[aa+(_<<2)+16>>2];E=+g[aa+(_<<2)+32>>2];s=+g[D+($<<2)>>2];u=+g[D+($<<2)+16>>2];o=+g[D+($<<2)+32>>2];n=+g[D+48>>2]-+g[aa+48>>2];x=+g[D+52>>2]-+g[aa+52>>2];B=+g[D+56>>2]-+g[aa+56>>2];q=1.0-(G*s+I*u+E*o)*(G*s+I*u+E*o);if(!(q==0.0)){q=(G*n+I*x+E*B-(G*s+I*u+E*o)*(s*n+u*x+o*B))/q;if(!(q<-w)){if(q>w)q=w}else q=-w}else q=0.0;p=(G*s+I*u+E*o)*q-(s*n+u*x+o*B);if(p<-r){q=(G*s+I*u+E*o)*-r+(G*n+I*x+E*B);if(!(q<-w))if(q>w){q=w;r=-r}else r=-r;else{q=-w;r=-r}}else if(p>r){q=r*(G*s+I*u+E*o)+(G*n+I*x+E*B);if(!(q<-w)){if(q>w)q=w}else q=-w}else r=p;w=s*r;u=u*r;s=o*r;p=w+(n-G*q);n=u+(x-I*q);o=s+(B-E*q);r=+P(+(o*o+(p*p+n*n)));if(!(r-z-A>y)){do if(o*o+(p*p+n*n)<=1.4210854715202004e-14)if(+O(+E)>.7071067690849304){n=1.0/+P(+(I*I+E*E));g[Ka+320>>2]=0.0;g[Ka+324>>2]=-(E*n);g[Ka+328>>2]=I*n;p=0.0;q=-(E*n);n=I*n;break}else{q=1.0/+P(+(G*G+I*I));g[Ka+320>>2]=-(I*q);g[Ka+324>>2]=G*q;g[Ka+328>>2]=0.0;p=-(I*q);q=G*q;n=0.0;break}else{g[Ka+320>>2]=p*-(1.0/r);g[Ka+324>>2]=n*-(1.0/r);g[Ka+328>>2]=o*-(1.0/r);g[Ka+332>>2]=0.0;p=p*-(1.0/r);q=n*-(1.0/r);n=o*-(1.0/r)}while(0);U=A*q+(u+ +g[D+52>>2]);W=A*n+(s+ +g[D+56>>2]);g[Ka+304>>2]=A*p+(w+ +g[D+48>>2]);g[Ka+308>>2]=U;g[Ka+312>>2]=W;g[Ka+316>>2]=0.0}if(r-z-A>2]|0)+16>>2]&15](h,Ka+320|0,Ka+304|0,r-z-A);m=c[h+4>>2]|0}if(!(c[m+748>>2]|0)){i=Ka;return}l=c[m+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(k|0)){Fs(m,l+4|0,j+4|0);i=Ka;return}else{Fs(m,j+4|0,k+4|0);i=Ka;return}}g[Ka+296>>2]=999999984306749440.0;v=c[b+8>>2]|0;V=c[b+12>>2]|0;c[Ka+88>>2]=19400;g[Ka+92>>2]=0.0;g[Ka+96>>2]=1.0;g[Ka+100>>2]=0.0;g[Ka+104>>2]=0.0;c[Ka+108>>2]=V;c[Ka+112>>2]=v;c[Ka+116>>2]=Ia;c[Ka+120>>2]=Ja;c[Ka+124>>2]=D;c[Ka+128>>2]=C;g[Ka+132>>2]=+Zb[c[(c[Ia>>2]|0)+48>>2]&15](Ia);g[Ka+136>>2]=+Zb[c[(c[Ja>>2]|0)+48>>2]&15](Ja);a[Ka+140>>0]=0;c[Ka+148>>2]=-1;c[Ka+160>>2]=1;c[Ka+164>>2]=1;c[Ka+116>>2]=Ia;c[Ka+120>>2]=Ja;Fa=+Zb[c[(c[Ia>>2]|0)+48>>2]&15](Ia);J=+Zb[c[(c[Ja>>2]|0)+48>>2]&15](Ja);J=Fa+J+ +g[(c[b+20>>2]|0)+752>>2];g[Ka+296>>2]=J*J;v=c[d+12>>2]|0;c[Ka+168>>2]=c[v+0>>2];c[Ka+172>>2]=c[v+4>>2];c[Ka+176>>2]=c[v+8>>2];c[Ka+180>>2]=c[v+12>>2];V=Ka+184|0;c[V+0>>2]=c[v+16>>2];c[V+4>>2]=c[v+20>>2];c[V+8>>2]=c[v+24>>2];c[V+12>>2]=c[v+28>>2];Q=Ka+200|0;c[Q+0>>2]=c[v+32>>2];c[Q+4>>2]=c[v+36>>2];c[Q+8>>2]=c[v+40>>2];c[Q+12>>2]=c[v+44>>2];j=Ka+216|0;c[j+0>>2]=c[v+48>>2];c[j+4>>2]=c[v+52>>2];c[j+8>>2]=c[v+56>>2];c[j+12>>2]=c[v+60>>2];v=Ka+232|0;D=c[e+12>>2]|0;c[v+0>>2]=c[D+0>>2];c[v+4>>2]=c[D+4>>2];c[v+8>>2]=c[D+8>>2];c[v+12>>2]=c[D+12>>2];T=Ka+248|0;c[T+0>>2]=c[D+16>>2];c[T+4>>2]=c[D+20>>2];c[T+8>>2]=c[D+24>>2];c[T+12>>2]=c[D+28>>2];N=Ka+264|0;c[N+0>>2]=c[D+32>>2];c[N+4>>2]=c[D+36>>2];c[N+8>>2]=c[D+40>>2];c[N+12>>2]=c[D+44>>2];F=Ka+280|0;c[F+0>>2]=c[D+48>>2];c[F+4>>2]=c[D+52>>2];c[F+8>>2]=c[D+56>>2];c[F+12>>2]=c[D+60>>2];D=c[Ia+4>>2]|0;do if((D|0)<7?(t=c[Ja+4>>2]|0,(t|0)<7):0){c[Ka+80>>2]=10832;if(!D){D=t;G=0.0}else{G=+Zb[c[(c[Ia>>2]|0)+48>>2]&15](Ia);D=c[Ja+4>>2]|0}if(!D)I=0.0;else I=+Zb[c[(c[Ja>>2]|0)+48>>2]&15](Ja);c[Ka+40>>2]=10560;c[Ka+44>>2]=h;g[Ka+64>>2]=G;g[Ka+68>>2]=I;a[Ka+76>>0]=0;Ba=c[Ia+52>>2]|0;if(Ba){Ca=c[Ja+52>>2]|0;if(!Ca){if((c[Ja+4>>2]|0)!=1)break;t=Ka+32|0;a[t>>0]=1;C=Ka+28|0;c[C>>2]=0;H=Ka+20|0;c[H>>2]=0;D=Ka+24|0;c[D>>2]=0;m=c[e+12>>2]|0;U=+g[Ja+56>>2];W=+g[Ja+60>>2];q=+g[Ja+64>>2];r=U*+g[m>>2]+W*+g[m+4>>2]+q*+g[m+8>>2]+ +g[m+48>>2];p=U*+g[m+16>>2]+W*+g[m+20>>2]+q*+g[m+24>>2]+ +g[m+52>>2];q=U*+g[m+32>>2]+W*+g[m+36>>2]+q*+g[m+40>>2]+ +g[m+56>>2];c[5108]=(c[5108]|0)+1;m=QE(35)|0;if(!m)k=0;else{c[(m+19&-16)+-4>>2]=m;k=m+19&-16}m=c[H>>2]|0;if((m|0)>0){l=0;do{aa=k+(l<<4)|0;$=(c[C>>2]|0)+(l<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];l=l+1|0}while((l|0)!=(m|0))}m=c[C>>2]|0;if(m){if(a[t>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C>>2]=0}a[t>>0]=1;c[C>>2]=k;c[D>>2]=1;m=c[H>>2]|0;g[k+(m<<4)>>2]=r;g[k+(m<<4)+4>>2]=p;g[k+(m<<4)+8>>2]=q;g[k+(m<<4)+12>>2]=0.0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;aa=c[e+12>>2]|0;U=+g[Ja+72>>2];W=+g[Ja+76>>2];r=+g[Ja+80>>2];s=U*+g[aa>>2]+W*+g[aa+4>>2]+r*+g[aa+8>>2]+ +g[aa+48>>2];q=U*+g[aa+16>>2]+W*+g[aa+20>>2]+r*+g[aa+24>>2]+ +g[aa+52>>2];r=U*+g[aa+32>>2]+W*+g[aa+36>>2]+r*+g[aa+40>>2]+ +g[aa+56>>2];if((m|0)==(c[D>>2]|0)?(ha=(m|0)==0?1:m<<1,(m|0)<(ha|0)):0){if(!ha)l=0;else{c[5108]=(c[5108]|0)+1;m=QE((ha<<4|3)+16|0)|0;if(!m)l=0;else{c[(m+19&-16)+-4>>2]=m;l=m+19&-16}m=c[H>>2]|0}if((m|0)>0){k=0;do{aa=l+(k<<4)|0;$=(c[C>>2]|0)+(k<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];k=k+1|0}while((k|0)!=(m|0))}m=c[C>>2]|0;if(m){if(a[t>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C>>2]=0}a[t>>0]=1;c[C>>2]=l;c[D>>2]=ha;m=c[H>>2]|0}aa=c[C>>2]|0;g[aa+(m<<4)>>2]=s;g[aa+(m<<4)+4>>2]=q;g[aa+(m<<4)+8>>2]=r;g[aa+(m<<4)+12>>2]=0.0;m=(c[H>>2]|0)+1|0;c[H>>2]=m;aa=c[e+12>>2]|0;U=+g[Ja+88>>2];W=+g[Ja+92>>2];q=+g[Ja+96>>2];r=U*+g[aa>>2]+W*+g[aa+4>>2]+q*+g[aa+8>>2]+ +g[aa+48>>2];p=U*+g[aa+16>>2]+W*+g[aa+20>>2]+q*+g[aa+24>>2]+ +g[aa+52>>2];q=U*+g[aa+32>>2]+W*+g[aa+36>>2]+q*+g[aa+40>>2]+ +g[aa+56>>2];if((m|0)==(c[D>>2]|0)?(ka=(m|0)==0?1:m<<1,(m|0)<(ka|0)):0){if(!ka)l=0;else{c[5108]=(c[5108]|0)+1;m=QE((ka<<4|3)+16|0)|0;if(!m)l=0;else{c[(m+19&-16)+-4>>2]=m;l=m+19&-16}m=c[H>>2]|0}if((m|0)>0){k=0;do{aa=l+(k<<4)|0;$=(c[C>>2]|0)+(k<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];k=k+1|0}while((k|0)!=(m|0))}m=c[C>>2]|0;if(m){if(a[t>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C>>2]=0}a[t>>0]=1;c[C>>2]=l;c[D>>2]=ka;m=c[H>>2]|0}aa=c[C>>2]|0;g[aa+(m<<4)>>2]=r;g[aa+(m<<4)+4>>2]=p;g[aa+(m<<4)+8>>2]=q;g[aa+(m<<4)+12>>2]=0.0;c[H>>2]=(c[H>>2]|0)+1;q=+g[(c[b+20>>2]|0)+752>>2];eD(Ka+88|0,Ka+168|0,Ka+80|0,c[f+20>>2]|0,0);n=+g[Ka+92>>2];o=+g[Ka+96>>2];p=+g[Ka+100>>2];if(n*n+o*o+p*p>1.1920928955078125e-07){U=1.0/(n*n+o*o+p*p);g[Ka>>2]=n*U;g[Ka+4>>2]=o*U;g[Ka+8>>2]=p*U;g[Ka+12>>2]=0.0;U=+g[Ka+144>>2];W=+Zb[c[(c[Ia>>2]|0)+48>>2]&15](Ia);W=U-W-+Zb[c[(c[Ja>>2]|0)+48>>2]&15](Ja);aD(Ka,c[Ia+52>>2]|0,c[d+12>>2]|0,Ka+16|0,W-q,q,h)}do if((a[b+16>>0]|0)!=0?(na=c[h+4>>2]|0,(c[na+748>>2]|0)!=0):0){l=c[na+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;m=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(k|0)){Fs(na,l+4|0,m+4|0);break}else{Fs(na,m+4|0,k+4|0);break}}while(0);m=c[C>>2]|0;if(m){if(a[t>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[C>>2]=0}a[t>>0]=1;c[C>>2]=0;c[H>>2]=0;c[D>>2]=0;i=Ka;return}Ha=+g[(c[b+20>>2]|0)+752>>2];if(!(a[f+24>>0]|0)){eD(Ka+88|0,Ka+168|0,Ka+40|0,c[f+20>>2]|0,0);n=+g[Ka+72>>2];if((a[Ka+76>>0]|0)!=0&n<0.0){p=+g[Ka+48>>2];o=+g[Ka+56>>2];r=+g[Ka+60>>2];q=+g[Ka+52>>2];Ga=104}}else{ea=c[d+12>>2]|0;ka=c[e+12>>2]|0;c[4824]=(c[4824]|0)+1;Aa=+g[Ba+64>>2];I=+g[Ba+68>>2];u=+g[ea+4>>2];J=+g[Ba+72>>2];w=+g[ea+8>>2];s=+g[ea+16>>2];r=+g[ea+20>>2];A=+g[ea+24>>2];B=+g[ea+32>>2];E=+g[ea+36>>2];G=+g[ea+40>>2];U=+g[Ca+64>>2];W=+g[Ca+68>>2];Ea=+g[Ca+72>>2];Da=Aa*+g[ea>>2]+I*u+J*w+ +g[ea+48>>2]-(U*+g[ka>>2]+W*+g[ka+4>>2]+Ea*+g[ka+8>>2]+ +g[ka+48>>2]);Fa=Aa*s+I*r+J*A+ +g[ea+52>>2]-(U*+g[ka+16>>2]+W*+g[ka+20>>2]+Ea*+g[ka+24>>2]+ +g[ka+52>>2]);Ea=Aa*B+I*E+J*G+ +g[ea+56>>2]-(U*+g[ka+32>>2]+W*+g[ka+36>>2]+Ea*+g[ka+40>>2]+ +g[ka+56>>2]);N=c[Ba+28>>2]|0;a:do if((N|0)>0){n=r;z=0.0;I=3402823466385288598117041.0e14;D=0;J=0.0;y=0.0;r=0.0;K=0.0;while(1){aa=c[Ba+36>>2]|0;U=+g[aa+(D*36|0)+20>>2];W=+g[aa+(D*36|0)+24>>2];o=+g[aa+(D*36|0)+28>>2];p=U*+g[ea>>2]+W*u+o*w;q=U*s+W*n+o*A;o=U*B+W*E+o*G;g[Ka+400>>2]=p;g[Ka+404>>2]=q;g[Ka+408>>2]=o;g[Ka+412>>2]=0.0;if(Da*p+Fa*q+Ea*o<0.0){g[Ka+400>>2]=-p;g[Ka+404>>2]=-q;g[Ka+408>>2]=-o;p=-p;o=-o;q=-q}c[4820]=(c[4820]|0)+1;if($C(ea,ka,Da,Fa,Ea,p,q,o,Ba,Ca,I)|0){c[4822]=(c[4822]|0)+1;PD(Ba,ea,Ka+400|0,Ka+808|0,Ka+784|0,Ka+464|0,Ka+448|0);PD(Ca,ka,Ka+400|0,Ka+720|0,Ka+480|0,Ka+432|0,Ka+416|0);x=+g[Ka+784>>2];w=+g[Ka+720>>2];if(!(x>2],qa=+g[Ka+808>>2],!(sa=(N|0)){u=I;Ga=51;break a}u=+g[ea+4>>2];w=+g[ea+8>>2];s=+g[ea+16>>2];n=+g[ea+20>>2];A=+g[ea+24>>2];B=+g[ea+32>>2];E=+g[ea+36>>2];G=+g[ea+40>>2];J=p;y=o;K=q}}else{u=3402823466385288598117041.0e14;p=0.0;o=0.0;r=0.0;q=0.0;Ga=51}while(0);b:do if((Ga|0)==51){C=c[Ca+28>>2]|0;if((C|0)>0){w=0.0;D=0;I=p;G=o;B=q;while(1){aa=c[Ca+36>>2]|0;U=+g[aa+(D*36|0)+20>>2];W=+g[aa+(D*36|0)+24>>2];o=+g[aa+(D*36|0)+28>>2];p=U*+g[ka>>2]+W*+g[ka+4>>2]+o*+g[ka+8>>2];q=U*+g[ka+16>>2]+W*+g[ka+20>>2]+o*+g[ka+24>>2];o=U*+g[ka+32>>2]+W*+g[ka+36>>2]+o*+g[ka+40>>2];g[Ka+384>>2]=p;g[Ka+388>>2]=q;g[Ka+392>>2]=o;g[Ka+396>>2]=0.0;if(Da*p+Fa*q+Ea*o<0.0){g[Ka+384>>2]=-p;g[Ka+388>>2]=-q;g[Ka+392>>2]=-o;p=-p;o=-o;q=-q}c[4820]=(c[4820]|0)+1;do if($C(ea,ka,Da,Fa,Ea,p,q,o,Ba,Ca,u)|0){c[4822]=(c[4822]|0)+1;PD(Ba,ea,Ka+384|0,Ka+808|0,Ka+784|0,Ka+464|0,Ka+448|0);PD(Ca,ka,Ka+384|0,Ka+720|0,Ka+480|0,Ka+432|0,Ka+416|0);x=+g[Ka+784>>2];s=+g[Ka+720>>2];do if(x>2];y=+g[Ka+808>>2];if(n=(C|0))break;else{w=E;I=p;G=o;B=q}}}m=c[Ba+48>>2]|0;if((m|0)>0){C=c[Ca+48>>2]|0;U=0.0;W=0.0;n=0.0;na=0;fa=-1;D=-1;ja=0.0;A=0.0;G=0.0;z=0.0;E=0.0;ia=0.0;y=0.0;M=0.0;s=0.0;L=0.0;I=0.0;K=0.0;x=0.0;J=0.0;pa=0.0;w=0.0;while(1){aa=c[Ba+56>>2]|0;xa=+g[aa+(na<<4)>>2];B=+g[aa+(na<<4)+4>>2];ya=+g[aa+(na<<4)+8>>2];Aa=xa*+g[ea>>2]+B*+g[ea+4>>2]+ya*+g[ea+8>>2];za=xa*+g[ea+16>>2]+B*+g[ea+20>>2]+ya*+g[ea+24>>2];ya=xa*+g[ea+32>>2]+B*+g[ea+36>>2]+ya*+g[ea+40>>2];if((C|0)>0){xa=U;la=n;f=0;va=p;wa=q;ua=A;ta=z;ra=y;while(1){aa=c[Ca+56>>2]|0;A=+g[aa+(f<<4)>>2];B=+g[aa+(f<<4)+4>>2];oa=+g[aa+(f<<4)+8>>2];U=A*+g[ka>>2]+B*+g[ka+4>>2]+oa*+g[ka+8>>2];ma=A*+g[ka+16>>2]+B*+g[ka+20>>2]+oa*+g[ka+24>>2];oa=A*+g[ka+32>>2]+B*+g[ka+36>>2]+oa*+g[ka+40>>2];g[Ka+368>>2]=za*oa-ya*ma;g[Ka+372>>2]=ya*U-Aa*oa;g[Ka+376>>2]=Aa*ma-za*U;g[Ka+380>>2]=0.0;do if(!(+O(+(za*oa-ya*ma))>1.0e-06)){if(+O(+(ya*U-Aa*oa))>1.0e-06){Ga=69;break}if(!(+O(+(Aa*ma-za*U))>1.0e-06)){U=xa;p=va;q=wa;B=ja;A=ua;z=ta;qa=ia;sa=s;ma=pa}else Ga=69}else Ga=69;while(0);do if((Ga|0)==69){Ga=0;B=1.0/+P(+((za*oa-ya*ma)*(za*oa-ya*ma)+(ya*U-Aa*oa)*(ya*U-Aa*oa)+(Aa*ma-za*U)*(Aa*ma-za*U)));p=(za*oa-ya*ma)*B;g[Ka+368>>2]=p;q=(ya*U-Aa*oa)*B;g[Ka+372>>2]=q;B=(Aa*ma-za*U)*B;g[Ka+376>>2]=B;if(Da*p+Fa*q+Ea*B<0.0){g[Ka+368>>2]=-p;g[Ka+372>>2]=-q;g[Ka+376>>2]=-B;p=-p;B=-B;q=-q}c[4820]=(c[4820]|0)+1;if(!($C(ea,ka,Da,Fa,Ea,p,q,B,Ba,Ca,u)|0)){U=xa;p=va;q=wa;B=ja;A=ua;z=ta;qa=ia;sa=s;ma=pa;break}c[4822]=(c[4822]|0)+1;PD(Ba,ea,Ka+368|0,Ka+808|0,Ka+784|0,Ka+464|0,Ka+448|0);PD(Ca,ka,Ka+368|0,Ka+720|0,Ka+480|0,Ka+432|0,Ka+416|0);A=+g[Ka+784>>2];z=+g[Ka+720>>2];do if(!(A>2];y=+g[Ka+808>>2];if(n>2];z=+g[Ka+452>>2];n=+g[Ka+456>>2];ia=+g[Ka+432>>2];y=+g[Ka+436>>2];s=+g[Ka+440>>2];break}else{A=n-y;T=1;ja=+g[Ka+464>>2];z=+g[Ka+468>>2];n=+g[Ka+472>>2];ia=+g[Ka+416>>2];y=+g[Ka+420>>2];s=+g[Ka+424>>2];break}}else{A=la;T=0;z=ua;n=ta;y=ra}while(0);if(!T){t=0;p=va;q=wa;break b}if(!(A>2]|0;if((f|0)>=(C|0))break;else{xa=U;va=p;wa=q;ja=B;ua=A;ta=z;ia=qa;s=sa;pa=ma}}m=c[Ba+48>>2]|0;n=la;ja=B;ia=qa;y=ra;s=sa;la=ma}else la=pa;na=na+1|0;if((na|0)>=(m|0)){C=fa;u=la;break}else pa=la}}else{U=0.0;W=0.0;C=-1;D=-1;G=0.0;E=0.0;M=0.0;L=0.0;I=0.0;K=0.0;x=0.0;J=0.0;u=0.0;w=0.0}if((D|C|0)>-1){n=K-I;s=M-G;y=L-E;A=W*U+x*u+J*w;z=W*n+x*s+J*y;B=U*n+u*s+w*y;do if(!(1.0-A*A==0.0))if((z-A*B)/(1.0-A*A)<-1000000015047466219876688.0e6)G=-1000000015047466219876688.0e6;else{if(!((z-A*B)/(1.0-A*A)>1000000015047466219876688.0e6)){G=(z-A*B)/(1.0-A*A);break}G=1000000015047466219876688.0e6}else G=0.0;while(0);E=A*G-B;do if(E<-1000000015047466219876688.0e6){if(A*-1000000015047466219876688.0e6+z<-1000000015047466219876688.0e6){B=-1000000015047466219876688.0e6;E=-1000000015047466219876688.0e6;break}if(!(A*-1000000015047466219876688.0e6+z>1000000015047466219876688.0e6)){B=A*-1000000015047466219876688.0e6+z;E=-1000000015047466219876688.0e6;break}B=1000000015047466219876688.0e6;E=-1000000015047466219876688.0e6}else{if(!(E>1000000015047466219876688.0e6)){B=G;break}if(A*1000000015047466219876688.0e6+z<-1000000015047466219876688.0e6){B=-1000000015047466219876688.0e6;E=1000000015047466219876688.0e6;break}if(!(A*1000000015047466219876688.0e6+z>1000000015047466219876688.0e6)){B=A*1000000015047466219876688.0e6+z;E=1000000015047466219876688.0e6;break}B=1000000015047466219876688.0e6;E=1000000015047466219876688.0e6}while(0);z=U*E;I=E*u;G=E*w;A=n-W*B+z;w=s-B*x+I;s=y-B*J+G;g[Ka+352>>2]=A;g[Ka+356>>2]=w;g[Ka+360>>2]=s;g[Ka+364>>2]=0.0;if(A*A+w*w+s*s>1.1920928955078125e-07){n=+P(+(A*A+w*w+s*s));g[Ka+352>>2]=A*(1.0/n);g[Ka+356>>2]=1.0/n*w;g[Ka+360>>2]=1.0/n*s;if(A*(1.0/n)*Da+1.0/n*w*Fa+1.0/n*s*Ea<0.0){g[Ka+352>>2]=-(A*(1.0/n));g[Ka+356>>2]=-(1.0/n*w);g[Ka+360>>2]=-(1.0/n*s)}g[Ka+336>>2]=K+z;g[Ka+340>>2]=M+I;g[Ka+344>>2]=L+G;g[Ka+348>>2]=0.0;oc[c[(c[h>>2]|0)+16>>2]&15](h,Ka+352|0,Ka+336|0,-n)}}if(Da*p+Fa*q+Ea*o<0.0){t=1;p=-p;o=-o;r=0.0;q=-q}else t=1}while(0);if(t){n=-1000000015047466219876688.0e6;Ga=104}}if((Ga|0)==104){V=c[Ia+52>>2]|0;Q=c[Ja+52>>2]|0;T=c[d+12>>2]|0;N=c[e+12>>2]|0;J=n-Ha;E=1.0/+P(+(p*p+q*q+o*o));I=p*E;G=q*E;E=o*E;g[Ka+808>>2]=I;g[Ka+812>>2]=G;g[Ka+816>>2]=E;g[Ka+820>>2]=r;m=c[Q+28>>2]|0;C=c[Q+36>>2]|0;if((m|0)>0){x=+g[N>>2];w=+g[N+4>>2];u=+g[N+8>>2];s=+g[N+16>>2];r=+g[N+20>>2];q=+g[N+24>>2];p=+g[N+32>>2];o=+g[N+36>>2];y=+g[N+40>>2];t=-1;B=-3402823466385288598117041.0e14;v=0;while(1){n=+g[C+(v*36|0)+20>>2];z=+g[C+(v*36|0)+24>>2];A=+g[C+(v*36|0)+28>>2];l=(n*x+z*w+A*u)*I+(n*s+z*r+A*q)*G+(n*p+z*o+A*y)*E>B;t=l?v:t;v=v+1|0;if((v|0)==(m|0)){F=t;break}else B=l?(n*x+z*w+A*u)*I+(n*s+z*r+A*q)*G+(n*p+z*o+A*y)*E:B}}else F=-1;a[Ka+800>>0]=1;H=Ka+796|0;c[H>>2]=0;c[Ka+788>>2]=0;c[Ka+792>>2]=0;D=c[C+(F*36|0)+4>>2]|0;c:do if((D|0)>0){C=C+(F*36|0)+12|0;m=0;v=0;j=0;l=0;while(1){aa=c[(c[C>>2]|0)+(l<<2)>>2]|0;$=c[Q+16>>2]|0;U=+g[$+(aa<<4)>>2];W=+g[$+(aa<<4)+4>>2];u=+g[$+(aa<<4)+8>>2];w=U*+g[N>>2]+W*+g[N+4>>2]+u*+g[N+8>>2]+ +g[N+48>>2];s=U*+g[N+16>>2]+W*+g[N+20>>2]+u*+g[N+24>>2]+ +g[N+52>>2];u=U*+g[N+32>>2]+W*+g[N+36>>2]+u*+g[N+40>>2]+ +g[N+56>>2];if((m|0)==(v|0)){t=(v|0)==0?1:v<<1;if((v|0)<(t|0)){do if(!t){k=j;j=0}else{c[5108]=(c[5108]|0)+1;m=QE((t<<4|3)+16|0)|0;if(!m){k=j;j=0;break}c[(m+19&-16)+-4>>2]=m;k=c[H>>2]|0;j=m+19&-16}while(0);if((v|0)>0){m=0;do{aa=j+(m<<4)|0;$=k+(m<<4)|0;c[aa+0>>2]=c[$+0>>2];c[aa+4>>2]=c[$+4>>2];c[aa+8>>2]=c[$+8>>2];c[aa+12>>2]=c[$+12>>2];m=m+1|0}while((m|0)!=(v|0))}if(!k)m=v;else{if(!(a[Ka+800>>0]|0))m=v;else{c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0);m=c[Ka+788>>2]|0}c[H>>2]=0}a[Ka+800>>0]=1;c[H>>2]=j;c[Ka+792>>2]=t}else m=v}g[j+(m<<4)>>2]=w;g[j+(m<<4)+4>>2]=s;g[j+(m<<4)+8>>2]=u;g[j+(m<<4)+12>>2]=0.0;m=(c[Ka+788>>2]|0)+1|0;c[Ka+788>>2]=m;l=l+1|0;if((l|0)>=(D|0))break c;v=c[Ka+792>>2]|0}}else j=0;while(0);if((F|0)>-1){aD(Ka+808|0,V,T,Ka+784|0,J,Ha,h);j=c[H>>2]|0}if(j){if(a[Ka+800>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[H>>2]=0}}if(!(a[b+16>>0]|0)){i=Ka;return}k=c[h+4>>2]|0;if(!(c[k+748>>2]|0)){i=Ka;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)){Fs(k,l+4|0,j+4|0);i=Ka;return}else{Fs(k,j+4|0,m+4|0);i=Ka;return}}}while(0);eD(Ka+88|0,Ka+168|0,h,c[f+20>>2]|0,0);if(((c[b+28>>2]|0)!=0?(c[(c[h+4>>2]|0)+748>>2]|0)<(c[b+32>>2]|0):0)?(U=+g[Ka+92>>2],y=+g[Ka+96>>2],L=+g[Ka+100>>2],U*U+y*y+L*L>1.1920928955078125e-07):0){K=1.0/(U*U+y*y+L*L);if(+O(+(L*K))>.7071067690849304){E=1.0/+P(+(L*K*(L*K)+y*K*(y*K)));G=0.0;B=y*K*E;E=-(L*K*E)}else{E=1.0/+P(+(U*K*(U*K)+y*K*(y*K)));G=-(y*K*E);B=0.0;E=U*K*E}n=+Zb[c[(c[Ia>>2]|0)+16>>2]&15](Ia);J=+Zb[c[(c[Ja>>2]|0)+16>>2]&15](Ja);I=.019999999552965164/(n>2]=c[Ka+168>>2];c[Ka+724>>2]=c[Ka+172>>2];c[Ka+728>>2]=c[Ka+176>>2];c[Ka+732>>2]=c[Ka+180>>2];c[Ka+736>>2]=c[V+0>>2];c[Ka+740>>2]=c[V+4>>2];c[Ka+744>>2]=c[V+8>>2];c[Ka+748>>2]=c[V+12>>2];c[Ka+752>>2]=c[Q+0>>2];c[Ka+756>>2]=c[Q+4>>2];c[Ka+760>>2]=c[Q+8>>2];c[Ka+764>>2]=c[Q+12>>2];c[Ka+768>>2]=c[j+0>>2];c[Ka+772>>2]=c[j+4>>2];c[Ka+776>>2]=c[j+8>>2];c[Ka+780>>2]=c[j+12>>2]}else{c[Ka+720>>2]=c[v+0>>2];c[Ka+724>>2]=c[v+4>>2];c[Ka+728>>2]=c[v+8>>2];c[Ka+732>>2]=c[v+12>>2];c[Ka+736>>2]=c[T+0>>2];c[Ka+740>>2]=c[T+4>>2];c[Ka+744>>2]=c[T+8>>2];c[Ka+748>>2]=c[T+12>>2];c[Ka+752>>2]=c[N+0>>2];c[Ka+756>>2]=c[N+4>>2];c[Ka+760>>2]=c[N+8>>2];c[Ka+764>>2]=c[N+12>>2];c[Ka+768>>2]=c[F+0>>2];c[Ka+772>>2]=c[F+4>>2];c[Ka+776>>2]=c[F+8>>2];c[Ka+780>>2]=c[F+12>>2]}D=c[b+28>>2]|0;if((D|0)>0?(A=B*B+(E*E+G*G),W=I>.39269909262657166?.19634954631328583:I*.5,ea=Ka+516|0,_=Ka+532|0,H=Ka+548|0,ba=Ka+564|0,fa=Ka+580|0,Z=Ka+596|0,k=Ka+612|0,ca=Ka+628|0,ga=Ka+644|0,Y=Ka+660|0,$=Ka+736|0,l=Ka+676|0,X=Ka+752|0,aa=Ka+692|0,da=Ka+768|0,A>1.1920928955078125e-07):0){I=+S(+W)/+P(+A);z=G*I;A=E*I;E=B*I;G=+R(+W);I=+P(+(L*K*(L*K)+(U*K*(U*K)+y*K*(y*K))));if(n>2]|0;q=+g[Ja>>2];ma=+g[Ja+16>>2];p=+g[Ja+32>>2];M=+g[Ja+4>>2];la=+g[Ja+20>>2];o=+g[Ja+36>>2];Ha=+g[Ja+8>>2];xa=+g[Ja+24>>2];W=+g[Ja+40>>2];g[Ka+168>>2]=(B*va+wa*Fa)*p+(ma*(B*Fa-wa*va)+q*(1.0-(Ea*Fa+r*va)));g[Ka+172>>2]=(1.0-(Ea*Fa+r*va))*M+(B*Fa-wa*va)*la+(B*va+wa*Fa)*o;g[Ka+176>>2]=(1.0-(Ea*Fa+r*va))*Ha+(B*Fa-wa*va)*xa+(B*va+wa*Fa)*W;g[Ka+180>>2]=0.0;g[Ka+184>>2]=(Ea*va-wa*Aa)*p+(q*(B*Fa+wa*va)+ma*(1.0-(B*Aa+r*va)));g[Ka+188>>2]=(B*Fa+wa*va)*M+(1.0-(B*Aa+r*va))*la+(Ea*va-wa*Aa)*o;g[Ka+192>>2]=(B*Fa+wa*va)*Ha+(1.0-(B*Aa+r*va))*xa+(Ea*va-wa*Aa)*W;g[Ka+196>>2]=0.0;g[Ka+200>>2]=q*(B*va-wa*Fa)+ma*(Ea*va+wa*Aa)+p*(1.0-(B*Aa+Ea*Fa));g[Ka+204>>2]=(B*va-wa*Fa)*M+(Ea*va+wa*Aa)*la+(1.0-(B*Aa+Ea*Fa))*o;g[Ka+208>>2]=(B*va-wa*Fa)*Ha+(Ea*va+wa*Aa)*xa+(1.0-(B*Aa+Ea*Fa))*W;g[Ka+212>>2]=0.0;Ja=c[e+12>>2]|0;c[v+0>>2]=c[Ja+0>>2];c[v+4>>2]=c[Ja+4>>2];c[v+8>>2]=c[Ja+8>>2];c[v+12>>2]=c[Ja+12>>2];c[T+0>>2]=c[Ja+16>>2];c[T+4>>2]=c[Ja+20>>2];c[T+8>>2]=c[Ja+24>>2];c[T+12>>2]=c[Ja+28>>2];c[N+0>>2]=c[Ja+32>>2];c[N+4>>2]=c[Ja+36>>2];c[N+8>>2]=c[Ja+40>>2];c[N+12>>2]=c[Ja+44>>2];c[F+0>>2]=c[Ja+48>>2];c[F+4>>2]=c[Ja+52>>2];c[F+8>>2]=c[Ja+56>>2];c[F+12>>2]=c[Ja+60>>2];Ja=c[f+20>>2]|0;c[Ka+480>>2]=10752;c[Ka+512>>2]=h;c[ea+0>>2]=c[Ka+168>>2];c[ea+4>>2]=c[Ka+172>>2];c[ea+8>>2]=c[Ka+176>>2];c[ea+12>>2]=c[Ka+180>>2];c[_+0>>2]=c[V+0>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];c[H+0>>2]=c[Q+0>>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[ba+0>>2]=c[j+0>>2];c[ba+4>>2]=c[j+4>>2];c[ba+8>>2]=c[j+8>>2];c[ba+12>>2]=c[j+12>>2];c[fa+0>>2]=c[v+0>>2];c[fa+4>>2]=c[v+4>>2];c[fa+8>>2]=c[v+8>>2];c[fa+12>>2]=c[v+12>>2];c[Z+0>>2]=c[T+0>>2];c[Z+4>>2]=c[T+4>>2];c[Z+8>>2]=c[T+8>>2];c[Z+12>>2]=c[T+12>>2];c[k+0>>2]=c[N+0>>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[ca+0>>2]=c[F+0>>2];c[ca+4>>2]=c[F+4>>2];c[ca+8>>2]=c[F+8>>2];c[ca+12>>2]=c[F+12>>2];c[ga+0>>2]=c[Ka+720>>2];c[ga+4>>2]=c[Ka+724>>2];c[ga+8>>2]=c[Ka+728>>2];c[ga+12>>2]=c[Ka+732>>2];c[Y+0>>2]=c[$+0>>2];c[Y+4>>2]=c[$+4>>2];c[Y+8>>2]=c[$+8>>2];c[Y+12>>2]=c[$+12>>2];c[l+0>>2]=c[X+0>>2];c[l+4>>2]=c[X+4>>2];c[l+8>>2]=c[X+8>>2];c[l+12>>2]=c[X+12>>2];c[aa+0>>2]=c[da+0>>2];c[aa+4>>2]=c[da+4>>2];c[aa+8>>2]=c[da+8>>2];c[aa+12>>2]=c[da+12>>2];a[Ka+708>>0]=n>2]=Ja;eD(Ka+88|0,Ka+168|0,Ka+480|0,Ja,0);D=c[b+28>>2]|0;C=C+1|0}while((C|0)<(D|0))}else{C=0;do{ma=+(C|0)*(6.2831854820251465/+(D|0))*.5;Aa=+S(+ma)/I;ma=+R(+ma);Ja=c[d+12>>2]|0;c[Ka+168>>2]=c[Ja+0>>2];c[Ka+172>>2]=c[Ja+4>>2];c[Ka+176>>2]=c[Ja+8>>2];c[Ka+180>>2]=c[Ja+12>>2];c[V+0>>2]=c[Ja+16>>2];c[V+4>>2]=c[Ja+20>>2];c[V+8>>2]=c[Ja+24>>2];c[V+12>>2]=c[Ja+28>>2];c[Q+0>>2]=c[Ja+32>>2];c[Q+4>>2]=c[Ja+36>>2];c[Q+8>>2]=c[Ja+40>>2];c[Q+12>>2]=c[Ja+44>>2];c[j+0>>2]=c[Ja+48>>2];c[j+4>>2]=c[Ja+52>>2];c[j+8>>2]=c[Ja+56>>2];c[j+12>>2]=c[Ja+60>>2];va=E*-(y*K*Aa)+(z*ma+G*-(U*K*Aa))-A*-(L*K*Aa);Fa=z*-(L*K*Aa)+(A*ma+G*-(y*K*Aa))-E*-(U*K*Aa);wa=A*-(U*K*Aa)+(E*ma+G*-(L*K*Aa))-z*-(y*K*Aa);q=G*ma-z*-(U*K*Aa)-A*-(y*K*Aa)-E*-(L*K*Aa);B=L*K*Aa*Fa+(U*K*Aa*q+ma*va)-y*K*Aa*wa;Ea=U*K*Aa*wa+(ma*Fa+y*K*Aa*q)-L*K*Aa*va;r=y*K*Aa*va+(L*K*Aa*q+ma*wa)-U*K*Aa*Fa;wa=ma*q-U*K*Aa*va-y*K*Aa*Fa-L*K*Aa*wa;Aa=B*(2.0/(wa*wa+(r*r+(B*B+Ea*Ea))));Fa=Ea*(2.0/(wa*wa+(r*r+(B*B+Ea*Ea))));va=r*(2.0/(wa*wa+(r*r+(B*B+Ea*Ea))));Ja=c[e+12>>2]|0;q=+g[Ja>>2];ma=+g[Ja+16>>2];p=+g[Ja+32>>2];M=+g[Ja+4>>2];la=+g[Ja+20>>2];o=+g[Ja+36>>2];Ha=+g[Ja+8>>2];xa=+g[Ja+24>>2];W=+g[Ja+40>>2];g[Ka+232>>2]=(B*va+wa*Fa)*p+(ma*(B*Fa-wa*va)+q*(1.0-(Ea*Fa+r*va)));g[Ka+236>>2]=(1.0-(Ea*Fa+r*va))*M+(B*Fa-wa*va)*la+(B*va+wa*Fa)*o;g[Ka+240>>2]=(1.0-(Ea*Fa+r*va))*Ha+(B*Fa-wa*va)*xa+(B*va+wa*Fa)*W;g[Ka+244>>2]=0.0;g[Ka+248>>2]=(Ea*va-wa*Aa)*p+(q*(B*Fa+wa*va)+ma*(1.0-(B*Aa+r*va)));g[Ka+252>>2]=(B*Fa+wa*va)*M+(1.0-(B*Aa+r*va))*la+(Ea*va-wa*Aa)*o;g[Ka+256>>2]=(B*Fa+wa*va)*Ha+(1.0-(B*Aa+r*va))*xa+(Ea*va-wa*Aa)*W;g[Ka+260>>2]=0.0;g[Ka+264>>2]=q*(B*va-wa*Fa)+ma*(Ea*va+wa*Aa)+p*(1.0-(B*Aa+Ea*Fa));g[Ka+268>>2]=(B*va-wa*Fa)*M+(Ea*va+wa*Aa)*la+(1.0-(B*Aa+Ea*Fa))*o;g[Ka+272>>2]=(B*va-wa*Fa)*Ha+(Ea*va+wa*Aa)*xa+(1.0-(B*Aa+Ea*Fa))*W;g[Ka+276>>2]=0.0;Ja=c[f+20>>2]|0;c[Ka+480>>2]=10752;c[Ka+512>>2]=h;c[ea+0>>2]=c[Ka+168>>2];c[ea+4>>2]=c[Ka+172>>2];c[ea+8>>2]=c[Ka+176>>2];c[ea+12>>2]=c[Ka+180>>2];c[_+0>>2]=c[V+0>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];c[H+0>>2]=c[Q+0>>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[ba+0>>2]=c[j+0>>2];c[ba+4>>2]=c[j+4>>2];c[ba+8>>2]=c[j+8>>2];c[ba+12>>2]=c[j+12>>2];c[fa+0>>2]=c[v+0>>2];c[fa+4>>2]=c[v+4>>2];c[fa+8>>2]=c[v+8>>2];c[fa+12>>2]=c[v+12>>2];c[Z+0>>2]=c[T+0>>2];c[Z+4>>2]=c[T+4>>2];c[Z+8>>2]=c[T+8>>2];c[Z+12>>2]=c[T+12>>2];c[k+0>>2]=c[N+0>>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[ca+0>>2]=c[F+0>>2];c[ca+4>>2]=c[F+4>>2];c[ca+8>>2]=c[F+8>>2];c[ca+12>>2]=c[F+12>>2];c[ga+0>>2]=c[Ka+720>>2];c[ga+4>>2]=c[Ka+724>>2];c[ga+8>>2]=c[Ka+728>>2];c[ga+12>>2]=c[Ka+732>>2];c[Y+0>>2]=c[$+0>>2];c[Y+4>>2]=c[$+4>>2];c[Y+8>>2]=c[$+8>>2];c[Y+12>>2]=c[$+12>>2];c[l+0>>2]=c[X+0>>2];c[l+4>>2]=c[X+4>>2];c[l+8>>2]=c[X+8>>2];c[l+12>>2]=c[X+12>>2];c[aa+0>>2]=c[da+0>>2];c[aa+4>>2]=c[da+4>>2];c[aa+8>>2]=c[da+8>>2];c[aa+12>>2]=c[da+12>>2];a[Ka+708>>0]=n>2]=Ja;eD(Ka+88|0,Ka+168|0,Ka+480|0,Ja,0);D=c[b+28>>2]|0;C=C+1|0}while((C|0)<(D|0))}}}if(!(a[b+16>>0]|0)){i=Ka;return}m=c[h+4>>2]|0;if(!(c[m+748>>2]|0)){i=Ka;return}l=c[m+740>>2]|0;k=c[(c[h+8>>2]|0)+8>>2]|0;j=c[(c[h+12>>2]|0)+8>>2]|0;if((l|0)==(k|0)){Fs(m,l+4|0,j+4|0);i=Ka;return}else{Fs(m,j+4|0,k+4|0);i=Ka;return}}function Zv(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;b=i;i=i+624|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];k=+g[e+116>>2]-+g[e+52>>2];l=+g[e+120>>2]-+g[e+56>>2];j=+g[e+124>>2]-+g[e+60>>2];m=+g[d+252>>2];if(p*p+o*o+n*n>2],k*k+l*l+j*j>2]|0;j=+g[e+248>>2];c[b+576>>2]=0;g[b+580>>2]=1.0;g[b+584>>2]=1.0;g[b+588>>2]=1.0;g[b+592>>2]=0.0;c[b+568>>2]=12008;c[b+572>>2]=8;g[b+596>>2]=j;g[b+612>>2]=j;c[b+392>>2]=7512;g[b+556>>2]=999999984306749440.0;c[b+560>>2]=0;g[b+564>>2]=0.0;g[b+340>>2]=9.999999747378752e-05;a[b+364>>0]=0;c[b+16>>2]=19128;c[b+20>>2]=b+32;c[b+24>>2]=f;c[b+28>>2]=b+568;if(UC(b+16|0,d+4|0,d+68|0,e+4|0,e+68|0,b+392|0)|0){j=+g[b+556>>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))j=1.0}else j=1.0;f=c[e+192>>2]|0;p=+g[d+248>>2];c[b+576>>2]=0;g[b+580>>2]=1.0;g[b+584>>2]=1.0;g[b+588>>2]=1.0;g[b+592>>2]=0.0;c[b+568>>2]=12008;c[b+572>>2]=8;g[b+596>>2]=p;g[b+612>>2]=p;c[b+392>>2]=7512;g[b+556>>2]=999999984306749440.0;c[b+560>>2]=0;g[b+564>>2]=0.0;g[b+340>>2]=9.999999747378752e-05;a[b+364>>0]=0;c[b>>2]=19128;c[b+4>>2]=b+32;c[b+8>>2]=b+568;c[b+12>>2]=f;if(!(UC(b,d+4|0,d+68|0,e+4|0,e+68|0,b+392|0)|0)){i=b;return +j}k=+g[b+556>>2];if(+g[d+244>>2]>k)g[d+244>>2]=k;if(+g[e+244>>2]>k)g[e+244>>2]=k;if(!(j>k)){i=b;return +j}j=k;i=b;return +j}function _v(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+20>>2]|0)){i=k;return}if(!(a[b+16>>0]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+20>>2];c[d+4>>2]=e+1;i=k;return}function $v(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;e=i;f=c[d>>2]|0;f=ec[c[(c[f>>2]|0)+56>>2]&31](f,36)|0;if(!f){f=0;i=e;return f|0}h=c[d+4>>2]|0;k=c[b+12>>2]|0;j=c[b+8>>2]|0;g=c[b+16>>2]|0;b=c[b+20>>2]|0;c[f+4>>2]=c[d>>2];c[f>>2]=10424;c[f+8>>2]=k;c[f+12>>2]=j;a[f+16>>0]=0;c[f+20>>2]=h;a[f+24>>0]=0;c[f+28>>2]=g;c[f+32>>2]=b;i=e;return f|0}function aw(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+0>>2];c[b+12>>2]=c[d+4>>2];c[b+16>>2]=c[d+8>>2];c[b+20>>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)){e=b+4|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;oc[b&15](e,d,h,f);i=h;return}a[b+36>>0]=1;e=b+4|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;oc[b&15](e,d,h,f);i=h;return}function bw(a,b,c){a=a|0;b=b|0;c=c|0;return}function cw(a,b,c){a=a|0;b=b|0;c=c|0;return}function dw(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function ew(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;j=+g[d>>2];k=+g[d+4>>2];l=+g[d+8>>2];m=+g[e>>2];n=+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];I=+g[b+164>>2];r=+g[b+168>>2];J=+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*I+B*r+A*J)+(m*(z*I+y*r+x*J)+n*(w*I+u*r+s*J))+((x*F+s*E+A*D)*J+(I*(z*F+w*E+C*D)+r*(y*F+u*E+B*D))+ +g[b+212>>2]);q=h*(C*H+B*G+A*q)+(m*(z*H+y*G+x*q)+n*(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)+(m*(z*v+y*t+x*p)+n*(w*v+u*t+s*p)));g[o>>2]=r;g[o+4>>2]=q;g[o+8>>2]=p;g[o+12>>2]=0.0;h=(j*f+m-r)*+g[d>>2]+(k*f+n-q)*+g[d+4>>2]+(l*f+h-p)*+g[d+8>>2];e=b+32|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;oc[b&15](e,d,o,h);i=o;return}else{B=+g[b+36>>2];u=+g[b+52>>2];r=+g[b+68>>2];s=+g[b+40>>2];w=+g[b+56>>2];D=+g[b+72>>2];t=+g[b+44>>2];y=+g[b+60>>2];p=+g[b+76>>2];F=-+g[b+84>>2];E=-+g[b+88>>2];q=-+g[b+92>>2];I=+g[b+164>>2];z=+g[b+168>>2];J=+g[b+172>>2];H=+g[b+180>>2];G=+g[b+184>>2];A=+g[b+188>>2];v=+g[b+196>>2];x=+g[b+200>>2];C=+g[b+204>>2];z=(l*f+h)*(r*I+D*z+p*J)+((j*f+m)*(B*I+s*z+t*J)+(k*f+n)*(u*I+w*z+y*J))+((t*F+y*E+p*q)*J+(I*(B*F+u*E+r*q)+z*(s*F+w*E+D*q))+ +g[b+212>>2]);A=(l*f+h)*(r*H+D*G+p*A)+((j*f+m)*(B*H+s*G+t*A)+(k*f+n)*(u*H+w*G+y*A))+((B*F+u*E+r*q)*H+(s*F+w*E+D*q)*G+(t*F+y*E+p*q)*A+ +g[b+216>>2]);C=(B*F+u*E+r*q)*v+(s*F+w*E+D*q)*x+(t*F+y*E+p*q)*C+ +g[b+220>>2]+((l*f+h)*(r*v+D*x+p*C)+((j*f+m)*(B*v+s*x+t*C)+(k*f+n)*(u*v+w*x+y*C)));g[o>>2]=z+j*(j*(z-m)+k*(A-n)+l*(C-h));g[o+4>>2]=A+k*(j*(z-m)+k*(A-n)+l*(C-h));g[o+8>>2]=C+l*(j*(z-m)+k*(A-n)+l*(C-h));g[o+12>>2]=0.0;C=j*(z-m)+k*(A-n)+l*(C-h);e=b+32|0;e=c[e>>2]|0;b=c[e>>2]|0;b=b+16|0;b=c[b>>2]|0;oc[b&15](e,d,o,C);i=o;return}}function fw(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function gw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return}function hw(a,b,c){a=a|0;b=b|0;c=c|0;return}function iw(a,b,c){a=a|0;b=b|0;c=c|0;return}function jw(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;m=i;while(1){l=c[a+12>>2]|0;k=c[l+(((b+d|0)/2|0)<<3)>>2]|0;e=b;f=d;while(1){while(1){j=e+1|0;if((c[l+(e<<3)>>2]|0)<(k|0))e=j;else break}while(1){g=l+(f<<3)|0;h=f+-1|0;if((k|0)<(c[g>>2]|0))f=h;else break}if((e|0)<=(f|0)){e=l+(e<<3)|0;n=c[e>>2]|0;l=c[e+4>>2]|0;o=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=o;e=(c[a+12>>2]|0)+(f<<3)|0;c[e>>2]=n;c[e+4>>2]=l;e=j;f=h}if((e|0)>(f|0))break;l=c[a+12>>2]|0}if((f|0)>(b|0))kw(a,b,f);if((e|0)<(d|0))b=e;else break}i=m;return}function lw(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;c[b+4>>2]=d;c[b>>2]=11016;a[b+24>>0]=1;c[b+20>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;a[b+28>>0]=h&1;c[b+32>>2]=e;a[b+36>>0]=0;c[b+40>>2]=c[(c[(h?g:f)+4>>2]|0)+68>>2];mw(b,f,g);i=j;return}function mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i+32|0;l=(a[b+28>>0]|0)!=0;m=l?e:d;l=l?d:e;j=c[m+4>>2]|0;k=c[j+16>>2]|0;d=c[b+12>>2]|0;if((d|0)<(k|0)){if((c[b+16>>2]|0)<(k|0)){if(!k){g=d;h=0}else{c[5108]=(c[5108]|0)+1;e=QE((k<<2|3)+16|0)|0;if(!e)e=0;else{c[(e+19&-16)+-4>>2]=e;e=e+19&-16}g=c[b+12>>2]|0;h=e}if((g|0)>0){e=0;do{f=h+(e<<2)|0;if(f)c[f>>2]=c[(c[b+20>>2]|0)+(e<<2)>>2];e=e+1|0}while((e|0)!=(g|0))}e=c[b+20>>2]|0;if(e){if(a[b+24>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0)}c[b+20>>2]=0}a[b+24>>0]=1;c[b+20>>2]=h;c[b+16>>2]=k;f=b+20|0}else f=b+20|0;do{e=(c[f>>2]|0)+(d<<2)|0;if(e)c[e>>2]=0;d=d+1|0}while((d|0)!=(k|0))}c[b+12>>2]=k;if((k|0)<=0){i=n;return}e=0;do{if(!(c[j+64>>2]|0)){f=c[(c[j+24>>2]|0)+(e*80|0)+64>>2]|0;g=c[m+8>>2]|0;h=c[m+12>>2]|0;c[n>>2]=m;c[n+4>>2]=f;c[n+8>>2]=g;c[n+12>>2]=h;c[n+16>>2]=-1;c[n+20>>2]=e;h=c[b+4>>2]|0;h=Rb[c[(c[h>>2]|0)+8>>2]&31](h,n,l,c[b+32>>2]|0)|0;c[(c[b+20>>2]|0)+(e<<2)>>2]=h}else c[(c[b+20>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(k|0));i=n;return}function nw(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;c[b>>2]=11016;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){Jb[c[c[e>>2]>>2]&255](e);e=c[b+4>>2]|0;Lb[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;d=b+16|0;c[d>>2]=0;i=g;return}if(a[b+24>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+16|0;c[d>>2]=0;i=g;return}function ow(a){a=a|0;var b=0;b=i;nw(a);RE(a);i=b;return}function pw(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,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,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;v=i;i=i+320|0;u=(a[b+28>>0]|0)!=0;t=u?e:d;u=u?d:e;s=c[t+4>>2]|0;if((c[s+68>>2]|0)!=(c[b+40>>2]|0)){k=c[b+12>>2]|0;if((k|0)>0){l=0;do{j=c[(c[b+20>>2]|0)+(l<<2)>>2]|0;if(j){Jb[c[c[j>>2]>>2]&255](j);p=c[b+4>>2]|0;Lb[c[(c[p>>2]|0)+60>>2]&127](p,c[(c[b+20>>2]|0)+(l<<2)>>2]|0)}l=l+1|0}while((l|0)!=(k|0))}mw(b,d,e)}p=c[s+64>>2]|0;m=c[b+4>>2]|0;l=c[b+20>>2]|0;n=c[b+32>>2]|0;c[v+280>>2]=11096;c[v+284>>2]=t;c[v+288>>2]=u;c[v+292>>2]=m;c[v+296>>2]=f;c[v+300>>2]=h;c[v+304>>2]=l;c[v+308>>2]=n;n=v+272|0;a[n>>0]=1;m=v+268|0;c[m>>2]=0;o=v+260|0;c[o>>2]=0;c[v+264>>2]=0;k=c[b+12>>2]|0;if((k|0)>0){f=0;while(1){l=c[l+(f<<2)>>2]|0;if(l){Lb[c[(c[l>>2]|0)+16>>2]&127](l,v+256|0);k=c[o>>2]|0;if((k|0)>0){d=0;do{j=c[(c[m>>2]|0)+(d<<2)>>2]|0;if(c[j+748>>2]|0){c[h+4>>2]=j;l=c[j+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;if((l|0)==(e|0))Fs(j,l+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else Fs(j,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,e+4|0);c[h+4>>2]=0;k=c[o>>2]|0}d=d+1|0}while((d|0)<(k|0));if((k|0)<=0){q=k;r=19}}else{q=k;r=19}if((r|0)==19?(r=0,(q|0)<0):0){if((c[v+264>>2]|0)<0){k=c[m>>2]|0;if(k){if(a[n>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[m>>2]=0}a[n>>0]=1;c[m>>2]=0;c[v+264>>2]=0;e=q}else e=q;do{l=(c[m>>2]|0)+(e<<2)|0;if(l)c[l>>2]=0;e=e+1|0}while((e|0)!=0)}c[o>>2]=0;k=c[b+12>>2]|0}f=f+1|0;if((f|0)>=(k|0))break;l=c[b+20>>2]|0}k=c[m>>2]|0;if(k){if(a[n>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[m>>2]=0}}a[n>>0]=1;c[m>>2]=0;c[o>>2]=0;c[v+264>>2]=0;if(!p){d=c[b+12>>2]|0;if((d|0)>0){j=0;do{sw(v+280|0,c[(c[s+24>>2]|0)+(j*80|0)+64>>2]|0,j);j=j+1|0}while((j|0)<(d|0))}else{i=v;return}}else{o=c[t+12>>2]|0;K=+g[o>>2];J=+g[o+16>>2];I=+g[o+32>>2];H=+g[o+4>>2];G=+g[o+20>>2];F=+g[o+36>>2];B=+g[o+8>>2];z=+g[o+24>>2];x=+g[o+40>>2];E=-+g[o+48>>2];D=-+g[o+52>>2];C=-+g[o+56>>2];o=c[u+12>>2]|0;T=+g[o>>2];S=+g[o+16>>2];R=+g[o+32>>2];Q=+g[o+4>>2];P=+g[o+20>>2];O=+g[o+36>>2];N=+g[o+8>>2];M=+g[o+24>>2];L=+g[o+40>>2];A=+g[o+48>>2];y=+g[o+52>>2];w=+g[o+56>>2];g[v+160>>2]=K*T+J*S+I*R;g[v+164>>2]=K*Q+J*P+I*O;g[v+168>>2]=K*N+J*M+I*L;g[v+172>>2]=0.0;g[v+176>>2]=H*T+G*S+F*R;g[v+180>>2]=H*Q+G*P+F*O;g[v+184>>2]=H*N+G*M+F*L;g[v+188>>2]=0.0;g[v+192>>2]=B*T+z*S+x*R;g[v+196>>2]=B*Q+z*P+x*O;g[v+200>>2]=B*N+z*M+x*L;g[v+204>>2]=0.0;g[v+208>>2]=K*E+J*D+I*C+(K*A+J*y+I*w);g[v+212>>2]=H*E+G*D+F*C+(H*A+G*y+F*w);g[v+216>>2]=B*E+z*D+x*C+(B*A+z*y+x*w);g[v+220>>2]=0.0;o=c[u+4>>2]|0;tc[c[(c[o>>2]|0)+8>>2]&127](o,v+160|0,v+240|0,v+224|0);c[v+128>>2]=c[v+240>>2];c[v+132>>2]=c[v+244>>2];c[v+136>>2]=c[v+248>>2];c[v+140>>2]=c[v+252>>2];c[v+144>>2]=c[v+224>>2];c[v+148>>2]=c[v+228>>2];c[v+152>>2]=c[v+232>>2];c[v+156>>2]=c[v+236>>2];rw(c[p>>2]|0,v+128|0,v+280|0)}d=c[b+12>>2]|0;if((d|0)<=0){i=v;return}k=0;do{do if(c[(c[b+20>>2]|0)+(k<<2)>>2]|0){n=c[s+24>>2]|0;p=c[n+(k*80|0)+64>>2]|0;o=c[t+12>>2]|0;E=+g[o>>2];D=+g[o+4>>2];C=+g[o+8>>2];B=+g[o+16>>2];A=+g[o+20>>2];z=+g[o+24>>2];J=+g[o+32>>2];L=+g[o+36>>2];N=+g[o+40>>2];y=+g[n+(k*80|0)>>2];x=+g[n+(k*80|0)+16>>2];w=+g[n+(k*80|0)+32>>2];G=+g[n+(k*80|0)+4>>2];H=+g[n+(k*80|0)+20>>2];I=+g[n+(k*80|0)+36>>2];K=+g[n+(k*80|0)+8>>2];M=+g[n+(k*80|0)+24>>2];O=+g[n+(k*80|0)+40>>2];S=+g[n+(k*80|0)+48>>2];F=+g[n+(k*80|0)+52>>2];R=+g[n+(k*80|0)+56>>2];P=+g[o+48>>2]+(E*S+D*F+C*R);Q=+g[o+52>>2]+(B*S+A*F+z*R);R=+g[o+56>>2]+(J*S+L*F+N*R);g[v+64>>2]=E*y+D*x+C*w;g[v+68>>2]=E*G+D*H+C*I;g[v+72>>2]=E*K+D*M+C*O;g[v+76>>2]=0.0;g[v+80>>2]=B*y+A*x+z*w;g[v+84>>2]=B*G+A*H+z*I;g[v+88>>2]=B*K+A*M+z*O;g[v+92>>2]=0.0;g[v+96>>2]=J*y+L*x+N*w;g[v+100>>2]=J*G+L*H+N*I;g[v+104>>2]=J*K+L*M+N*O;g[v+108>>2]=0.0;g[v+112>>2]=P;g[v+116>>2]=Q;g[v+120>>2]=R;g[v+124>>2]=0.0;tc[c[(c[p>>2]|0)+8>>2]&127](p,v+64|0,v+48|0,v+32|0);p=c[u+4>>2]|0;tc[c[(c[p>>2]|0)+8>>2]&127](p,c[u+12>>2]|0,v+16|0,v);if(!(+g[v+48>>2]>+g[v>>2])?!(+g[v+32>>2]<+g[v+16>>2]):0)j=1;else j=0;if(!(!(+g[v+56>>2]>+g[v+8>>2])?!(+g[v+40>>2]<+g[v+24>>2]):0))j=0;if(!(+g[v+52>>2]>+g[v+4>>2])?!(+g[v+36>>2]<+g[v+20>>2]|j^1):0)break;p=c[(c[b+20>>2]|0)+(k<<2)>>2]|0;Jb[c[c[p>>2]>>2]&255](p);p=c[b+4>>2]|0;Lb[c[(c[p>>2]|0)+60>>2]&127](p,c[(c[b+20>>2]|0)+(k<<2)>>2]|0);c[(c[b+20>>2]|0)+(k<<2)>>2]=0}while(0);k=k+1|0}while((k|0)<(d|0));i=v;return}function qw(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,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,E=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,O=0.0,P=0.0,Q=0.0,R=0.0;E=i;k=(a[b+28>>0]|0)!=0;D=k?e:d;k=k?d:e;e=c[b+12>>2]|0;if((e|0)<=0){v=1.0;i=E;return +v}m=(c[D+192>>2]|0)+24|0;n=+g[D+4>>2];z=+g[D+8>>2];A=+g[D+12>>2];B=+g[D+16>>2];C=+g[D+20>>2];o=+g[D+24>>2];p=+g[D+28>>2];q=+g[D+32>>2];r=+g[D+36>>2];s=+g[D+40>>2];t=+g[D+44>>2];u=+g[D+48>>2];v=+g[D+52>>2];w=+g[D+56>>2];x=+g[D+60>>2];y=+g[D+64>>2];d=c[D+260>>2]|0;j=1.0;l=0;do{G=c[m>>2]|0;R=+g[G+(l*80|0)>>2];Q=+g[G+(l*80|0)+16>>2];P=+g[G+(l*80|0)+32>>2];O=+g[G+(l*80|0)+4>>2];N=+g[G+(l*80|0)+20>>2];M=+g[G+(l*80|0)+36>>2];L=+g[G+(l*80|0)+8>>2];K=+g[G+(l*80|0)+24>>2];J=+g[G+(l*80|0)+40>>2];I=+g[G+(l*80|0)+48>>2];H=+g[G+(l*80|0)+52>>2];F=+g[G+(l*80|0)+56>>2];c[D+260>>2]=d+1;g[D+4>>2]=n*R+z*Q+A*P;g[D+8>>2]=n*O+z*N+A*M;g[D+12>>2]=n*L+z*K+A*J;g[D+16>>2]=0.0;g[D+20>>2]=C*R+o*Q+p*P;g[D+24>>2]=C*O+o*N+p*M;g[D+28>>2]=C*L+o*K+p*J;g[D+32>>2]=0.0;g[D+36>>2]=r*R+s*Q+t*P;g[D+40>>2]=r*O+s*N+t*M;g[D+44>>2]=r*L+s*K+t*J;g[D+48>>2]=0.0;g[D+52>>2]=v+(n*I+z*H+A*F);g[D+56>>2]=w+(C*I+o*H+p*F);g[D+60>>2]=x+(r*I+s*H+t*F);g[D+64>>2]=0.0;G=c[(c[b+20>>2]|0)+(l<<2)>>2]|0;F=+Vb[c[(c[G>>2]|0)+12>>2]&15](G,D,k,f,h);j=F>2]|0)+1|0;c[D+260>>2]=d;g[D+4>>2]=n;g[D+8>>2]=z;g[D+12>>2]=A;g[D+16>>2]=B;g[D+20>>2]=C;g[D+24>>2]=o;g[D+28>>2]=p;g[D+32>>2]=q;g[D+36>>2]=r;g[D+40>>2]=s;g[D+44>>2]=t;g[D+48>>2]=u;g[D+52>>2]=v;g[D+56>>2]=w;g[D+60>>2]=x;g[D+64>>2]=y;l=l+1|0}while((l|0)!=(e|0));i=E;return +j}function rw(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,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0;w=i;if(!a){i=w;return}r=+g[b>>2];s=+g[b+4>>2];t=+g[b+8>>2];u=+g[b+16>>2];v=+g[b+20>>2];n=+g[b+24>>2];c[5108]=(c[5108]|0)+1;b=QE(275)|0;if(b){c[(b+19&-16)+-4>>2]=b;e=b+19&-16;if(b+19&-16)c[e>>2]=a}else e=0;b=64;m=1;while(1){a=m+-1|0;l=c[e+(a<<2)>>2]|0;do if(((((+g[l>>2]<=u?+g[l+16>>2]>=r:0)?+g[l+4>>2]<=v:0)?+g[l+20>>2]>=s:0)?+g[l+8>>2]<=n:0)?+g[l+24>>2]>=t:0){if(!(c[l+40>>2]|0)){Lb[c[(c[d>>2]|0)+12>>2]&127](d,l);break}k=c[l+36>>2]|0;if((a|0)==(b|0)?(o=(b|0)==0?1:b<<1,(m|0)<=(o|0)):0){if((o|0)!=0?(c[5108]=(c[5108]|0)+1,q=QE((o<<2|3)+16|0)|0,(q|0)!=0):0){c[(q+19&-16)+-4>>2]=q;j=q+19&-16}else j=0;if((b|0)>0){f=0;do{h=j+(f<<2)|0;if(h)c[h>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(b|0))}if(!e){b=o;e=j}else{c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);b=o;e=j}}a=e+(a<<2)|0;if(a)c[a>>2]=k;j=c[l+40>>2]|0;if((m|0)==(b|0)){a=(m|0)==0?1:m<<1;if((m|0)<(a|0)){if((a|0)!=0?(c[5108]=(c[5108]|0)+1,p=QE((a<<2|3)+16|0)|0,(p|0)!=0):0){c[(p+19&-16)+-4>>2]=p;h=p+19&-16}else h=0;if((m|0)>0){f=0;do{b=h+(f<<2)|0;if(b)c[b>>2]=c[e+(f<<2)>>2];f=f+1|0}while((f|0)!=(m|0))}if(!e){b=a;e=h}else{c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);b=a;e=h}}else b=m}a=e+(m<<2)|0;if(a)c[a>>2]=j;a=m+1|0}while(0);if((a|0)>0)m=a;else break}if(!e){i=w;return}c[5110]=(c[5110]|0)+1;RE(c[e+-4>>2]|0);i=w;return}function sw(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;f=c[a+4>>2]|0;e=c[f+12>>2]|0;D=+g[e>>2];C=+g[e+4>>2];B=+g[e+8>>2];A=+g[e+16>>2];z=+g[e+20>>2];y=+g[e+24>>2];r=+g[e+32>>2];p=+g[e+36>>2];n=+g[e+40>>2];f=c[(c[f+4>>2]|0)+24>>2]|0;x=+g[f+(d*80|0)>>2];w=+g[f+(d*80|0)+16>>2];v=+g[f+(d*80|0)+32>>2];u=+g[f+(d*80|0)+4>>2];t=+g[f+(d*80|0)+20>>2];s=+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];F=+g[f+(d*80|0)+48>>2];E=+g[f+(d*80|0)+52>>2];j=+g[f+(d*80|0)+56>>2];l=+g[e+48>>2]+(D*F+C*E+B*j);k=+g[e+52>>2]+(A*F+z*E+y*j);j=+g[e+56>>2]+(r*F+p*E+n*j);g[h+88>>2]=D*x+C*w+B*v;g[h+92>>2]=D*u+C*t+B*s;g[h+96>>2]=D*q+C*o+B*m;g[h+100>>2]=0.0;g[h+104>>2]=A*x+z*w+y*v;g[h+108>>2]=A*u+z*t+y*s;g[h+112>>2]=A*q+z*o+y*m;g[h+116>>2]=0.0;g[h+120>>2]=r*x+p*w+n*v;g[h+124>>2]=r*u+p*t+n*s;g[h+128>>2]=r*q+p*o+n*m;g[h+132>>2]=0.0;g[h+136>>2]=l;g[h+140>>2]=k;g[h+144>>2]=j;g[h+148>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,h+88|0,h+72|0,h+56|0);e=c[a+8>>2]|0;f=c[e+4>>2]|0;tc[c[(c[f>>2]|0)+8>>2]&127](f,c[e+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+80>>2]>+g[h+32>>2])?!(+g[h+64>>2]<+g[h+48>>2]):0))e=0;if(+g[h+76>>2]>+g[h+28>>2]){i=h;return}if(+g[h+60>>2]<+g[h+44>>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=Rb[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}b=c[a+20>>2]|0;f=c[b+8>>2]|0;if((c[f+8>>2]|0)==(c[e+8>>2]|0)){c[b+8>>2]=h;pc[c[(c[b>>2]|0)+8>>2]&127](b,-1,d)}else{f=c[b+12>>2]|0;c[b+12>>2]=h;pc[c[(c[b>>2]|0)+12>>2]&127](b,-1,d)}e=c[(c[a+24>>2]|0)+(d<<2)>>2]|0;Hb[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]=f;i=h;return}else{c[e+12>>2]=f;i=h;return}}function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;d=c[a+12>>2]|0;if((d|0)<=0){i=g;return}f=0;do{e=c[(c[a+20>>2]|0)+(f<<2)>>2]|0;if(e){Lb[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));i=g;return}function uw(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[b+36>>2]|0;sw(a,c[(c[(c[(c[a+4>>2]|0)+4>>2]|0)+24>>2]|0)+(b*80|0)+64>>2]|0,b);i=d;return}function vw(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function ww(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;c[b>>2]=11184;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){Jb[c[c[f>>2]>>2]&255](f);j=c[b+4>>2]|0;Lb[c[(c[j>>2]|0)+60>>2]&127](j,f)}g=g+1|0}while((g|0)!=(e|0));d=c[b+8>>2]|0}ID(d);d=c[b+8>>2]|0;Jb[c[c[d>>2]>>2]&255](d);d=c[b+8>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(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;d=b+20|0;c[d>>2]=0;i=h;return}if(a[b+28>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+20|0;c[d>>2]=0;i=h;return}function xw(a){a=a|0;var b=0;b=i;ww(a);RE(a);i=b;return}function yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;f=c[a+8>>2]|0;a=c[f+8>>2]|0;if((a|0)<=0){i=g;return}e=0;do{d=c[(c[f+16>>2]|0)+(e*12|0)+8>>2]|0;if(d){Lb[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));i=g;return}function zw(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,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,ba=0,ca=0,da=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;ea=i;i=i+192|0;ca=c[d+4>>2]|0;da=c[e+4>>2]|0;if((c[ca+68>>2]|0)==(c[b+40>>2]|0)?(c[da+68>>2]|0)==(c[b+44>>2]|0):0)aa=b+8|0;else{l=c[b+8>>2]|0;k=c[l+8>>2]|0;if((k|0)>0){m=0;do{j=c[(c[l+16>>2]|0)+(m*12|0)+8>>2]|0;if(j){Jb[c[c[j>>2]>>2]&255](j);r=c[b+4>>2]|0;Lb[c[(c[r>>2]|0)+60>>2]&127](r,j)}m=m+1|0}while((m|0)!=(k|0));l=c[b+8>>2]|0}ID(l);aa=b+8|0}j=ea+180|0;a[j>>0]=1;n=ea+176|0;c[n>>2]=0;r=ea+168|0;c[r>>2]=0;c[ea+172>>2]=0;p=c[aa>>2]|0;m=c[p+8>>2]|0;if((m|0)>0){q=0;do{l=c[(c[p+16>>2]|0)+(q*12|0)+8>>2]|0;if(l){Lb[c[(c[l>>2]|0)+16>>2]&127](l,ea+164|0);m=c[r>>2]|0;if((m|0)>0){o=0;do{k=c[(c[n>>2]|0)+(o<<2)>>2]|0;if(c[k+748>>2]|0){c[h+4>>2]=k;m=c[k+740>>2]|0;l=c[(c[h+8>>2]|0)+8>>2]|0;if((m|0)==(l|0))Fs(k,m+4|0,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0);else Fs(k,(c[(c[h+12>>2]|0)+8>>2]|0)+4|0,l+4|0);c[h+4>>2]=0;m=c[r>>2]|0}o=o+1|0}while((o|0)<(m|0));if((m|0)<=0){s=m;t=22}}else{s=m;t=22}if((t|0)==22?(t=0,(s|0)<0):0){if((c[ea+172>>2]|0)<0){m=c[n>>2]|0;if(m){if(a[j>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[m+-4>>2]|0)}c[n>>2]=0}a[j>>0]=1;c[n>>2]=0;c[ea+172>>2]=0;l=s}else l=s;do{m=(c[n>>2]|0)+(l<<2)|0;if(m)c[m>>2]=0;l=l+1|0}while((l|0)!=0)}c[r>>2]=0;m=c[p+8>>2]|0}q=q+1|0}while((q|0)<(m|0));l=c[n>>2]|0;if(l){if(a[j>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[n>>2]=0}}a[j>>0]=1;c[n>>2]=0;c[r>>2]=0;c[ea+172>>2]=0;r=c[ca+64>>2]|0;q=c[da+64>>2]|0;o=c[b+4>>2]|0;p=c[aa>>2]|0;s=c[b+32>>2]|0;c[ea+128>>2]=11272;c[ea+132>>2]=0;c[ea+136>>2]=d;c[ea+140>>2]=e;c[ea+144>>2]=o;c[ea+148>>2]=f;c[ea+152>>2]=h;c[ea+156>>2]=p;c[ea+160>>2]=s;s=c[d+12>>2]|0;D=+g[s>>2];E=+g[s+16>>2];F=+g[s+32>>2];G=+g[s+4>>2];H=+g[s+20>>2];I=+g[s+36>>2];J=+g[s+8>>2];K=+g[s+24>>2];L=+g[s+40>>2];Z=-+g[s+48>>2];_=-+g[s+52>>2];$=-+g[s+56>>2];s=c[e+12>>2]|0;M=+g[s>>2];N=+g[s+16>>2];P=+g[s+32>>2];Q=+g[s+4>>2];R=+g[s+20>>2];S=+g[s+36>>2];T=+g[s+8>>2];U=+g[s+24>>2];V=+g[s+40>>2];W=+g[s+48>>2];X=+g[s+52>>2];Y=+g[s+56>>2];r=c[r>>2]|0;q=c[q>>2]|0;if((r|0)!=0&(q|0)!=0){c[5108]=(c[5108]|0)+1;o=QE(1043)|0;c[(o+19&-16)+-4>>2]=o;c[(o+19&-16)>>2]=r;c[(o+19&-16)+4>>2]=q;v=+O(+(D*M+E*N+F*P));A=+O(+(D*Q+E*R+F*S));C=+O(+(D*T+E*U+F*V));x=+O(+(G*M+H*N+I*P));y=+O(+(G*Q+H*R+I*S));w=+O(+(G*T+H*U+I*V));B=+O(+(J*M+K*N+L*P));z=+O(+(J*Q+K*R+L*S));u=+O(+(J*T+K*U+L*V));r=1;j=128;t=128;o=o+19&-16;f=124;while(1){n=r+-1|0;p=c[o+(n<<3)>>2]|0;q=c[o+(n<<3)+4>>2]|0;pa=+g[q+16>>2];oa=+g[q>>2];na=+g[q+20>>2];ma=+g[q+4>>2];la=+g[q+24>>2];fa=+g[q+8>>2];ka=D*Z+E*_+F*$+(D*W+E*X+F*Y)+((D*M+E*N+F*P)*((pa+oa)*.5)+(D*Q+E*R+F*S)*((na+ma)*.5)+(D*T+E*U+F*V)*((la+fa)*.5));ia=G*Z+H*_+I*$+(G*W+H*X+I*Y)+((G*M+H*N+I*P)*((pa+oa)*.5)+(G*Q+H*R+I*S)*((na+ma)*.5)+(G*T+H*U+I*V)*((la+fa)*.5));ga=J*Z+K*_+L*$+(J*W+K*X+L*Y)+((J*M+K*N+L*P)*((pa+oa)*.5)+(J*Q+K*R+L*S)*((na+ma)*.5)+(J*T+K*U+L*V)*((la+fa)*.5));ja=((pa-oa)*.5+0.0)*v+((na-ma)*.5+0.0)*A+((la-fa)*.5+0.0)*C;ha=((pa-oa)*.5+0.0)*x+((na-ma)*.5+0.0)*y+((la-fa)*.5+0.0)*w;fa=((pa-oa)*.5+0.0)*B+((na-ma)*.5+0.0)*z+((la-fa)*.5+0.0)*u;do if(((((+g[p>>2]<=ja+ka?+g[p+16>>2]>=ka-ja:0)?+g[p+4>>2]<=ia+ha:0)?+g[p+20>>2]>=ia-ha:0)?+g[p+8>>2]<=ga+fa:0)?+g[p+24>>2]>=ga-fa:0){if((n|0)>(f|0)){k=j<<1;if((j|0)<(k|0)&(t|0)<(k|0)){if(j){c[5108]=(c[5108]|0)+1;h=QE((j<<4|3)+16|0)|0;if(!h)h=0;else{c[(h+19&-16)+-4>>2]=h;h=h+19&-16}if((j|0)>0){t=0;do{f=h+(t<<3)|0;if(f){m=o+(t<<3)|0;s=c[m+4>>2]|0;c[f>>2]=c[m>>2];c[f+4>>2]=s}t=t+1|0}while((t|0)!=(j|0))}}else h=0;if(!o)f=k;else{c[5110]=(c[5110]|0)+1;RE(c[o+-4>>2]|0);f=k}}else{f=t;h=o}m=k;l=f;f=k+-4|0}else{m=j;l=t;h=o}k=(c[q+40>>2]|0)!=0;if(!(c[p+40>>2]|0))if(k){k=c[q+36>>2]|0;j=h+(n<<3)|0;c[j>>2]=p;c[j+4>>2]=k;j=c[q+40>>2]|0;k=h+(r<<3)|0;c[k>>2]=p;c[k+4>>2]=j;k=r+1|0;j=m;t=l;break}else{pc[c[(c[ea+128>>2]|0)+8>>2]&127](ea+128|0,p,q);k=n;j=m;t=l;break}else{j=h+(n<<3)|0;t=c[p+36>>2]|0;if(k){k=c[q+36>>2]|0;c[j>>2]=t;c[j+4>>2]=k;j=c[q+36>>2]|0;k=h+(r<<3)|0;c[k>>2]=c[p+40>>2];c[k+4>>2]=j;k=c[q+40>>2]|0;j=h+(r+1<<3)|0;c[j>>2]=c[p+36>>2];c[j+4>>2]=k;j=c[q+40>>2]|0;k=h+(r+2<<3)|0;c[k>>2]=c[p+40>>2];c[k+4>>2]=j;k=r+3|0;j=m;t=l;break}else{c[j>>2]=t;c[j+4>>2]=q;k=h+(r<<3)|0;c[k>>2]=c[p+40>>2];c[k+4>>2]=q;k=r+1|0;j=m;t=l;break}}}else{k=n;h=o}while(0);if(!k)break;else{r=k;o=h}}if(h){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}}p=c[aa>>2]|0;if((c[p+8>>2]|0)>0){q=0;do{l=c[p+16>>2]|0;k=c[l+(q*12|0)+8>>2]|0;do if(k){s=c[l+(q*12|0)>>2]|0;r=c[ca+24>>2]|0;o=c[r+(s*80|0)+64>>2]|0;n=c[d+12>>2]|0;Q=+g[n>>2];pa=+g[n+4>>2];z=+g[n+8>>2];M=+g[n+16>>2];K=+g[n+20>>2];I=+g[n+24>>2];L=+g[n+32>>2];H=+g[n+36>>2];w=+g[n+40>>2];G=+g[r+(s*80|0)>>2];F=+g[r+(s*80|0)+16>>2];E=+g[r+(s*80|0)+32>>2];u=+g[r+(s*80|0)+4>>2];la=+g[r+(s*80|0)+20>>2];v=+g[r+(s*80|0)+36>>2];J=+g[r+(s*80|0)+8>>2];ma=+g[r+(s*80|0)+24>>2];na=+g[r+(s*80|0)+40>>2];P=+g[r+(s*80|0)+48>>2];N=+g[r+(s*80|0)+52>>2];y=+g[r+(s*80|0)+56>>2];x=+g[n+48>>2]+(Q*P+pa*N+z*y);oa=+g[n+52>>2]+(M*P+K*N+I*y);y=+g[n+56>>2]+(L*P+H*N+w*y);g[ea>>2]=Q*G+pa*F+z*E;g[ea+4>>2]=Q*u+pa*la+z*v;g[ea+8>>2]=Q*J+pa*ma+z*na;g[ea+12>>2]=0.0;g[ea+16>>2]=M*G+K*F+I*E;g[ea+20>>2]=M*u+K*la+I*v;g[ea+24>>2]=M*J+K*ma+I*na;g[ea+28>>2]=0.0;g[ea+32>>2]=L*G+H*F+w*E;g[ea+36>>2]=L*u+H*la+w*v;g[ea+40>>2]=L*J+H*ma+w*na;g[ea+44>>2]=0.0;g[ea+48>>2]=x;g[ea+52>>2]=oa;g[ea+56>>2]=y;g[ea+60>>2]=0.0;tc[c[(c[o>>2]|0)+8>>2]&127](o,ea,ea+112|0,ea+96|0);o=c[(c[p+16>>2]|0)+(q*12|0)+4>>2]|0;n=c[da+24>>2]|0;s=c[n+(o*80|0)+64>>2]|0;r=c[e+12>>2]|0;y=+g[r>>2];oa=+g[r+4>>2];x=+g[r+8>>2];na=+g[r+16>>2];w=+g[r+20>>2];ma=+g[r+24>>2];H=+g[r+32>>2];J=+g[r+36>>2];L=+g[r+40>>2];v=+g[n+(o*80|0)>>2];la=+g[n+(o*80|0)+16>>2];u=+g[n+(o*80|0)+32>>2];E=+g[n+(o*80|0)+4>>2];F=+g[n+(o*80|0)+20>>2];G=+g[n+(o*80|0)+36>>2];I=+g[n+(o*80|0)+8>>2];K=+g[n+(o*80|0)+24>>2];M=+g[n+(o*80|0)+40>>2];z=+g[n+(o*80|0)+48>>2];pa=+g[n+(o*80|0)+52>>2];Q=+g[n+(o*80|0)+56>>2];N=+g[r+48>>2]+(y*z+oa*pa+x*Q);P=+g[r+52>>2]+(na*z+w*pa+ma*Q);Q=+g[r+56>>2]+(H*z+J*pa+L*Q);g[ea>>2]=y*v+oa*la+x*u;g[ea+4>>2]=y*E+oa*F+x*G;g[ea+8>>2]=y*I+oa*K+x*M;g[ea+12>>2]=0.0;g[ea+16>>2]=na*v+w*la+ma*u;g[ea+20>>2]=na*E+w*F+ma*G;g[ea+24>>2]=na*I+w*K+ma*M;g[ea+28>>2]=0.0;g[ea+32>>2]=H*v+J*la+L*u;g[ea+36>>2]=H*E+J*F+L*G;g[ea+40>>2]=H*I+J*K+L*M;g[ea+44>>2]=0.0;g[ea+48>>2]=N;g[ea+52>>2]=P;g[ea+56>>2]=Q;g[ea+60>>2]=0.0;tc[c[(c[s>>2]|0)+8>>2]&127](s,ea,ea+80|0,ea+64|0);if(!(+g[ea+112>>2]>+g[ea+64>>2])?!(+g[ea+96>>2]<+g[ea+80>>2]):0)l=1;else l=0;if(!(!(+g[ea+120>>2]>+g[ea+72>>2])?!(+g[ea+104>>2]<+g[ea+88>>2]):0))l=0;if(!(+g[ea+116>>2]>+g[ea+68>>2])?!(+g[ea+100>>2]<+g[ea+84>>2]|l^1):0)break;Jb[c[c[k>>2]>>2]&255](k);o=c[b+4>>2]|0;Lb[c[(c[o>>2]|0)+60>>2]&127](o,k);o=c[p+16>>2]|0;n=c[o+(q*12|0)>>2]|0;o=c[o+(q*12|0)+4>>2]|0;l=c[b+16>>2]|0;if((l|0)==(c[b+20>>2]|0)?(ba=(l|0)==0?1:l<<1,(l|0)<(ba|0)):0){if(!ba)k=0;else{c[5108]=(c[5108]|0)+1;l=QE((ba*12|3)+16|0)|0;if(!l)k=0;else{c[(l+19&-16)+-4>>2]=l;k=l+19&-16}l=c[b+16>>2]|0}if((l|0)>0){j=0;do{m=k+(j*12|0)|0;if(m){s=(c[b+24>>2]|0)+(j*12|0)|0;c[m+0>>2]=c[s+0>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2]}j=j+1|0}while((j|0)!=(l|0))}l=c[b+24>>2]|0;if(l){if(a[b+28>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[l+-4>>2]|0)}c[b+24>>2]=0}a[b+28>>0]=1;c[b+24>>2]=k;c[b+20>>2]=ba;l=c[b+16>>2]|0}k=c[b+24>>2]|0;j=k+(l*12|0)|0;if(j){c[j>>2]=n;c[k+(l*12|0)+4>>2]=o;c[k+(l*12|0)+8>>2]=0;l=c[b+16>>2]|0}c[b+16>>2]=l+1}while(0);q=q+1|0}while((q|0)<(c[p+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{r=c[aa>>2]|0;s=c[k>>2]|0;Wb[c[(c[r>>2]|0)+8>>2]&63](r,c[s+(j*12|0)>>2]|0,c[s+(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;s=b+20|0;c[s>>2]=0;i=ea;return}if(a[b+28>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0)}c[k>>2]=0;a[b+28>>0]=1;c[k>>2]=0;c[l>>2]=0;s=b+20|0;c[s>>2]=0;i=ea;return}function Aw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0.0}function Bw(a,b){a=a|0;b=b|0;return}function Cw(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.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=i;i=i+240|0;c[a+4>>2]=(c[a+4>>2]|0)+1;j=c[b+36>>2]|0;h=c[d+36>>2]|0;d=c[a+8>>2]|0;K=c[(c[d+4>>2]|0)+24>>2]|0;b=c[K+(j*80|0)+64>>2]|0;J=(c[(c[a+12>>2]|0)+4>>2]|0)+24|0;e=c[(c[J>>2]|0)+(h*80|0)+64>>2]|0;d=c[d+12>>2]|0;m=+g[d>>2];H=+g[d+4>>2];I=+g[d+8>>2];p=+g[d+16>>2];r=+g[d+20>>2];t=+g[d+24>>2];q=+g[d+32>>2];u=+g[d+36>>2];C=+g[d+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[d+48>>2]+(m*n+H*o+I*G);F=+g[d+52>>2]+(p*n+r*o+t*G);G=+g[d+56>>2]+(q*n+u*o+C*G);g[l+176>>2]=m*v+H*w+I*x;g[l+180>>2]=m*y+H*z+I*A;g[l+184>>2]=m*s+H*B+I*D;g[l+188>>2]=0.0;g[l+192>>2]=p*v+r*w+t*x;g[l+196>>2]=p*y+r*z+t*A;g[l+200>>2]=p*s+r*B+t*D;g[l+204>>2]=0.0;g[l+208>>2]=q*v+u*w+C*x;g[l+212>>2]=q*y+u*z+C*A;g[l+216>>2]=q*s+u*B+C*D;g[l+220>>2]=0.0;g[l+224>>2]=E;g[l+228>>2]=F;g[l+232>>2]=G;g[l+236>>2]=0.0;d=c[(c[a+12>>2]|0)+12>>2]|0;G=+g[d>>2];F=+g[d+4>>2];E=+g[d+8>>2];D=+g[d+16>>2];C=+g[d+20>>2];B=+g[d+24>>2];u=+g[d+32>>2];s=+g[d+36>>2];q=+g[d+40>>2];J=c[J>>2]|0;A=+g[J+(h*80|0)>>2];z=+g[J+(h*80|0)+16>>2];y=+g[J+(h*80|0)+32>>2];x=+g[J+(h*80|0)+4>>2];w=+g[J+(h*80|0)+20>>2];v=+g[J+(h*80|0)+36>>2];t=+g[J+(h*80|0)+8>>2];r=+g[J+(h*80|0)+24>>2];p=+g[J+(h*80|0)+40>>2];I=+g[J+(h*80|0)+48>>2];H=+g[J+(h*80|0)+52>>2];m=+g[J+(h*80|0)+56>>2];o=+g[d+48>>2]+(G*I+F*H+E*m);n=+g[d+52>>2]+(D*I+C*H+B*m);m=+g[d+56>>2]+(u*I+s*H+q*m);g[l+112>>2]=G*A+F*z+E*y;g[l+116>>2]=G*x+F*w+E*v;g[l+120>>2]=G*t+F*r+E*p;g[l+124>>2]=0.0;g[l+128>>2]=D*A+C*z+B*y;g[l+132>>2]=D*x+C*w+B*v;g[l+136>>2]=D*t+C*r+B*p;g[l+140>>2]=0.0;g[l+144>>2]=u*A+s*z+q*y;g[l+148>>2]=u*x+s*w+q*v;g[l+152>>2]=u*t+s*r+q*p;g[l+156>>2]=0.0;g[l+160>>2]=o;g[l+164>>2]=n;g[l+168>>2]=m;g[l+172>>2]=0.0;tc[c[(c[b>>2]|0)+8>>2]&127](b,l+176|0,l+96|0,l+80|0);tc[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)d=1;else d=0;if(!(!(+g[l+104>>2]>+g[l+56>>2])?!(+g[l+88>>2]<+g[l+72>>2]):0))d=0;if(+g[l+100>>2]>+g[l+52>>2]){i=l;return}if(+g[l+84>>2]<+g[l+68>>2]|d^1){i=l;return}J=c[a+8>>2]|0;d=c[J+8>>2]|0;c[l+24>>2]=J;c[l+28>>2]=b;c[l+32>>2]=d;c[l+36>>2]=l+176;c[l+40>>2]=-1;c[l+44>>2]=j;d=c[a+12>>2]|0;b=c[d+8>>2]|0;c[l>>2]=d;c[l+4>>2]=e;c[l+8>>2]=b;c[l+12>>2]=l+112;c[l+16>>2]=-1;c[l+20>>2]=h;b=c[a+28>>2]|0;c[4976]=(c[4976]|0)+1;d=((h<<16|j)+~((h<<16|j)<<15)>>10^(h<<16|j)+~((h<<16|j)<<15))*9|0;d=(c[b+12>>2]|0)+-1&((d>>6^d)+~((d>>6^d)<<11)>>16^(d>>6^d)+~((d>>6^d)<<11));a:do if((d|0)<(c[b+32>>2]|0)?(f=c[(c[b+40>>2]|0)+(d<<2)>>2]|0,(f|0)!=-1):0){e=c[b+16>>2]|0;d=f;while(1){if((c[e+(d*12|0)>>2]|0)==(j|0)?(c[e+(d*12|0)+4>>2]|0)==(h|0):0)break;d=c[(c[b+60>>2]|0)+(d<<2)>>2]|0;if((d|0)==-1){k=17;break a}}if(e+(d*12|0)|0)b=c[e+(d*12|0)+8>>2]|0;else k=17}else k=17;while(0);if((k|0)==17){b=c[a+16>>2]|0;b=Rb[c[(c[b>>2]|0)+8>>2]&31](b,l+24|0,l,c[a+32>>2]|0)|0;J=c[a+28>>2]|0;c[(Wb[c[(c[J>>2]|0)+12>>2]&63](J,j,h)|0)+8>>2]=b}J=c[a+24>>2]|0;f=c[J+8>>2]|0;k=c[J+12>>2]|0;c[J+8>>2]=l+24;c[J+12>>2]=l;pc[c[(c[J>>2]|0)+8>>2]&127](J,-1,j);J=c[a+24>>2]|0;pc[c[(c[J>>2]|0)+12>>2]&127](J,-1,h);Hb[c[(c[b>>2]|0)+8>>2]&31](b,l+24|0,l,c[a+20>>2]|0,c[a+24>>2]|0);J=c[a+24>>2]|0;c[J+8>>2]=f;c[J+12>>2]=k;i=l;return}function Dw(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Ew(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;c[b+8>>2]=0;c[b>>2]=11368;a[b+28>>0]=1;c[b+24>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;g[b+32>>2]=999999984306749440.0;g[b+36>>2]=999999984306749440.0;g[b+40>>2]=999999984306749440.0;g[b+44>>2]=0.0;g[b+48>>2]=-999999984306749440.0;g[b+52>>2]=-999999984306749440.0;g[b+56>>2]=-999999984306749440.0;g[b+60>>2]=0.0;c[b+64>>2]=0;c[b+68>>2]=1;g[b+72>>2]=0.0;g[b+76>>2]=1.0;g[b+80>>2]=1.0;g[b+84>>2]=1.0;g[b+88>>2]=0.0;c[b+4>>2]=31;if(!d){i=f;return}c[5108]=(c[5108]|0)+1;d=QE(79)|0;if((d|0)!=0?(e=d+19&-16,c[e+-4>>2]=d,(d+19&-16|0)!=0):0){a[e+36>>0]=1;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;a[e+56>>0]=1;c[e+52>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[(d+19&-16)>>2]=0;c[e+4>>2]=0;c[e+8>>2]=-1;c[e+12>>2]=0;c[e+16>>2]=0;d=d+19&-16}else d=0;c[b+64>>2]=d;i=f;return}function Fw(b){b=b|0;var d=0,e=0,f=0;f=i;c[b>>2]=11368;d=c[b+64>>2]|0;if((d|0)!=0?(AC(d),e=c[b+64>>2]|0,(e|0)!=0):0){c[5110]=(c[5110]|0)+1;RE(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;d=b+20|0;c[d>>2]=0;i=f;return}if(a[b+28>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+20|0;c[d>>2]=0;i=f;return}function Gw(a){a=a|0;var b=0;b=i;Fw(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Hw(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;h=i;i=i+80|0;c[a+68>>2]=(c[a+68>>2]|0)+1;d=c[a+16>>2]|0;if((d|0)<=0){d=c[a>>2]|0;d=d+68|0;d=c[d>>2]|0;Jb[d&255](a);i=h;return}e=d;g=d;while(1){g=g+-1|0;d=c[a+24>>2]|0;if((c[d+(g*80|0)+64>>2]|0)==(b|0)){c[a+68>>2]=(c[a+68>>2]|0)+1;f=c[a+64>>2]|0;if(f){e=c[d+(g*80|0)+76>>2]|0;DC(f,e)|0;d=c[f+4>>2]|0;if(d){c[5110]=(c[5110]|0)+1;RE(c[d+-4>>2]|0)}c[f+4>>2]=e;c[f+12>>2]=(c[f+12>>2]|0)+-1;e=c[a+16>>2]|0;d=c[a+24>>2]|0}e=e+-1|0;m=d+(g*80|0)|0;c[h+0>>2]=c[m+0>>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];l=d+(g*80|0)+16|0;c[h+16>>2]=c[l+0>>2];c[h+20>>2]=c[l+4>>2];c[h+24>>2]=c[l+8>>2];c[h+28>>2]=c[l+12>>2];k=d+(g*80|0)+32|0;c[h+32>>2]=c[k+0>>2];c[h+36>>2]=c[k+4>>2];c[h+40>>2]=c[k+8>>2];c[h+44>>2]=c[k+12>>2];j=d+(g*80|0)+48|0;c[h+48>>2]=c[j+0>>2];c[h+52>>2]=c[j+4>>2];c[h+56>>2]=c[j+8>>2];c[h+60>>2]=c[j+12>>2];f=d+(g*80|0)+64|0;c[h+64>>2]=c[f+0>>2];c[h+68>>2]=c[f+4>>2];c[h+72>>2]=c[f+8>>2];c[h+76>>2]=c[f+12>>2];n=d+(e*80|0)|0;c[m+0>>2]=c[n+0>>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+(e*80|0)+16|0;c[l+0>>2]=c[m+0>>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+(e*80|0)+32|0;c[k+0>>2]=c[l+0>>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=d+(e*80|0)+48|0;c[j+0>>2]=c[k+0>>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];d=d+(e*80|0)+64|0;c[f+0>>2]=c[d+0>>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];d=c[a+24>>2]|0;c[d+(e*80|0)+0>>2]=c[h+0>>2];c[d+(e*80|0)+4>>2]=c[h+4>>2];c[d+(e*80|0)+8>>2]=c[h+8>>2];c[d+(e*80|0)+12>>2]=c[h+12>>2];c[d+(e*80|0)+16>>2]=c[h+16>>2];c[d+(e*80|0)+20>>2]=c[h+20>>2];c[d+(e*80|0)+24>>2]=c[h+24>>2];c[d+(e*80|0)+28>>2]=c[h+28>>2];c[d+(e*80|0)+32>>2]=c[h+32>>2];c[d+(e*80|0)+36>>2]=c[h+36>>2];c[d+(e*80|0)+40>>2]=c[h+40>>2];c[d+(e*80|0)+44>>2]=c[h+44>>2];c[d+(e*80|0)+48>>2]=c[h+48>>2];c[d+(e*80|0)+52>>2]=c[h+52>>2];c[d+(e*80|0)+56>>2]=c[h+56>>2];c[d+(e*80|0)+60>>2]=c[h+60>>2];c[d+(e*80|0)+64>>2]=c[h+64>>2];c[d+(e*80|0)+68>>2]=c[h+68>>2];c[d+(e*80|0)+72>>2]=c[h+72>>2];c[d+(e*80|0)+76>>2]=c[h+76>>2];if(c[a+64>>2]|0)c[(c[(c[a+24>>2]|0)+(g*80|0)+76>>2]|0)+36>>2]=g;d=(c[a+16>>2]|0)+-1|0;c[a+16>>2]=d}else d=e;if((g|0)<=0)break;else e=d}l=c[a>>2]|0;l=l+68|0;l=c[l>>2]|0;Jb[l&255](a);i=h;return}function Iw(a){a=a|0;var b=0.0,d=0,e=0,f=0,h=0;e=i;i=i+32|0;g[a+32>>2]=999999984306749440.0;g[a+36>>2]=999999984306749440.0;g[a+40>>2]=999999984306749440.0;g[a+44>>2]=0.0;g[a+48>>2]=-999999984306749440.0;g[a+52>>2]=-999999984306749440.0;g[a+56>>2]=-999999984306749440.0;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;tc[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+20>>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+24>>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 Jw(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.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;f=i;t=+g[a+48>>2];v=+g[a+32>>2];E=+g[a+52>>2];w=+g[a+36>>2];F=+g[a+56>>2];k=+g[a+40>>2];G=(c[a+16>>2]|0)==0;x=G?0.0:(F+k)*.5;z=G?0.0:(E+w)*.5;B=G?0.0:(t+v)*.5;o=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);m=+Zb[c[(c[a>>2]|0)+48>>2]&15](a);o=(G?0.0:(t-v)*.5)+o;m=(G?0.0:(E-w)*.5)+m;k=(G?0.0:(F-k)*.5)+ +Zb[c[(c[a>>2]|0)+48>>2]&15](a);F=+g[b>>2];w=+O(+F);E=+g[b+4>>2];v=+O(+E);t=+g[b+8>>2];u=+O(+t);D=+g[b+16>>2];s=+O(+D);C=+g[b+20>>2];r=+O(+C);p=+g[b+24>>2];q=+O(+p);A=+g[b+32>>2];n=+O(+A);y=+g[b+36>>2];l=+O(+y);h=+g[b+40>>2];j=+O(+h);t=B*F+z*E+x*t+ +g[b+48>>2];p=B*D+z*C+x*p+ +g[b+52>>2];h=B*A+z*y+x*h+ +g[b+56>>2];g[d>>2]=t-(o*w+m*v+k*u);g[d+4>>2]=p-(o*s+m*r+k*q);g[d+8>>2]=h-(o*n+m*l+k*j);g[d+12>>2]=0.0;g[e>>2]=o*w+m*v+k*u+t;g[e+4>>2]=o*s+m*r+k*q+p;g[e+8>>2]=o*n+m*l+k*j+h;g[e+12>>2]=0.0;i=f;return}function Kw(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;g[e+32>>2]=1.0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;g[e+52>>2]=1.0;c[e+56>>2]=0;c[e+60>>2]=0;c[e+64>>2]=0;c[e+68>>2]=0;g[e+72>>2]=1.0;k=e+76|0;c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;tc[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+20>>2])*.5*2.0;j=(+g[e+8>>2]-+g[e+24>>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 Lw(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+0>>2]=c[b+0>>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=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Jb[o&255](a);i=p;return}m=p+32|0;l=p+48|0;o=p+64|0;n=0;do{k=c[a+24>>2]|0;j=k+(n*80|0)|0;c[p+16>>2]=c[j+0>>2];c[p+20>>2]=c[j+4>>2];c[p+24>>2]=c[j+8>>2];c[p+28>>2]=c[j+12>>2];j=k+(n*80|0)+16|0;c[m+0>>2]=c[j+0>>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];j=k+(n*80|0)+32|0;c[l+0>>2]=c[j+0>>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];j=k+(n*80|0)+48|0;c[o+0>>2]=c[j+0>>2];c[o+4>>2]=c[j+4>>2];c[o+8>>2]=c[j+8>>2];c[o+12>>2]=c[j+12>>2];k=c[k+(n*80|0)+64>>2]|0;k=Nb[c[(c[k>>2]|0)+28>>2]&127](k)|0;c[p+0>>2]=c[k+0>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+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;k=c[(c[a+24>>2]|0)+(n*80|0)+64>>2]|0;Lb[c[(c[k>>2]|0)+24>>2]&127](k,p);r=+g[p+68>>2]*+g[b+4>>2]/+g[a+80>>2];q=+g[p+72>>2]*+g[b+8>>2]/+g[a+84>>2];g[p+64>>2]=+g[o>>2]*+g[b>>2]/+g[a+76>>2];g[p+68>>2]=r;g[p+72>>2]=q;g[p+76>>2]=0.0;k=c[a+24>>2]|0;j=k+(n*80|0)|0;c[j+0>>2]=c[p+16>>2];c[j+4>>2]=c[p+20>>2];c[j+8>>2]=c[p+24>>2];c[j+12>>2]=c[p+28>>2];j=k+(n*80|0)+16|0;c[j+0>>2]=c[m+0>>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];j=k+(n*80|0)+32|0;c[j+0>>2]=c[l+0>>2];c[j+4>>2]=c[l+4>>2];c[j+8>>2]=c[l+8>>2];c[j+12>>2]=c[l+12>>2];k=k+(n*80|0)+48|0;c[k+0>>2]=c[o+0>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];if(c[a+64>>2]|0){j=c[(c[a+24>>2]|0)+(n*80|0)+64>>2]|0;tc[c[(c[j>>2]|0)+8>>2]&127](j,p+16|0,p+128|0,p+112|0);c[p+80>>2]=c[p+128>>2];c[p+84>>2]=c[p+132>>2];c[p+88>>2]=c[p+136>>2];c[p+92>>2]=c[p+140>>2];c[p+96>>2]=c[p+112>>2];c[p+100>>2]=c[p+116>>2];c[p+104>>2]=c[p+120>>2];c[p+108>>2]=c[p+124>>2];j=c[a+64>>2]|0;k=c[(c[a+24>>2]|0)+(n*80|0)+76>>2]|0;d=DC(j,k)|0;a:do if(d){f=c[j+8>>2]|0;if((f|0)<=-1){d=c[j>>2]|0;break}if((f|0)>0){h=0;e=d;while(1){d=c[e+32>>2]|0;h=h+1|0;if(!d){d=e;break a}if((h|0)>=(f|0))break;else e=d}}}else d=0;while(0);c[k+0>>2]=c[p+80>>2];c[k+4>>2]=c[p+84>>2];c[k+8>>2]=c[p+88>>2];c[k+12>>2]=c[p+92>>2];c[k+16>>2]=c[p+96>>2];c[k+20>>2]=c[p+100>>2];c[k+24>>2]=c[p+104>>2];c[k+28>>2]=c[p+108>>2];EC(j,d,k)}n=n+1|0}while((n|0)<(c[a+16>>2]|0));o=a+76|0;c[o+0>>2]=c[b+0>>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=c[a>>2]|0;o=o+68|0;o=c[o>>2]|0;Jb[o&255](a);i=p;return}function Mw(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;k=i;e=ec[c[(c[d>>2]|0)+40>>2]&31](d,a)|0;f=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;c[b>>2]=f;if(f)Lb[c[(c[d>>2]|0)+48>>2]&127](d,e);c[b+4>>2]=c[a+4>>2];g[b+20>>2]=+g[a+72>>2];e=c[a+16>>2]|0;c[b+16>>2]=e;c[b+12>>2]=0;if(!e){i=k;return 11472}j=Wb[c[(c[d>>2]|0)+16>>2]&63](d,76,e)|0;e=c[j+8>>2]|0;c[b+12>>2]=ec[c[(c[d>>2]|0)+28>>2]&31](d,e)|0;if((c[b+16>>2]|0)>0){f=c[a+24>>2]|0;h=0;while(1){g[e+72>>2]=+g[f+(h*80|0)+72>>2];c[e+64>>2]=ec[c[(c[d>>2]|0)+28>>2]&31](d,c[f+(h*80|0)+64>>2]|0)|0;if(!(ec[c[(c[d>>2]|0)+24>>2]&31](d,c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0)|0)){f=c[(c[d>>2]|0)+16>>2]|0;l=c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0;l=Nb[c[(c[l>>2]|0)+52>>2]&127](l)|0;l=Wb[f&63](d,l,1)|0;f=c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0;f=Wb[c[(c[f>>2]|0)+56>>2]&63](f,c[l+8>>2]|0,d)|0;Hb[c[(c[d>>2]|0)+20>>2]&31](d,l,f,1346455635,c[(c[a+24>>2]|0)+(h*80|0)+64>>2]|0)}f=c[a+24>>2]|0;c[e+68>>2]=c[f+(h*80|0)+68>>2];g[e>>2]=+g[f+(h*80|0)>>2];g[e+4>>2]=+g[f+(h*80|0)+4>>2];g[e+8>>2]=+g[f+(h*80|0)+8>>2];g[e+12>>2]=+g[f+(h*80|0)+12>>2];g[e+16>>2]=+g[f+(h*80|0)+16>>2];g[e+20>>2]=+g[f+(h*80|0)+20>>2];g[e+24>>2]=+g[f+(h*80|0)+24>>2];g[e+28>>2]=+g[f+(h*80|0)+28>>2];g[e+32>>2]=+g[f+(h*80|0)+32>>2];g[e+36>>2]=+g[f+(h*80|0)+36>>2];g[e+40>>2]=+g[f+(h*80|0)+40>>2];g[e+44>>2]=+g[f+(h*80|0)+44>>2];g[e+48>>2]=+g[f+(h*80|0)+48>>2];g[e+52>>2]=+g[f+(h*80|0)+52>>2];g[e+56>>2]=+g[f+(h*80|0)+56>>2];g[e+60>>2]=+g[f+(h*80|0)+60>>2];h=h+1|0;if((h|0)>=(c[b+16>>2]|0)){e=d;break}else e=e+76|0}}else e=d;Hb[c[(c[e>>2]|0)+20>>2]&31](d,j,11440,1497453121,c[j+8>>2]|0);i=k;return 11472}function Nw(a){a=a|0;return 24}function Ow(a){a=a|0;return +(+g[a+72>>2])}function Pw(a,b){a=a|0;b=+b;g[a+72>>2]=b;return}function Qw(a){a=a|0;return 11536}function Rw(a){a=a|0;return a+76|0}function Sw(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,l=0.0,m=0.0,n=0;n=i;m=+g[b+60>>2]*.5;h=c[b+68>>2]|0;l=+g[d>>2];f=+g[d+4>>2];e=+g[d+8>>2];e=+P(+(l*l+f*f+e*e));k=c[b+64>>2]|0;if(+g[d+(h<<2)>>2]>e*+g[b+52>>2]){g[a+(k<<2)>>2]=0.0;g[a+(h<<2)>>2]=m;g[a+(c[b+72>>2]<<2)>>2]=0.0;i=n;return}l=+g[d+(k<<2)>>2];j=c[b+72>>2]|0;e=+g[d+(j<<2)>>2];f=+P(+(l*l+e*e));if(f>1.1920928955078125e-07){f=+g[b+56>>2]/f;g[a+(k<<2)>>2]=l*f;g[a+(h<<2)>>2]=-m;g[a+(j<<2)>>2]=e*f;i=n;return}else{g[a+(k<<2)>>2]=0.0;g[a+(h<<2)>>2]=-m;g[a+(j<<2)>>2]=0.0;i=n;return}}function Tw(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,l=0.0,m=0,n=0.0,o=0,p=0.0,q=0;q=i;i=i+16|0;if((e|0)<=0){i=q;return}o=0;do{m=d+(o<<4)|0;p=+g[a+60>>2]*.5;f=c[a+68>>2]|0;n=+g[b+(o<<4)>>2];l=+g[b+(o<<4)+4>>2];j=+g[b+(o<<4)+8>>2];j=+P(+(n*n+l*l+j*j));k=c[a+64>>2]|0;do if(!(+g[b+(o<<4)+(f<<2)>>2]>j*+g[a+52>>2])){l=+g[b+(o<<4)+(k<<2)>>2];h=c[a+72>>2]|0;j=+g[b+(o<<4)+(h<<2)>>2];n=+P(+(l*l+j*j));if(n>1.1920928955078125e-07){n=+g[a+56>>2]/n;g[q+(k<<2)>>2]=l*n;g[q+(f<<2)>>2]=-p;g[q+(h<<2)>>2]=j*n;break}else{g[q+(k<<2)>>2]=0.0;g[q+(f<<2)>>2]=-p;g[q+(h<<2)>>2]=0.0;break}}else{g[q+(k<<2)>>2]=0.0;g[q+(f<<2)>>2]=p;g[q+(c[a+72>>2]<<2)>>2]=0.0}while(0);c[m+0>>2]=c[q+0>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];o=o+1|0}while((o|0)!=(e|0));i=q;return}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0,o=0.0;n=i;m=+g[b+60>>2]*.5;e=c[b+68>>2]|0;l=+g[d>>2];k=+g[d+4>>2];h=+g[d+8>>2];h=+P(+(l*l+k*k+h*h));j=c[b+64>>2]|0;do if(!(+g[d+(e<<2)>>2]>h*+g[b+52>>2])){k=+g[d+(j<<2)>>2];f=c[b+72>>2]|0;h=+g[d+(f<<2)>>2];l=+P(+(k*k+h*h));if(l>1.1920928955078125e-07){l=+g[b+56>>2]/l;g[a+(j<<2)>>2]=k*l;g[a+(e<<2)>>2]=-m;g[a+(f<<2)>>2]=h*l;break}else{g[a+(j<<2)>>2]=0.0;g[a+(e<<2)>>2]=-m;g[a+(f<<2)>>2]=0.0;break}}else{g[a+(j<<2)>>2]=0.0;g[a+(e<<2)>>2]=m;g[a+(c[b+72>>2]<<2)>>2]=0.0}while(0);if(!(+Zb[c[(c[b>>2]|0)+48>>2]&15](b)!=0.0)){i=n;return}o=+g[d>>2];l=+g[d+4>>2];k=+g[d+8>>2];h=o*o+l*l+k*k<1.4210854715202004e-14?-1.0:k;m=o*o+l*l+k*k<1.4210854715202004e-14?-1.0:l;o=o*o+l*l+k*k<1.4210854715202004e-14?-1.0:o;k=1.0/+P(+(h*h+(o*o+m*m)));l=+Zb[c[(c[b>>2]|0)+48>>2]&15](b);g[a>>2]=k*o*l+ +g[a>>2];g[a+4>>2]=l*(k*m)+ +g[a+4>>2];g[a+8>>2]=l*(k*h)+ +g[a+8>>2];i=n;return} +function or(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.0,p=0.0,q=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,O=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;O=i;i=i+448|0;if(!(a[b+527>>0]|0)){i=O;return}L=c[b+28>>2]|0;w=+g[b+348>>2];l=+g[b+352>>2];n=+g[b+356>>2];B=+g[L+52>>2];m=w*+g[L+4>>2]+l*+g[L+8>>2]+n*+g[L+12>>2]+B;A=+g[L+56>>2];p=w*+g[L+20>>2]+l*+g[L+24>>2]+n*+g[L+28>>2]+A;z=+g[L+60>>2];n=w*+g[L+36>>2]+l*+g[L+40>>2]+n*+g[L+44>>2]+z;L=c[b+32>>2]|0;l=+g[b+412>>2];w=+g[b+416>>2];o=+g[b+420>>2];y=+g[L+52>>2];x=l*+g[L+4>>2]+w*+g[L+8>>2]+o*+g[L+12>>2]+y;j=+g[L+56>>2];D=l*+g[L+20>>2]+w*+g[L+24>>2]+o*+g[L+28>>2]+j;u=+g[L+60>>2];o=l*+g[L+36>>2]+w*+g[L+40>>2]+o*+g[L+44>>2]+u;if(!(a[b+524>>0]|0)){k=+g[d+192>>2]+ +g[d+80>>2];l=+g[d+196>>2]+ +g[d+84>>2];G=+g[d+200>>2]+ +g[d+88>>2];w=+g[e+192>>2]+ +g[e+80>>2];F=+g[e+196>>2]+ +g[e+84>>2];H=+g[e+200>>2]+ +g[e+88>>2];E=+g[d+176>>2]+ +g[d+64>>2]+((n-z)*l-(p-A)*G)-(+g[e+176>>2]+ +g[e+64>>2]+((o-u)*F-(D-j)*H));H=+g[d+180>>2]+ +g[d+68>>2]+((m-B)*G-(n-z)*k)-(+g[e+180>>2]+ +g[e+68>>2]+((x-y)*H-(o-u)*w));F=+g[d+184>>2]+ +g[d+72>>2]+((p-A)*k-(m-B)*l)-(+g[e+184>>2]+ +g[e+72>>2]+((D-j)*w-(x-y)*F));h=(c[d+240>>2]|0)==0;t=0;do{w=1.0/+g[b+(t*84|0)+128>>2];s=b+(t*84|0)+48|0;l=+g[s>>2];q=b+(t*84|0)+52|0;k=+g[q>>2];r=b+(t*84|0)+56|0;G=+g[r>>2];G=w*(((m-x)*l+(p-D)*k+(n-o)*G)*-.30000001192092896/f)-w*(E*l+H*k+F*G);g[b+36>>2]=+g[b+36>>2]+G;k=+g[r>>2];l=+g[q>>2];w=+g[s>>2];v=c[b+28>>2]|0;C=+g[v+344>>2];if(!h){S=((p-A)*k-(n-z)*l)*+g[v+296>>2]+((n-z)*w-(m-B)*k)*+g[v+300>>2]+((m-B)*l-(p-A)*w)*+g[v+304>>2];Q=((p-A)*k-(n-z)*l)*+g[v+280>>2]+((n-z)*w-(m-B)*k)*+g[v+284>>2]+((m-B)*l-(p-A)*w)*+g[v+288>>2];R=((p-A)*k-(n-z)*l)*+g[v+264>>2]+((n-z)*w-(m-B)*k)*+g[v+268>>2]+((m-B)*l-(p-A)*w)*+g[v+272>>2];U=G*(l*C)*+g[d+116>>2];T=G*(k*C)*+g[d+120>>2];g[d+64>>2]=G*(w*C)*+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*(G*+g[d+100>>2]);C=S*(G*+g[d+104>>2]);g[d+80>>2]=R*(G*+g[d+96>>2])+ +g[d+80>>2];g[d+84>>2]=Q+ +g[d+84>>2];g[d+88>>2]=C+ +g[d+88>>2]}v=c[b+32>>2]|0;C=+g[v+344>>2];if(c[e+240>>2]|0){Q=((D-j)*k-(o-u)*l)*+g[v+296>>2]+((o-u)*w-(x-y)*k)*+g[v+300>>2]+((x-y)*l-(D-j)*w)*+g[v+304>>2];R=((D-j)*k-(o-u)*l)*+g[v+280>>2]+((o-u)*w-(x-y)*k)*+g[v+284>>2]+((x-y)*l-(D-j)*w)*+g[v+288>>2];l=((D-j)*k-(o-u)*l)*+g[v+264>>2]+((o-u)*w-(x-y)*k)*+g[v+268>>2]+((x-y)*l-(D-j)*w)*+g[v+272>>2];w=C*+g[q>>2]*-G*+g[e+116>>2];k=C*+g[r>>2]*-G*+g[e+120>>2];g[e+64>>2]=+g[e+112>>2]*(C*+g[s>>2]*-G)+ +g[e+64>>2];g[e+68>>2]=w+ +g[e+68>>2];g[e+72>>2]=k+ +g[e+72>>2];k=R*(+g[e+100>>2]*-G);C=Q*(+g[e+104>>2]*-G);g[e+80>>2]=l*(+g[e+96>>2]*-G)+ +g[e+80>>2];g[e+84>>2]=k+ +g[e+84>>2];g[e+88>>2]=C+ +g[e+88>>2]}t=t+1|0}while((t|0)!=3)}do if(!(a[b+552>>0]|0)){p=+g[b+440>>2];if(!(p>1.1920928955078125e-07)){s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0;break}o=+g[e+192>>2]+ +g[e+80>>2]-(+g[d+192>>2]+ +g[d+80>>2]);n=+g[e+196>>2]+ +g[e+84>>2]-(+g[d+196>>2]+ +g[d+84>>2]);l=+g[e+200>>2]+ +g[e+88>>2]-(+g[d+200>>2]+ +g[d+88>>2]);if(o*o+n*n+l*l>1.1920928955078125e-07){C=1.0/+P(+(o*o+n*n+l*l));h=c[b+28>>2]|0;k=+g[h+264>>2];u=+g[h+280>>2];j=+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;p=p*(1.0/(o*C*(o*C*k+n*C*u+l*C*j)+n*C*(o*C*w+n*C*x+l*C*y)+l*C*(o*C*z+n*C*A+l*C*B)+(o*C*(o*C*+g[h+264>>2]+n*C*+g[h+280>>2]+l*C*+g[h+296>>2])+n*C*(o*C*+g[h+268>>2]+n*C*+g[h+284>>2]+l*C*+g[h+300>>2])+l*C*(o*C*+g[h+272>>2]+n*C*+g[h+288>>2]+l*C*+g[h+304>>2]))));C=+P(+(l*p*(l*p)+(o*p*(o*p)+n*p*(n*p))));m=1.0/C*(o*p);o=1.0/C*(n*p);p=1.0/C*(l*p);if(c[d+240>>2]|0){F=C*0.0*+g[d+116>>2];E=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]=F+ +g[d+68>>2];g[d+72>>2]=E+ +g[d+72>>2];E=(m*u+o*x+p*A)*(C*+g[d+100>>2]);F=(m*j+o*y+p*B)*(C*+g[d+104>>2]);g[d+80>>2]=(m*k+o*w+p*z)*(C*+g[d+96>>2])+ +g[d+80>>2];g[d+84>>2]=E+ +g[d+84>>2];g[d+88>>2]=F+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){F=m*+g[h+296>>2]+o*+g[h+300>>2]+p*+g[h+304>>2];E=m*+g[h+280>>2]+o*+g[h+284>>2]+p*+g[h+288>>2];D=m*+g[h+264>>2]+o*+g[h+268>>2]+p*+g[h+272>>2];A=C*-0.0*+g[e+116>>2];B=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]=A+ +g[e+68>>2];g[e+72>>2]=B+ +g[e+72>>2];E=E*(+g[e+100>>2]*-C);F=F*(+g[e+104>>2]*-C);g[e+80>>2]=D*(+g[e+96>>2]*-C)+ +g[e+80>>2];g[e+84>>2]=E+ +g[e+84>>2];g[e+88>>2]=F+ +g[e+88>>2];s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}else{s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}}else{s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}}else{K=c[b+28>>2]|0;c[O+352>>2]=c[K+4>>2];c[O+356>>2]=c[K+8>>2];c[O+360>>2]=c[K+12>>2];c[O+364>>2]=c[K+16>>2];c[O+368>>2]=c[K+20>>2];c[O+372>>2]=c[K+24>>2];c[O+376>>2]=c[K+28>>2];c[O+380>>2]=c[K+32>>2];c[O+384>>2]=c[K+36>>2];c[O+388>>2]=c[K+40>>2];c[O+392>>2]=c[K+44>>2];c[O+396>>2]=c[K+48>>2];c[O+400>>2]=c[K+52>>2];c[O+404>>2]=c[K+56>>2];c[O+408>>2]=c[K+60>>2];c[O+412>>2]=c[K+64>>2];K=c[b+32>>2]|0;c[O+288>>2]=c[K+4>>2];c[O+292>>2]=c[K+8>>2];c[O+296>>2]=c[K+12>>2];c[O+300>>2]=c[K+16>>2];c[O+304>>2]=c[K+20>>2];c[O+308>>2]=c[K+24>>2];c[O+312>>2]=c[K+28>>2];c[O+316>>2]=c[K+32>>2];c[O+320>>2]=c[K+36>>2];c[O+324>>2]=c[K+40>>2];c[O+328>>2]=c[K+44>>2];c[O+332>>2]=c[K+48>>2];c[O+336>>2]=c[K+52>>2];c[O+340>>2]=c[K+56>>2];c[O+344>>2]=c[K+60>>2];c[O+348>>2]=c[K+64>>2];D=+g[d+196>>2]+ +g[d+84>>2];m=+g[d+200>>2]+ +g[d+88>>2];g[O+272>>2]=+g[d+192>>2]+ +g[d+80>>2];g[O+276>>2]=D;g[O+280>>2]=m;g[O+284>>2]=0.0;m=+g[e+196>>2]+ +g[e+84>>2];D=+g[e+200>>2]+ +g[e+88>>2];g[O+256>>2]=+g[e+192>>2]+ +g[e+80>>2];g[O+260>>2]=m;g[O+264>>2]=D;g[O+268>>2]=0.0;g[O+192>>2]=1.0;K=O+196|0;c[K+0>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;c[K+12>>2]=0;g[O+212>>2]=1.0;L=O+216|0;c[L+0>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;g[O+232>>2]=1.0;I=O+236|0;c[I+0>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;Ap(O+352|0,0.0,0.0,0.0,O+272|0,f,O+192|0);g[O+128>>2]=1.0;I=O+132|0;c[I+0>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;g[O+148>>2]=1.0;J=O+152|0;c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;g[O+168>>2]=1.0;v=O+172|0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;Ap(O+288|0,0.0,0.0,0.0,O+256|0,f,O+128|0);D=+g[b+556>>2];m=+g[b+560>>2];E=+g[b+564>>2];Q=+g[b+568>>2];H=D*(2.0/(D*D+m*m+E*E+Q*Q));z=m*(2.0/(D*D+m*m+E*E+Q*Q));u=E*(2.0/(D*D+m*m+E*E+Q*Q));W=+g[b+364>>2];V=+g[b+368>>2];Z=+g[b+372>>2];T=(D*u-Q*z)*Z+(V*(D*z+Q*u)+W*(1.0-(m*z+E*u)));S=Z*(m*u+Q*H)+(W*(D*z-Q*u)+V*(1.0-(D*H+E*u)));R=W*(D*u+Q*z)+V*(m*u-Q*H)+Z*(1.0-(D*H+m*z));U=+g[b+380>>2];k=+g[b+384>>2];x=+g[b+388>>2];p=(1.0-(m*z+E*u))*U+(D*z+Q*u)*k+(D*u-Q*z)*x;o=(D*z-Q*u)*U+(1.0-(D*H+E*u))*k+(m*u+Q*H)*x;n=(D*u+Q*z)*U+(m*u-Q*H)*k+(1.0-(D*H+m*z))*x;G=+g[b+396>>2];w=+g[b+400>>2];y=+g[b+404>>2];B=(1.0-(m*z+E*u))*G+(D*z+Q*u)*w+(D*u-Q*z)*y;E=(D*z-Q*u)*G+(1.0-(D*H+E*u))*w+(m*u+Q*H)*y;z=(D*u+Q*z)*G+(m*u-Q*H)*w+(1.0-(D*H+m*z))*y;m=+g[b+300>>2];H=+g[b+316>>2];D=+g[b+332>>2];Q=+g[b+304>>2];u=+g[b+320>>2];F=+g[b+336>>2];l=+g[b+308>>2];j=+g[b+324>>2];C=+g[b+340>>2];A=-+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]+(R*(l*A+j*aa+C*Y)+(T*(m*A+H*aa+D*Y)+S*(Q*A+u*aa+F*Y)));x=U*0.0+k*0.0+x*0.0+ +g[b+416>>2]+(n*(l*A+j*aa+C*Y)+(p*(m*A+H*aa+D*Y)+o*(Q*A+u*aa+F*Y)));Y=G*0.0+w*0.0+y*0.0+ +g[b+420>>2]+(z*(l*A+j*aa+C*Y)+(B*(m*A+H*aa+D*Y)+E*(Q*A+u*aa+F*Y)));aa=+g[O+128>>2];A=+g[I>>2];y=+g[O+136>>2];w=+g[O+144>>2];G=+g[O+148>>2];k=+g[J>>2];U=+g[O+160>>2];V=+g[O+164>>2];W=+g[O+168>>2];X=y*Y+(aa*Z+A*x)+ +g[O+176>>2];_=Y*k+(w*Z+G*x)+ +g[O+180>>2];$=Z*U+x*V+Y*W+ +g[O+184>>2];g[O+64>>2]=(T*m+S*Q+R*l)*aa+(p*m+o*Q+n*l)*A+(B*m+E*Q+z*l)*y;g[O+68>>2]=(T*H+S*u+R*j)*aa+(p*H+o*u+n*j)*A+(B*H+E*u+z*j)*y;g[O+72>>2]=(T*D+S*F+R*C)*aa+(p*D+o*F+n*C)*A+(B*D+E*F+z*C)*y;g[O+76>>2]=0.0;g[O+80>>2]=(T*m+S*Q+R*l)*w+(p*m+o*Q+n*l)*G+(B*m+E*Q+z*l)*k;g[O+84>>2]=(T*H+S*u+R*j)*w+(p*H+o*u+n*j)*G+(B*H+E*u+z*j)*k;g[O+88>>2]=(T*D+S*F+R*C)*w+(p*D+o*F+n*C)*G+(B*D+E*F+z*C)*k;g[O+92>>2]=0.0;g[O+96>>2]=(T*m+S*Q+R*l)*U+(p*m+o*Q+n*l)*V+(B*m+E*Q+z*l)*W;g[O+100>>2]=(T*H+S*u+R*j)*U+(p*H+o*u+n*j)*V+(B*H+E*u+z*j)*W;g[O+104>>2]=(T*D+S*F+R*C)*U+(p*D+o*F+n*C)*V+(B*D+E*F+z*C)*W;g[O+108>>2]=0.0;g[O+112>>2]=X;g[O+116>>2]=_;g[O+120>>2]=$;g[O+124>>2]=0.0;$=(B*m+E*Q+z*l)*-Y+((T*m+S*Q+R*l)*-Z+(p*m+o*Q+n*l)*-x);_=(B*H+E*u+z*j)*-Y+((T*H+S*u+R*j)*-Z+(p*H+o*u+n*j)*-x);x=(B*D+E*F+z*C)*-Y+((T*D+S*F+R*C)*-Z+(p*D+o*F+n*C)*-x);Z=+g[O+192>>2];Y=+g[K>>2];X=+g[O+200>>2];W=+g[O+208>>2];V=+g[O+212>>2];U=+g[L>>2];k=+g[O+224>>2];G=+g[O+228>>2];w=+g[O+232>>2];y=$*Z+_*Y+x*X+ +g[O+240>>2];A=$*W+_*V+x*U+ +g[O+244>>2];x=$*k+_*G+x*w+ +g[O+248>>2];g[O>>2]=(T*m+S*Q+R*l)*Z+(T*H+S*u+R*j)*Y+(T*D+S*F+R*C)*X;g[O+4>>2]=(p*m+o*Q+n*l)*Z+(p*H+o*u+n*j)*Y+(p*D+o*F+n*C)*X;g[O+8>>2]=(B*m+E*Q+z*l)*Z+(B*H+E*u+z*j)*Y+(B*D+E*F+z*C)*X;g[O+12>>2]=0.0;g[O+16>>2]=(T*m+S*Q+R*l)*W+(T*H+S*u+R*j)*V+(T*D+S*F+R*C)*U;g[O+20>>2]=(p*m+o*Q+n*l)*W+(p*H+o*u+n*j)*V+(p*D+o*F+n*C)*U;g[O+24>>2]=(B*m+E*Q+z*l)*W+(B*H+E*u+z*j)*V+(B*D+E*F+z*C)*U;g[O+28>>2]=0.0;g[O+32>>2]=(T*m+S*Q+R*l)*k+(T*H+S*u+R*j)*G+(T*D+S*F+R*C)*w;g[O+36>>2]=(p*m+o*Q+n*l)*k+(p*H+o*u+n*j)*G+(p*D+o*F+n*C)*w;g[O+40>>2]=(B*m+E*Q+z*l)*k+(B*H+E*u+z*j)*G+(B*D+E*F+z*C)*w;g[O+44>>2]=0.0;g[O+48>>2]=y;g[O+52>>2]=A;g[O+56>>2]=x;g[O+60>>2]=0.0;Bp(O+352|0,O+64|0,O+424|0,O+416|0);x=+g[O+416>>2];A=1.0/f*(+g[O+424>>2]*x);y=1.0/f*(x*+g[O+428>>2]);x=1.0/f*(x*+g[O+432>>2]);Bp(O+288|0,O,O+424|0,O+416|0);w=+g[O+416>>2];A=A-+g[O+272>>2];y=y-+g[O+276>>2];x=x-+g[O+280>>2];C=1.0/f*(+g[O+424>>2]*w)-+g[O+256>>2];z=1.0/f*(w*+g[O+428>>2])-+g[O+260>>2];w=1.0/f*(w*+g[O+432>>2])-+g[O+264>>2];if(A*A+y*y+x*x>1.1920928955078125e-07){j=1.0/+P(+(A*A+y*y+x*x));L=c[b+28>>2]|0;l=A*j*(A*j*+g[L+264>>2]+y*j*+g[L+280>>2]+x*j*+g[L+296>>2])+y*j*(A*j*+g[L+268>>2]+y*j*+g[L+284>>2]+x*j*+g[L+300>>2])+x*j*(A*j*+g[L+272>>2]+y*j*+g[L+288>>2]+x*j*+g[L+304>>2]);p=A*j;n=y*j;j=x*j}else{l=0.0;p=0.0;n=0.0;j=0.0}if(C*C+z*z+w*w>1.1920928955078125e-07){u=1.0/+P(+(C*C+z*z+w*w));L=c[b+32>>2]|0;k=C*u*(C*u*+g[L+264>>2]+z*u*+g[L+280>>2]+w*u*+g[L+296>>2])+z*u*(C*u*+g[L+268>>2]+z*u*+g[L+284>>2]+w*u*+g[L+300>>2])+w*u*(C*u*+g[L+272>>2]+z*u*+g[L+288>>2]+w*u*+g[L+304>>2]);o=C*u;m=z*u;u=w*u}else{k=0.0;o=0.0;m=0.0;u=0.0}B=p*l+o*k;o=n*l+m*k;n=j*l+u*k;if(n*n+(B*B+o*o)>1.1920928955078125e-07){l=1.0/+P(+(n*n+(B*B+o*o)));v=c[b+28>>2]|0;p=B*l*(B*l*+g[v+264>>2]+o*l*+g[v+280>>2]+n*l*+g[v+296>>2])+o*l*(B*l*+g[v+268>>2]+o*l*+g[v+284>>2]+n*l*+g[v+300>>2])+n*l*(B*l*+g[v+272>>2]+o*l*+g[v+288>>2]+n*l*+g[v+304>>2]);h=c[b+32>>2]|0;n=B*l*(B*l*+g[h+264>>2]+o*l*+g[h+280>>2]+n*l*+g[h+296>>2])+o*l*(B*l*+g[h+268>>2]+o*l*+g[h+284>>2]+n*l*+g[h+300>>2])+n*l*(B*l*+g[h+272>>2]+o*l*+g[h+288>>2]+n*l*+g[h+304>>2]);l=1.0/((p+n)*(p+n))*(A*p-C*n);C=1.0/((p+n)*(p+n))*(y*p-z*n);n=1.0/((p+n)*(p+n))*(x*p-w*n);j=+g[b+572>>2];if(!(j>=0.0))j=C;else{if(a[b+553>>0]|0)j=j/p;k=+g[b+576>>2];o=+g[b+580>>2];p=+g[b+584>>2];m=+P(+((l+k)*(l+k)+(C+o)*(C+o)+(n+p)*(n+p)));if(m>j){l=j*((l+k)*(1.0/m))-k;n=j*((n+p)*(1.0/m))-p;j=j*((C+o)*(1.0/m))-o}else j=C;g[b+576>>2]=l+k;g[b+580>>2]=j+o;g[b+584>>2]=n+p}m=+P(+(n*n+(j*j+l*l)));l=l*(1.0/m);k=j*(1.0/m);j=n*(1.0/m);if(c[d+240>>2]|0){F=l*+g[v+296>>2]+k*+g[v+300>>2]+j*+g[v+304>>2];E=l*+g[v+280>>2]+k*+g[v+284>>2]+j*+g[v+288>>2];D=l*+g[v+264>>2]+k*+g[v+268>>2]+j*+g[v+272>>2];B=m*0.0*+g[d+116>>2];C=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]=B+ +g[d+68>>2];g[d+72>>2]=C+ +g[d+72>>2];E=E*(m*+g[d+100>>2]);F=F*(m*+g[d+104>>2]);g[d+80>>2]=D*(m*+g[d+96>>2])+ +g[d+80>>2];g[d+84>>2]=E+ +g[d+84>>2];g[d+88>>2]=F+ +g[d+88>>2];h=c[b+32>>2]|0}if(c[e+240>>2]|0){F=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];E=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];D=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];B=m*-0.0*+g[e+116>>2];C=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]=B+ +g[e+68>>2];g[e+72>>2]=C+ +g[e+72>>2];E=E*(+g[e+100>>2]*-m);F=F*(+g[e+104>>2]*-m);g[e+80>>2]=D*(+g[e+96>>2]*-m)+ +g[e+80>>2];g[e+84>>2]=E+ +g[e+84>>2];g[e+88>>2]=F+ +g[e+88>>2];s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}else{s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}}else{s=e+192|0;h=d+192|0;v=e+200|0;r=d+200|0;L=e+88|0;I=d+88|0;M=e+80|0;J=d+80|0;t=e+196|0;q=d+196|0;N=e+84|0;K=d+84|0}}while(0);H=+g[h>>2]+ +g[J>>2];u=+g[q>>2]+ +g[K>>2];G=+g[r>>2]+ +g[I>>2];D=+g[s>>2]+ +g[M>>2];E=+g[t>>2]+ +g[N>>2];F=+g[v>>2]+ +g[L>>2];if(a[b+526>>0]|0){o=+g[b+528>>2];p=o*+g[b+504>>2]*+g[b+432>>2]/f;C=+g[b+460>>2];B=+g[b+464>>2];z=+g[b+468>>2];if((D-H)*C+(E-u)*B+(F-G)*z>0.0)p=p+o*((D-H)*C+(E-u)*B+(F-G)*z)*+g[b+436>>2];k=+g[b+516>>2];aa=k+p*+g[b+492>>2];aa=aa>0.0?aa:0.0;g[b+516>>2]=aa;A=+g[b+536>>2];l=+g[b+540>>2];$=+g[b+544>>2];j=A*(C*(aa-k))+B*(aa-k)*l+z*(aa-k)*$;y=+P(+((z*(aa-k)-$*j)*(z*(aa-k)-$*j)+((C*(aa-k)-A*j)*(C*(aa-k)-A*j)+(B*(aa-k)-l*j)*(B*(aa-k)-l*j))));A=1.0/y*(C*(aa-k)-A*j);B=1.0/y*(B*(aa-k)-l*j);C=1.0/y*(z*(aa-k)-$*j);v=c[b+28>>2]|0;if(c[d+240>>2]|0){z=A*+g[v+296>>2]+B*+g[v+300>>2]+C*+g[v+304>>2];j=A*+g[v+280>>2]+B*+g[v+284>>2]+C*+g[v+288>>2];$=A*+g[v+264>>2]+B*+g[v+268>>2]+C*+g[v+272>>2];aa=y*0.0*+g[d+116>>2];k=y*0.0*+g[d+120>>2];g[d+64>>2]=y*0.0*+g[d+112>>2]+ +g[d+64>>2];g[d+68>>2]=aa+ +g[d+68>>2];g[d+72>>2]=k+ +g[d+72>>2];j=j*(y*+g[d+100>>2]);z=z*(y*+g[d+104>>2]);g[J>>2]=$*(y*+g[d+96>>2])+ +g[J>>2];g[K>>2]=j+ +g[K>>2];g[I>>2]=z+ +g[I>>2]}v=c[b+32>>2]|0;if(c[e+240>>2]|0){z=A*+g[v+296>>2]+B*+g[v+300>>2]+C*+g[v+304>>2];j=A*+g[v+280>>2]+B*+g[v+284>>2]+C*+g[v+288>>2];A=A*+g[v+264>>2]+B*+g[v+268>>2]+C*+g[v+272>>2];C=y*-0.0*+g[e+116>>2];B=y*-0.0*+g[e+120>>2];g[e+64>>2]=y*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=C+ +g[e+68>>2];g[e+72>>2]=B+ +g[e+72>>2];B=j*(+g[e+100>>2]*-y);C=z*(+g[e+104>>2]*-y);g[M>>2]=A*(+g[e+96>>2]*-y)+ +g[M>>2];g[N>>2]=B+ +g[N>>2];g[L>>2]=C+ +g[L>>2]}}if(!(a[b+525>>0]|0)){i=O;return}p=+g[b+532>>2];m=p*+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((D-H)*l+(E-u)*k+(F-G)*j>0.0)m=m+p*((D-H)*l+(E-u)*k+(F-G)*j)*+g[b+436>>2];o=+g[b+520>>2];p=o+m*+g[b+496>>2];p=p>0.0?p:0.0;g[b+520>>2]=p;h=c[b+28>>2]|0;if(c[d+240>>2]|0){f=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];F=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=(p-o)*0.0*+g[d+116>>2];k=(p-o)*0.0*+g[d+120>>2];g[d+64>>2]=(p-o)*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=F*((p-o)*+g[d+100>>2]);l=f*((p-o)*+g[d+104>>2]);g[J>>2]=j*((p-o)*+g[d+96>>2])+ +g[J>>2];g[K>>2]=k+ +g[K>>2];g[I>>2]=l+ +g[I>>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=O;return}f=l*+g[h+296>>2]+k*+g[h+300>>2]+j*+g[h+304>>2];F=l*+g[h+280>>2]+k*+g[h+284>>2]+j*+g[h+288>>2];E=l*+g[h+264>>2]+k*+g[h+268>>2]+j*+g[h+272>>2];C=(p-o)*-0.0*+g[e+116>>2];D=(p-o)*-0.0*+g[e+120>>2];g[e+64>>2]=(p-o)*-0.0*+g[e+112>>2]+ +g[e+64>>2];g[e+68>>2]=C+ +g[e+68>>2];g[e+72>>2]=D+ +g[e+72>>2];F=F*(+g[e+100>>2]*-(p-o));f=f*(+g[e+104>>2]*-(p-o));g[M>>2]=E*(+g[e+96>>2]*-(p-o))+ +g[M>>2];g[N>>2]=F+ +g[N>>2];g[L>>2]=f+ +g[L>>2];i=O;return}function pr(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,l=0.0;i=+R(+c);h=+S(+c);c=+g[b+444>>2];if(+O(+i)>1.1920928955078125e-07){e=+g[b+448>>2];c=+P(+((h*h/(i*i)+1.0)/(1.0/(e*e)+h*h/(i*i)/(c*c))));e=h*h;f=i*i}else{e=h*h;f=i*i}k=c*.5;c=+S(+k)/+P(+(f+0.0+e));k=+R(+k);l=k*d+i*c*0.0-h*c*-0.0;e=k*0.0-h*c*d-c*0.0*0.0;j=k*0.0+c*0.0*0.0-i*c*d;f=-(c*0.0*d)-i*c*0.0-h*c*-0.0;g[a>>2]=h*c*e+(k*l+f*-(c*0.0))-j*-(i*c);g[a+4>>2]=j*-(c*0.0)+(k*e+f*-(i*c))-h*c*l;g[a+8>>2]=l*-(i*c)+(k*j+h*c*f)-e*-(c*0.0);g[a+12>>2]=0.0;return}function qr(a,b){a=a|0;b=b|0;var 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,r=0.0,t=0.0,u=0.0,v=0.0,w=0;w=i;c[a+556>>2]=c[b+0>>2];c[a+560>>2]=c[b+4>>2];c[a+564>>2]=c[b+8>>2];c[a+568>>2]=c[b+12>>2];l=+g[a+568>>2];k=+g[a+560>>2];m=+g[a+564>>2];n=+g[a+556>>2];f=-n-k*0.0-m*0.0;e=(m+l*0.0-n*0.0)*-m+(l*(l+k*0.0-m*0.0)+f*-n)-(l*0.0+n*0.0-k)*-k;d=(l*0.0+n*0.0-k)*-n+(l*(m+l*0.0-n*0.0)+f*-k)-(l+k*0.0-m*0.0)*-m;f=(l+k*0.0-m*0.0)*-k+(l*(l*0.0+n*0.0-k)+f*-m)-(m+l*0.0-n*0.0)*-n;if(f*0.0+(d*0.0+e)<-.9999998807907104)if(+O(0.0)>.7071067690849304){j=0.0;h=s;f=0.0;e=s}else{j=0.0;h=1.0;f=-0.0;e=0.0}else{o=+P(+((f*0.0+(d*0.0+e)+1.0)*2.0));j=o*.5;h=(e*0.0-f)*(1.0/o);f=(f*0.0-d*0.0)*(1.0/o);e=(d-e*0.0)*(1.0/o)}o=1.0/+P(+(j*j+(e*e+(h*h+f*f))));r=f*o;p=h*o;q=e*o;o=j*o;d=1.0/+P(+((o*l-n*-r-k*-p-m*-q)*(o*l-n*-r-k*-p-m*-q)+((l*-q+o*m+k*-r-n*-p)*(l*-q+o*m+k*-r-n*-p)+((o*n+l*-r+m*-p-k*-q)*(o*n+l*-r+m*-p-k*-q)+(n*-q+(l*-p+o*k)-m*-r)*(n*-q+(l*-p+o*k)-m*-r)))));u=(o*n+l*-r+m*-p-k*-q)*d;h=d*(n*-q+(l*-p+o*k)-m*-r);v=d*(l*-q+o*m+k*-r-n*-p);d=d*(o*l-n*-r-k*-p-m*-q);f=+g[a+444>>2];if(f>=.05000000074505806?(t=+g[a+448>>2],t>=.05000000074505806):0){e=o<-1.0?-1.0:o;e=+U(+(e>1.0?1.0:e))*2.0;if(e>1.1920928955078125e-07){j=1.0/+P(+(q*q+(r*r+p*p)));if(+O(+(p*j))>1.1920928955078125e-07){m=r*j;n=p*j;l=q*j;f=+P(+((q*j*(q*j)/(p*j*(p*j))+1.0)/(1.0/(t*t)+q*j*(q*j)/(p*j*(p*j))/(f*f))))}else{m=r*j;n=p*j;l=q*j}}else{m=0.0;n=0.0;l=0.0;f=0.0}if(+O(+e)>1.1920928955078125e-07){if(!(e>f)){f=-f;if(e>2];if(l>=.05000000074505806){e=d<-1.0?-1.0:d;e=+U(+(e>1.0?1.0:e))*2.0;if(e>3.1415927410125732){e=d>1.0?-1.0:-d;f=-u;j=-h;k=-v;e=+U(+(e>1.0?1.0:e))*2.0}else{f=u;j=h;k=v}if(e>1.1920928955078125e-07){q=1.0/+P(+(k*k+(j*j+f*f)));f=f*q;j=j*q;k=k*q}if(+O(+e)>1.1920928955078125e-07){if(!(e>l)){if(e<-l)e=-l}else e=l;d=e*.5;e=+S(+d)/+P(+(k*k+(j*j+f*f)));h=j*e;f=f*e;e=k*e;d=+R(+d)}else{f=u;e=v}}else{f=u;e=v}g[a+556>>2]=p*e+(m*d+o*f)-n*h;g[a+560>>2]=n*f+(p*d+o*h)-m*e;g[a+564>>2]=n*d+o*e+m*h-p*f;g[a+568>>2]=o*d-m*f-p*h-n*e;i=w;return}function rr(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if((b|0)==2|(b|0)==1)if(e>>>0<3){g[a+600>>2]=d;c[a+592>>2]=c[a+592>>2]|2;i=f;return}else{g[a+432>>2]=d;i=f;return}else if((b|0)==4|(b|0)==3)if(e>>>0<3){g[a+596>>2]=d;c[a+592>>2]=c[a+592>>2]|1;i=f;return}else{g[a+604>>2]=d;c[a+592>>2]=c[a+592>>2]|4;i=f;return}else{i=f;return}}function sr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;e=i;do if((b|0)==2|(b|0)==1){if(c>>>0<3){d=+g[a+600>>2];break}if((c+-3|0)>>>0<3)d=+g[a+432>>2];else d=0.0}else if((b|0)==4|(b|0)==3){if(c>>>0<3){d=+g[a+596>>2];break}if((c+-3|0)>>>0<3)d=+g[a+604>>2];else d=0.0}else d=0.0;while(0);i=e;return +d}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a+300>>2]=c[b+0>>2];c[a+304>>2]=c[b+4>>2];c[a+308>>2]=c[b+8>>2];c[a+312>>2]=c[b+12>>2];c[a+316>>2]=c[b+16>>2];c[a+320>>2]=c[b+20>>2];c[a+324>>2]=c[b+24>>2];c[a+328>>2]=c[b+28>>2];c[a+332>>2]=c[b+32>>2];c[a+336>>2]=c[b+36>>2];c[a+340>>2]=c[b+40>>2];c[a+344>>2]=c[b+44>>2];c[a+348>>2]=c[b+48>>2];c[a+352>>2]=c[b+52>>2];c[a+356>>2]=c[b+56>>2];c[a+360>>2]=c[b+60>>2];c[a+364>>2]=c[d+0>>2];c[a+368>>2]=c[d+4>>2];c[a+372>>2]=c[d+8>>2];c[a+376>>2]=c[d+12>>2];c[a+380>>2]=c[d+16>>2];c[a+384>>2]=c[d+20>>2];c[a+388>>2]=c[d+24>>2];c[a+392>>2]=c[d+28>>2];c[a+396>>2]=c[d+32>>2];c[a+400>>2]=c[d+36>>2];c[a+404>>2]=c[d+40>>2];c[a+408>>2]=c[d+44>>2];c[a+412>>2]=c[d+48>>2];c[a+416>>2]=c[d+52>>2];c[a+420>>2]=c[d+56>>2];c[a+424>>2]=c[d+60>>2];Jb[c[(c[a>>2]|0)+8>>2]&255](a);i=e;return}function ur(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;br(a,b,c)|0;g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];g[b+76>>2]=+g[a+324>>2];g[b+80>>2]=+g[a+328>>2];g[b+84>>2]=+g[a+332>>2];g[b+88>>2]=+g[a+336>>2];g[b+92>>2]=+g[a+340>>2];g[b+96>>2]=+g[a+344>>2];g[b+100>>2]=+g[a+348>>2];g[b+104>>2]=+g[a+352>>2];g[b+108>>2]=+g[a+356>>2];g[b+112>>2]=+g[a+360>>2];g[b+116>>2]=+g[a+364>>2];g[b+120>>2]=+g[a+368>>2];g[b+124>>2]=+g[a+372>>2];g[b+128>>2]=+g[a+376>>2];g[b+132>>2]=+g[a+380>>2];g[b+136>>2]=+g[a+384>>2];g[b+140>>2]=+g[a+388>>2];g[b+144>>2]=+g[a+392>>2];g[b+148>>2]=+g[a+396>>2];g[b+152>>2]=+g[a+400>>2];g[b+156>>2]=+g[a+404>>2];g[b+160>>2]=+g[a+408>>2];g[b+164>>2]=+g[a+412>>2];g[b+168>>2]=+g[a+416>>2];g[b+172>>2]=+g[a+420>>2];g[b+176>>2]=+g[a+424>>2];g[b+180>>2]=+g[a+444>>2];g[b+184>>2]=+g[a+448>>2];g[b+188>>2]=+g[a+452>>2];g[b+192>>2]=+g[a+428>>2];g[b+196>>2]=+g[a+432>>2];g[b+200>>2]=+g[a+436>>2];g[b+204>>2]=+g[a+440>>2];i=d;return 3800}function vr(a){a=a|0;return 212}function wr(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function xr(b,d,e,f,h,j,k,l){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.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.0,A=0.0;y=i;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]=3840;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+0>>2];c[b+604>>2]=c[f+4>>2];c[b+608>>2]=c[f+8>>2];c[b+612>>2]=c[f+12>>2];p=+g[d+4>>2];o=+g[d+20>>2];n=+g[d+36>>2];m=+g[j>>2];q=+g[j+4>>2];r=+g[j+8>>2];do if(!(p*m+o*q+n*r>=.9999998807907104))if(!(p*m+o*q+n*r<=-.9999998807907104)){w=r*(p*r-n*m)-q*(o*m-p*q);x=q*(n*q-o*r)-m*(p*r-n*m);t=n*q-o*r;s=o*m-p*q;u=p*r-n*m;v=m*(o*m-p*q)-r*(n*q-o*r);break}else{w=+g[d+12>>2];x=+g[d+44>>2];t=+g[d+8>>2];s=+g[d+40>>2];u=+g[d+24>>2];v=+g[d+28>>2];break}else{w=-+g[d+12>>2];x=-+g[d+44>>2];t=+g[d+8>>2];s=+g[d+40>>2];u=+g[d+24>>2];v=-+g[d+28>>2]}while(0);g[b+552>>2]=w;g[b+556>>2]=t;g[b+560>>2]=+g[j>>2];g[b+564>>2]=0.0;g[b+568>>2]=v;g[b+572>>2]=u;g[b+576>>2]=+g[j+4>>2];g[b+580>>2]=0.0;g[b+584>>2]=x;g[b+588>>2]=s;g[b+592>>2]=+g[j+8>>2];g[b+596>>2]=0.0;o=+g[j+4>>2];q=+g[k+8>>2];n=+g[j+8>>2];s=+g[k+4>>2];t=+g[k>>2];m=+g[j>>2];do if(q*n+(o*s+t*m)<-.9999998807907104)if(+O(+n)>.7071067690849304){m=1.0/+P(+(o*o+n*n));r=0.0;p=-(n*m);m=o*m;n=0.0;break}else{p=1.0/+P(+(o*o+m*m));r=-(o*p);p=m*p;m=0.0;n=0.0;break}else{u=+P(+((q*n+(o*s+t*m)+1.0)*2.0));r=(o*q-n*s)*(1.0/u);p=(n*t-q*m)*(1.0/u);m=(s*m-o*t)*(1.0/u);n=u*.5}while(0);A=w*n+x*p-v*m;o=v*n+w*m-x*r;z=x*n+v*r-w*p;w=-(w*r)-v*p-x*m;r=-r;x=-p;p=-m;v=o*p+(n*A+w*r)-z*x;u=z*r+(n*o+w*x)-A*p;r=A*x+(n*z+w*p)-o*r;c[b+664>>2]=c[h+0>>2];c[b+668>>2]=c[h+4>>2];c[b+672>>2]=c[h+8>>2];c[b+676>>2]=c[h+12>>2];g[b+616>>2]=v;g[b+620>>2]=s*r-q*u;g[b+624>>2]=+g[k>>2];g[b+628>>2]=0.0;g[b+632>>2]=u;g[b+636>>2]=q*v-t*r;g[b+640>>2]=+g[k+4>>2];g[b+644>>2]=0.0;g[b+648>>2]=r;g[b+652>>2]=t*u-s*v;g[b+656>>2]=+g[k+8>>2];g[b+660>>2]=0.0;g[b+732>>2]=l?-1.0:1.0;i=y;return}function yr(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;h=i;c[b+4>>2]=4;c[b>>2]=256;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;ar();c[b+32>>2]=2960;g[b+36>>2]=0.0;g[b+40>>2]=.30000001192092896;c[b+44>>2]=0;c[b>>2]=3840;c[b+552>>2]=c[e+0>>2];c[b+556>>2]=c[e+4>>2];c[b+560>>2]=c[e+8>>2];c[b+564>>2]=c[e+12>>2];c[b+568>>2]=c[e+16>>2];c[b+572>>2]=c[e+20>>2];c[b+576>>2]=c[e+24>>2];c[b+580>>2]=c[e+28>>2];c[b+584>>2]=c[e+32>>2];c[b+588>>2]=c[e+36>>2];c[b+592>>2]=c[e+40>>2];c[b+596>>2]=c[e+44>>2];c[b+600>>2]=c[e+48>>2];c[b+604>>2]=c[e+52>>2];c[b+608>>2]=c[e+56>>2];c[b+612>>2]=c[e+60>>2];c[b+616>>2]=c[e+0>>2];c[b+620>>2]=c[e+4>>2];c[b+624>>2]=c[e+8>>2];c[b+628>>2]=c[e+12>>2];c[b+632>>2]=c[e+16>>2];c[b+636>>2]=c[e+20>>2];c[b+640>>2]=c[e+24>>2];c[b+644>>2]=c[e+28>>2];c[b+648>>2]=c[e+32>>2];c[b+652>>2]=c[e+36>>2];c[b+656>>2]=c[e+40>>2];c[b+660>>2]=c[e+44>>2];c[b+664>>2]=c[e+48>>2];c[b+668>>2]=c[e+52>>2];c[b+672>>2]=c[e+56>>2];c[b+676>>2]=c[e+60>>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;d=c[b+28>>2]|0;n=+g[b+600>>2];m=+g[b+604>>2];l=+g[b+608>>2];k=n*+g[d+20>>2]+m*+g[d+24>>2]+l*+g[d+28>>2]+ +g[d+56>>2];j=n*+g[d+36>>2]+m*+g[d+40>>2]+l*+g[d+44>>2]+ +g[d+60>>2];g[b+664>>2]=n*+g[d+4>>2]+m*+g[d+8>>2]+l*+g[d+12>>2]+ +g[d+52>>2];g[b+668>>2]=k;g[b+672>>2]=j;g[b+676>>2]=0.0;g[b+732>>2]=f?-1.0:1.0;i=h;return}function zr(b){b=b|0;var d=0.0,e=0.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.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0,N=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;L=i;i=i+176|0;if(!(a[b+738>>0]|0)){i=L;return}g[b+36>>2]=0.0;g[b+744>>2]=0.0;a:do if(!(a[b+736>>0]|0)){h=c[b+28>>2]|0;n=+g[b+600>>2];p=+g[b+604>>2];J=+g[b+608>>2];K=n*+g[h+20>>2]+p*+g[h+24>>2]+J*+g[h+28>>2]+ +g[h+56>>2];f=c[b+32>>2]|0;t=+g[b+664>>2];u=+g[f+4>>2];v=+g[b+668>>2];w=+g[f+8>>2];x=+g[b+672>>2];y=+g[f+12>>2];z=+g[f+20>>2];A=+g[f+24>>2];B=+g[f+28>>2];C=+g[f+36>>2];D=+g[f+40>>2];E=+g[f+44>>2];F=+g[f+52>>2];G=+g[f+56>>2];H=+g[f+60>>2];o=t*z+v*A+x*B+G-K;I=n*+g[h+4>>2]+p*+g[h+8>>2]+J*+g[h+12>>2]+ +g[h+52>>2];J=n*+g[h+36>>2]+p*+g[h+40>>2]+J*+g[h+44>>2]+ +g[h+60>>2];p=t*u+v*w+x*y+F-I;n=t*C+v*D+x*E+H-J;if(p*p+o*o+n*n>1.1920928955078125e-07){s=1.0/+P(+(p*p+o*o+n*n));j=p*s;p=o*s;o=n*s}else{j=1.0;p=0.0;o=0.0}g[L+128>>2]=j;g[L+132>>2]=p;g[L+136>>2]=o;g[L+140>>2]=0.0;if(+O(+o)>.7071067690849304){r=o*o+p*p;k=1.0/+P(+r);s=-(k*o);o=k*p;n=0.0;m=s;l=o;k=r*k;o=-(j*o);p=j*s}else{r=j*j+p*p;s=1.0/+P(+r);p=-(p*s);k=s*j;n=p;m=k;l=0.0;k=-(o*k);o=o*p;p=r*s}g[L+144>>2]=n;g[L+148>>2]=m;g[L+152>>2]=l;g[L+160>>2]=k;g[L+164>>2]=o;g[L+168>>2]=p;p=u;o=z;n=C;m=w;l=A;k=D;j=y;e=B;d=E;q=F;r=G;s=H;h=0;while(1){M=c[b+28>>2]|0;g[L+80>>2]=+g[M+4>>2];g[L+84>>2]=+g[M+20>>2];g[L+88>>2]=+g[M+36>>2];g[L+92>>2]=0.0;g[L+96>>2]=+g[M+8>>2];g[L+100>>2]=+g[M+24>>2];g[L+104>>2]=+g[M+40>>2];g[L+108>>2]=0.0;g[L+112>>2]=+g[M+12>>2];g[L+116>>2]=+g[M+28>>2];g[L+120>>2]=+g[M+44>>2];g[L+124>>2]=0.0;g[L+32>>2]=p;g[L+36>>2]=o;g[L+40>>2]=n;g[L+44>>2]=0.0;g[L+48>>2]=m;g[L+52>>2]=l;g[L+56>>2]=k;g[L+60>>2]=0.0;g[L+64>>2]=j;g[L+68>>2]=e;g[L+72>>2]=d;g[L+76>>2]=0.0;e=K-+g[M+56>>2];d=J-+g[M+60>>2];g[L+16>>2]=I-+g[M+52>>2];g[L+20>>2]=e;g[L+24>>2]=d;g[L+28>>2]=0.0;g[L>>2]=t*u+v*w+x*y+F-q;g[L+4>>2]=t*z+v*A+x*B+G-r;g[L+8>>2]=t*C+v*D+x*E+H-s;g[L+12>>2]=0.0;Kq(b+(h*84|0)+48|0,L+80|0,L+32|0,L+16|0,L,L+128+(h<<4)|0,M+396|0,+g[M+344>>2],f+396|0,+g[f+344>>2]);h=h+1|0;if((h|0)==3)break a;f=c[b+32>>2]|0;p=+g[f+4>>2];o=+g[f+20>>2];n=+g[f+36>>2];m=+g[f+8>>2];l=+g[f+24>>2];k=+g[f+40>>2];j=+g[f+12>>2];e=+g[f+28>>2];d=+g[f+44>>2];q=+g[f+52>>2];r=+g[f+56>>2];s=+g[f+60>>2]}}while(0);e=+g[b+560>>2];d=+g[b+576>>2];j=+g[b+592>>2];if(+O(+j)>.7071067690849304){p=1.0/+P(+(d*d+j*j));k=0.0;l=-(j*p);m=d*p;n=(d*d+j*j)*p;o=-(e*(d*p));p=e*-(j*p)}else{p=1.0/+P(+(e*e+d*d));k=-(d*p);l=e*p;m=0.0;n=-(j*(e*p));o=j*-(d*p);p=(e*e+d*d)*p}h=c[b+28>>2]|0;H=+g[h+4>>2];G=+g[h+8>>2];y=+g[h+12>>2];R=k*H+l*G+m*y;F=+g[h+20>>2];E=+g[h+24>>2];A=+g[h+28>>2];T=k*F+l*E+m*A;D=+g[h+36>>2];w=+g[h+40>>2];s=+g[h+44>>2];W=k*D+l*w+m*s;m=n*H+o*G+p*y;I=n*F+o*E+p*A;J=n*D+o*w+p*s;f=c[b+32>>2]|0;k=+g[f+4>>2];q=+g[f+20>>2];C=+g[f+36>>2];u=+g[f+8>>2];v=+g[f+24>>2];z=+g[f+40>>2];N=+g[f+12>>2];S=+g[f+28>>2];V=+g[f+44>>2];c[b+300>>2]=0;c[b+304>>2]=0;c[b+308>>2]=0;c[b+312>>2]=0;g[b+316>>2]=H*R+F*T+D*W;g[b+320>>2]=G*R+E*T+w*W;g[b+324>>2]=y*R+A*T+s*W;g[b+328>>2]=0.0;g[b+332>>2]=k*-R+q*-T+C*-W;g[b+336>>2]=u*-R+v*-T+z*-W;g[b+340>>2]=N*-R+S*-T+V*-W;g[b+344>>2]=0.0;o=(H*R+F*T+D*W)*+g[h+396>>2];p=(G*R+E*T+w*W)*+g[h+400>>2];l=(y*R+A*T+s*W)*+g[h+404>>2];g[b+348>>2]=o;g[b+352>>2]=p;g[b+356>>2]=l;g[b+360>>2]=0.0;t=(k*-R+q*-T+C*-W)*+g[f+396>>2];B=(u*-R+v*-T+z*-W)*+g[f+400>>2];X=(N*-R+S*-T+V*-W)*+g[f+404>>2];g[b+364>>2]=t;g[b+368>>2]=B;g[b+372>>2]=X;g[b+376>>2]=0.0;g[b+380>>2]=(H*R+F*T+D*W)*o+(G*R+E*T+w*W)*p+(y*R+A*T+s*W)*l+((k*-R+q*-T+C*-W)*t+(u*-R+v*-T+z*-W)*B+(N*-R+S*-T+V*-W)*X);f=c[b+28>>2]|0;X=+g[f+4>>2];W=+g[f+20>>2];V=+g[f+36>>2];T=+g[f+8>>2];S=+g[f+24>>2];R=+g[f+40>>2];N=+g[f+12>>2];B=+g[f+28>>2];z=+g[f+44>>2];h=c[b+32>>2]|0;v=+g[h+4>>2];u=+g[h+20>>2];t=+g[h+36>>2];C=+g[h+8>>2];q=+g[h+24>>2];k=+g[h+40>>2];l=+g[h+12>>2];p=+g[h+28>>2];o=+g[h+44>>2];c[b+384>>2]=0;c[b+388>>2]=0;c[b+392>>2]=0;c[b+396>>2]=0;g[b+400>>2]=m*X+I*W+J*V;g[b+404>>2]=m*T+I*S+J*R;g[b+408>>2]=m*N+I*B+J*z;g[b+412>>2]=0.0;g[b+416>>2]=v*-m+u*-I+t*-J;g[b+420>>2]=C*-m+q*-I+k*-J;g[b+424>>2]=l*-m+p*-I+o*-J;g[b+428>>2]=0.0;U=(m*X+I*W+J*V)*+g[f+396>>2];Q=(m*T+I*S+J*R)*+g[f+400>>2];x=(m*N+I*B+J*z)*+g[f+404>>2];g[b+432>>2]=U;g[b+436>>2]=Q;g[b+440>>2]=x;g[b+444>>2]=0.0;r=(v*-m+u*-I+t*-J)*+g[h+396>>2];n=(C*-m+q*-I+k*-J)*+g[h+400>>2];K=(l*-m+p*-I+o*-J)*+g[h+404>>2];g[b+448>>2]=r;g[b+452>>2]=n;g[b+456>>2]=K;g[b+460>>2]=0.0;g[b+464>>2]=(m*X+I*W+J*V)*U+(m*T+I*S+J*R)*Q+(m*N+I*B+J*z)*x+((v*-m+u*-I+t*-J)*r+(C*-m+q*-I+k*-J)*n+(l*-m+p*-I+o*-J)*K);h=c[b+28>>2]|0;K=+g[h+4>>2];J=+g[h+20>>2];o=+g[h+36>>2];I=+g[h+8>>2];p=+g[h+24>>2];m=+g[h+40>>2];l=+g[h+12>>2];n=+g[h+28>>2];k=+g[h+44>>2];f=c[b+32>>2]|0;q=+g[f+4>>2];C=+g[f+20>>2];r=+g[f+36>>2];t=+g[f+8>>2];u=+g[f+24>>2];v=+g[f+40>>2];x=+g[f+12>>2];z=+g[f+28>>2];B=+g[f+44>>2];c[b+468>>2]=0;c[b+472>>2]=0;c[b+476>>2]=0;c[b+480>>2]=0;o=(H*e+G*d+y*j)*K+(F*e+E*d+A*j)*J+(D*e+w*d+s*j)*o;m=(H*e+G*d+y*j)*I+(F*e+E*d+A*j)*p+(D*e+w*d+s*j)*m;k=(H*e+G*d+y*j)*l+(F*e+E*d+A*j)*n+(D*e+w*d+s*j)*k;g[b+484>>2]=o;g[b+488>>2]=m;g[b+492>>2]=k;g[b+496>>2]=0.0;y=-(H*e+G*d+y*j);A=-(F*e+E*d+A*j);e=-(D*e+w*d+s*j);g[b+500>>2]=q*y+C*A+r*e;g[b+504>>2]=t*y+u*A+v*e;g[b+508>>2]=x*y+z*A+B*e;g[b+512>>2]=0.0;n=o*+g[h+396>>2];l=m*+g[h+400>>2];j=k*+g[h+404>>2];g[b+516>>2]=n;g[b+520>>2]=l;g[b+524>>2]=j;g[b+528>>2]=0.0;s=(q*y+C*A+r*e)*+g[f+396>>2];w=(t*y+u*A+v*e)*+g[f+400>>2];d=(x*y+z*A+B*e)*+g[f+404>>2];g[b+532>>2]=s;g[b+536>>2]=w;g[b+540>>2]=d;g[b+544>>2]=0.0;g[b+548>>2]=o*n+m*l+k*j+((q*y+C*A+r*e)*s+(t*y+u*A+v*e)*w+(x*y+z*A+B*e)*d);g[b+724>>2]=0.0;f=c[b+28>>2]|0;h=c[b+32>>2]|0;d=+Cr(b,f+4|0,h+4|0);g[b+728>>2]=d;g[b+708>>2]=0.0;g[b+712>>2]=0.0;a[b+716>>0]=0;e=+g[b+692>>2];do if(e>=0.0){d=+SE(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<-e){a[b+716>>0]=1;g[b+708>>2]=-(d+e);g[b+712>>2]=1.0;break}if(d>e){a[b+716>>0]=1;g[b+708>>2]=e-d;g[b+712>>2]=-1.0}}while(0);x=+g[b+560>>2];y=+g[b+576>>2];B=+g[b+592>>2];z=x*+g[f+4>>2]+y*+g[f+8>>2]+B*+g[f+12>>2];A=x*+g[f+20>>2]+y*+g[f+24>>2]+B*+g[f+28>>2];B=x*+g[f+36>>2]+y*+g[f+40>>2]+B*+g[f+44>>2];g[b+720>>2]=1.0/(z*(z*+g[f+264>>2]+A*+g[f+280>>2]+B*+g[f+296>>2])+A*(z*+g[f+268>>2]+A*+g[f+284>>2]+B*+g[f+300>>2])+B*(z*+g[f+272>>2]+A*+g[f+288>>2]+B*+g[f+304>>2])+(z*(z*+g[h+264>>2]+A*+g[h+280>>2]+B*+g[h+296>>2])+A*(z*+g[h+268>>2]+A*+g[h+284>>2]+B*+g[h+300>>2])+B*(z*+g[h+272>>2]+A*+g[h+288>>2]+B*+g[h+304>>2])));i=L;return}function Ar(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,j=0;j=i;if(a[b+738>>0]|0){c[d>>2]=0;c[d+4>>2]=0;i=j;return}c[d>>2]=5;c[d+4>>2]=1;e=+Cr(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=+SE(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){i=j;return}c[d>>2]=6;c[d+4>>2]=0;i=j;return}function Br(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=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.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=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,aa=0;$=i;i=i+256|0;Z=c[b+28>>2]|0;_=c[b+32>>2]|0;v=c[d+24>>2]|0;if(!(a[b+739>>0]|0)){ip($+192|0,Z+4|0,b+552|0);ip($+128|0,_+4|0,b+616|0);j=+g[$+240>>2];f=+g[$+244>>2];e=+g[$+248>>2];m=+g[$+176>>2];n=+g[$+180>>2];o=+g[$+184>>2];p=(a[b+736>>0]|0)==0;if(p){h=c[d+8>>2]|0;g[h>>2]=1.0;g[h+(v+1<<2)>>2]=1.0;g[h+((v<<1)+2<<2)>>2]=1.0;h=c[d+16>>2]|0;g[h>>2]=-1.0;g[h+(v+1<<2)>>2]=-1.0;g[h+((v<<1)+2<<2)>>2]=-1.0;h=v+1|0;k=(v<<1)+2|0;l=v<<1}else{h=v+1|0;k=(v<<1)+2|0;l=v<<1}q=j-+g[Z+52>>2];I=f-+g[Z+56>>2];H=e-+g[Z+60>>2];t=c[d+12>>2]|0;g[t>>2]=0.0;g[t+4>>2]=H;g[t+8>>2]=-I;g[t+12>>2]=0.0;g[t+(v<<2)>>2]=-H;g[t+(h<<2)>>2]=0.0;g[t+(v+2<<2)>>2]=q;g[t+(v+3<<2)>>2]=0.0;g[t+(l<<2)>>2]=I;aa=l|1;g[t+(aa<<2)>>2]=-q;g[t+(k<<2)>>2]=0.0;z=l+3|0;g[t+(z<<2)>>2]=0.0;q=m-+g[_+52>>2];I=n-+g[_+56>>2];H=o-+g[_+60>>2];r=c[d+20>>2]|0;g[r>>2]=0.0;g[r+4>>2]=-H;g[r+8>>2]=I;g[r+12>>2]=0.0;g[r+(v<<2)>>2]=H;g[r+(h<<2)>>2]=0.0;g[r+(v+2<<2)>>2]=-q;g[r+(v+3<<2)>>2]=0.0;g[r+(l<<2)>>2]=-I;g[r+(aa<<2)>>2]=q;g[r+(k<<2)>>2]=0.0;g[r+(z<<2)>>2]=0.0;q=+g[d>>2]*+g[d+4>>2];l=c[d+28>>2]|0;if(p){g[l>>2]=q*(m-j);g[l+(v<<2)>>2]=q*(n-f);g[l+(v<<1<<2)>>2]=q*(o-e)}w=+g[$+200>>2];x=+g[$+216>>2];y=+g[$+232>>2];e=+g[$+192>>2];D=+g[$+208>>2];E=+g[$+224>>2];B=+g[$+196>>2];F=+g[$+212>>2];A=+g[$+228>>2];v=c[d+24>>2]|0;g[t+(v*3<<2)>>2]=e;g[t+((v*3|0)+1<<2)>>2]=D;g[t+((v*3|0)+2<<2)>>2]=E;g[t+(v<<2<<2)>>2]=B;g[t+((v<<2|1)<<2)>>2]=F;g[t+((v<<2|2)<<2)>>2]=A;g[r+(v*3<<2)>>2]=-e;g[r+((v*3|0)+1<<2)>>2]=-D;g[r+((v*3|0)+2<<2)>>2]=-E;g[r+(v<<2<<2)>>2]=-B;g[r+((v<<2|1)<<2)>>2]=-F;g[r+((v<<2|2)<<2)>>2]=-A;H=+g[$+136>>2];C=+g[$+152>>2];I=+g[$+168>>2];g[l+(v*3<<2)>>2]=q*(E*(w*C-x*H)+(e*(x*I-y*C)+D*(y*H-w*I)));g[l+(v<<2<<2)>>2]=q*(A*(w*C-x*H)+(B*(x*I-y*C)+F*(y*H-w*I)));if(!(a[b+716>>0]|0)){z=0;u=0.0}else{u=+g[b+708>>2]*+g[b+732>>2];z=u>0.0?1:2}p=a[b+737>>0]|0;h=(z|0)!=0;if(!(p&255|z)){i=$;return}g[t+(v*5<<2)>>2]=w;g[t+((v*5|0)+1<<2)>>2]=x;g[t+((v*5|0)+2<<2)>>2]=y;g[r+(v*5<<2)>>2]=-w;g[r+((v*5|0)+1<<2)>>2]=-x;g[r+((v*5|0)+2<<2)>>2]=-y;e=+g[b+688>>2];j=+g[b+692>>2];f=+SE(e-j,6.2831854820251465);if(!(f<-3.1415927410125732))if(f>3.1415927410125732)s=f+-6.2831854820251465;else s=f;else s=f+6.2831854820251465;f=+SE(e+j,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;k=s==f;r=l+(v*5<<2)|0;g[r>>2]=0.0;l=c[b+748>>2]|0;m=+g[((l&2|0)==0?d+4|0:b+760|0)>>2];if(!(h&k|p<<24>>24==0)){if(l&4)g[(c[d+32>>2]|0)+(v*5<<2)>>2]=+g[b+752>>2];q=+g[b+728>>2];n=+g[b+680>>2];p=s>f;do if(!(p|k)){o=n/(m*+g[d>>2]);if(o<0.0)if(q>=s&s-o>q){j=(s-q)/o;break}else{j=q0.0)if(q<=f&f-of?0.0:1.0;break}else j=0.0}else j=p?1.0:0.0;while(0);g[r>>2]=j*n*+g[b+732>>2]+ +g[r>>2];g[(c[d+36>>2]|0)+(v*5<<2)>>2]=-+g[b+684>>2];g[(c[d+40>>2]|0)+(v*5<<2)>>2]=+g[b+684>>2]}if(!h){i=$;return}g[r>>2]=+g[r>>2]+u*(m*+g[d>>2]);if(l&1)g[(c[d+32>>2]|0)+(v*5<<2)>>2]=+g[b+756>>2];do if(!k){h=(c[d+36>>2]|0)+(v*5<<2)|0;if((z|0)==1){g[h>>2]=0.0;g[(c[d+40>>2]|0)+(v*5<<2)>>2]=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(v*5<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(v*5<<2)>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(v*5<<2)>>2]=3402823466385288598117041.0e14}while(0);f=+g[b+704>>2];do if(f>0.0){e=w*+g[Z+328>>2]+x*+g[Z+332>>2]+y*+g[Z+336>>2]-(w*+g[_+328>>2]+x*+g[_+332>>2]+y*+g[_+336>>2]);if((z|0)==1){if(!(e<0.0))break;if(!(+g[r>>2]<-(f*e)))break;g[r>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[r>>2]>-(f*e)))break;g[r>>2]=-(f*e);break}}while(0);g[r>>2]=+g[b+700>>2]*+g[r>>2];i=$;return}ip($+64|0,Z+4|0,b+552|0);ip($,_+4|0,b+616|0);C=+g[$+48>>2];D=+g[$+112>>2];E=+g[$+52>>2];F=+g[$+116>>2];G=+g[$+56>>2];H=+g[$+120>>2];f=+g[(c[b+28>>2]|0)+344>>2];e=+g[(c[b+32>>2]|0)+344>>2];if(f<1.1920928955078125e-07)z=1;else z=e<1.1920928955078125e-07;if(f+e>0.0)B=e/(f+e);else B=.5;m=1.0-B;O=+g[$+72>>2];Q=+g[$+88>>2];R=+g[$+104>>2];S=+g[$+8>>2];T=+g[$+24>>2];U=+g[$+40>>2];V=B*O+m*S;X=B*Q+m*T;W=B*R+m*U;Y=1.0/+P(+(V*V+X*X+W*W));N=C-+g[_+52>>2];K=E-+g[_+56>>2];s=G-+g[_+60>>2];M=V*Y*(N*(V*Y)+K*(X*Y)+s*(W*Y));J=X*Y*(N*(V*Y)+K*(X*Y)+s*(W*Y));f=W*Y*(N*(V*Y)+K*(X*Y)+s*(W*Y));L=D-+g[Z+52>>2];j=F-+g[Z+56>>2];I=H-+g[Z+60>>2];y=V*Y*(V*Y*L+X*Y*j+W*Y*I);x=X*Y*(V*Y*L+X*Y*j+W*Y*I);e=W*Y*(V*Y*L+X*Y*j+W*Y*I);w=L-y+B*(y-M);A=j-x+B*(x-J);q=I-e+B*(e-f);n=N-M-m*(y-M);o=K-J-m*(x-J);u=s-f-m*(e-f);y=B*(N-M)+m*(L-y);x=B*(K-J)+m*(j-x);e=B*(s-f)+m*(I-e);if(y*y+x*x+e*e>1.1920928955078125e-07){I=1.0/+P(+(y*y+x*x+e*e));N=y*I;M=I*x;I=I*e}else{N=+g[$+68>>2];M=+g[$+84>>2];I=+g[$+100>>2]}J=X*Y*I-W*Y*M;K=W*Y*N-I*(V*Y);L=M*(V*Y)-X*Y*N;r=c[d+12>>2]|0;g[r>>2]=A*I-q*M;g[r+4>>2]=q*N-w*I;g[r+8>>2]=w*M-A*N;r=c[d+20>>2]|0;g[r>>2]=-(o*I-u*M);g[r+4>>2]=-(u*N-n*I);g[r+8>>2]=-(n*M-o*N);if(z?(a[b+716>>0]|0)!=0:0){y=m*(o*L-u*K);x=m*(u*J-n*L);e=m*(n*K-o*J);f=B*(A*L-q*K);s=B*(q*J-w*L);j=B*(w*K-A*J)}else{y=o*L-u*K;x=u*J-n*L;e=n*K-o*J;f=A*L-q*K;s=q*J-w*L;j=w*K-A*J}r=c[d+12>>2]|0;g[r+(v<<2)>>2]=f;g[r+(v+1<<2)>>2]=s;g[r+(v+2<<2)>>2]=j;r=c[d+20>>2]|0;g[r+(v<<2)>>2]=-y;g[r+(v+1<<2)>>2]=-x;g[r+(v+2<<2)>>2]=-e;if(z){j=m*(o*(W*Y)-u*(X*Y));s=m*(u*(V*Y)-n*(W*Y));f=m*(n*(X*Y)-o*(V*Y));e=B*(A*(W*Y)-q*(X*Y));x=B*(q*(V*Y)-w*(W*Y));y=B*(w*(X*Y)-A*(V*Y))}else{j=o*(W*Y)-u*(X*Y);s=u*(V*Y)-n*(W*Y);f=n*(X*Y)-o*(V*Y);e=A*(W*Y)-q*(X*Y);x=q*(V*Y)-w*(W*Y);y=w*(X*Y)-A*(V*Y)}r=c[d+12>>2]|0;g[r+(v<<1<<2)>>2]=e;g[r+((v<<1|1)<<2)>>2]=x;g[r+((v<<1)+2<<2)>>2]=y;r=c[d+20>>2]|0;g[r+(v<<1<<2)>>2]=-j;g[r+((v<<1|1)<<2)>>2]=-s;g[r+((v<<1)+2<<2)>>2]=-f;q=+g[d>>2]*+g[d+4>>2];if(!(a[b+736>>0]|0)){h=c[d+8>>2]|0;g[h>>2]=N;g[h+4>>2]=M;g[h+8>>2]=I;h=c[d+8>>2]|0;g[h+(v<<2)>>2]=J;g[h+(v+1<<2)>>2]=K;g[h+(v+2<<2)>>2]=L;h=c[d+8>>2]|0;g[h+(v<<1<<2)>>2]=V*Y;g[h+((v<<1|1)<<2)>>2]=X*Y;g[h+((v<<1)+2<<2)>>2]=W*Y;h=c[d+16>>2]|0;m=-N;g[h>>2]=m;o=-M;g[h+4>>2]=o;n=-I;g[h+8>>2]=n;g[h+(v<<2)>>2]=-J;g[h+(v+1<<2)>>2]=-K;g[h+(v+2<<2)>>2]=-L;g[h+(v<<1<<2)>>2]=-(V*Y);g[h+((v<<1|1)<<2)>>2]=-(X*Y);g[h+((v<<1)+2<<2)>>2]=-(W*Y);h=c[d+28>>2]|0;g[h>>2]=q*((C-D)*N+(E-F)*M+(G-H)*I);g[h+(v<<2)>>2]=q*((C-D)*J+(E-F)*K+(G-H)*L);g[h+(v<<1<<2)>>2]=q*((C-D)*(V*Y)+(E-F)*(X*Y)+(G-H)*(W*Y));r=c[d+20>>2]|0;q=m;m=-J;u=-K;j=-L}else{h=c[d+28>>2]|0;q=-N;o=-M;n=-I;m=-J;u=-K;j=-L}l=c[d+12>>2]|0;g[l+(v*3<<2)>>2]=N;g[l+((v*3|0)+1<<2)>>2]=M;g[l+((v*3|0)+2<<2)>>2]=I;g[l+(v<<2<<2)>>2]=J;g[l+((v<<2|1)<<2)>>2]=K;g[l+((v<<2|2)<<2)>>2]=L;g[r+(v*3<<2)>>2]=q;g[r+((v*3|0)+1<<2)>>2]=o;g[r+((v*3|0)+2<<2)>>2]=n;g[r+(v<<2<<2)>>2]=m;g[r+((v<<2|1)<<2)>>2]=u;g[r+((v<<2|2)<<2)>>2]=j;H=+g[d>>2]*+g[d+4>>2];g[h+(v*3<<2)>>2]=H*((Q*U-R*T)*N+(R*S-O*U)*M+(O*T-Q*S)*I);g[h+(v<<2<<2)>>2]=H*((Q*U-R*T)*J+(R*S-O*U)*K+(O*T-Q*S)*L);if(!(a[b+716>>0]|0)){z=0;u=0.0}else{u=+g[b+708>>2]*+g[b+732>>2];z=u>0.0?1:2}p=a[b+737>>0]|0;t=(z|0)!=0;if(!(p&255|z)){i=$;return}v=(c[d+24>>2]|0)*5|0;g[l+(v<<2)>>2]=V*Y;g[l+(v+1<<2)>>2]=X*Y;g[l+(v+2<<2)>>2]=W*Y;g[r+(v<<2)>>2]=-(V*Y);g[r+(v+1<<2)>>2]=-(X*Y);g[r+(v+2<<2)>>2]=-(W*Y);f=+g[b+688>>2];e=+g[b+692>>2];j=+SE(f-e,6.2831854820251465);if(!(j<-3.1415927410125732)){if(j>3.1415927410125732)j=j+-6.2831854820251465}else j=j+6.2831854820251465;f=+SE(f+e,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;k=j==f;r=h+(v<<2)|0;g[r>>2]=0.0;l=c[b+748>>2]|0;m=+g[((l&2|0)==0?d+4|0:b+760|0)>>2];if(!(t&k|p<<24>>24==0)){if(l&4)g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+752>>2];o=+g[b+728>>2];n=+g[b+680>>2];p=j>f;do if(!(p|k)){q=n/(m*+g[d>>2]);if(q<0.0)if(o>=j&j-q>o){j=(j-o)/q;break}else{j=o0.0)if(o<=f&f-qf?0.0:1.0;break}else j=0.0}else j=p?1.0:0.0;while(0);g[r>>2]=j*n*+g[b+732>>2]+ +g[r>>2];g[(c[d+36>>2]|0)+(v<<2)>>2]=-+g[b+684>>2];g[(c[d+40>>2]|0)+(v<<2)>>2]=+g[b+684>>2]}if(!t){i=$;return}g[r>>2]=+g[r>>2]+u*(m*+g[d>>2]);if(l&1)g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+756>>2];do if(!k){h=(c[d+36>>2]|0)+(v<<2)|0;if((z|0)==1){g[h>>2]=0.0;g[(c[d+40>>2]|0)+(v<<2)>>2]=3402823466385288598117041.0e14;break}else{g[h>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(v<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(v<<2)>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(v<<2)>>2]=3402823466385288598117041.0e14}while(0);f=+g[b+704>>2];do if(f>0.0){e=+g[Z+328>>2]*(V*Y)+ +g[Z+332>>2]*(X*Y)+ +g[Z+336>>2]*(W*Y)-(V*Y*+g[_+328>>2]+X*Y*+g[_+332>>2]+W*Y*+g[_+336>>2]);if((z|0)==1){if(!(e<0.0))break;if(!(+g[r>>2]<-(f*e)))break;g[r>>2]=-(f*e);break}else{if(!(e>0.0))break;if(!(+g[r>>2]>-(f*e)))break;g[r>>2]=-(f*e);break}}while(0);g[r>>2]=+g[b+700>>2]*+g[r>>2];i=$;return}function Cr(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=+X(+((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 Dr(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if(!((e|0)==5|(e|0)==-1)){i=f;return}if((b|0)==2){g[a+760>>2]=d;c[a+748>>2]=c[a+748>>2]|2;i=f;return}else if((b|0)==3){g[a+752>>2]=d;c[a+748>>2]=c[a+748>>2]|4;i=f;return}else if((b|0)==4){g[a+756>>2]=d;c[a+748>>2]=c[a+748>>2]|1;i=f;return}else{i=f;return}}function Er(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;e=i;do if((c|0)==5|(c|0)==-1)if((b|0)==2){d=+g[a+760>>2];break}else if((b|0)==3){d=+g[a+752>>2];break}else if((b|0)==4){d=+g[a+756>>2];break}else{d=0.0;break}else d=0.0;while(0);i=e;return +d}function Fr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,h=0.0,j=0.0,k=0;k=i;br(a,b,e)|0;g[b+52>>2]=+g[a+552>>2];g[b+56>>2]=+g[a+556>>2];g[b+60>>2]=+g[a+560>>2];g[b+64>>2]=+g[a+564>>2];g[b+68>>2]=+g[a+568>>2];g[b+72>>2]=+g[a+572>>2];g[b+76>>2]=+g[a+576>>2];g[b+80>>2]=+g[a+580>>2];g[b+84>>2]=+g[a+584>>2];g[b+88>>2]=+g[a+588>>2];g[b+92>>2]=+g[a+592>>2];g[b+96>>2]=+g[a+596>>2];g[b+100>>2]=+g[a+600>>2];g[b+104>>2]=+g[a+604>>2];g[b+108>>2]=+g[a+608>>2];g[b+112>>2]=+g[a+612>>2];g[b+116>>2]=+g[a+616>>2];g[b+120>>2]=+g[a+620>>2];g[b+124>>2]=+g[a+624>>2];g[b+128>>2]=+g[a+628>>2];g[b+132>>2]=+g[a+632>>2];g[b+136>>2]=+g[a+636>>2];g[b+140>>2]=+g[a+640>>2];g[b+144>>2]=+g[a+644>>2];g[b+148>>2]=+g[a+648>>2];g[b+152>>2]=+g[a+652>>2];g[b+156>>2]=+g[a+656>>2];g[b+160>>2]=+g[a+660>>2];g[b+164>>2]=+g[a+664>>2];g[b+168>>2]=+g[a+668>>2];g[b+172>>2]=+g[a+672>>2];g[b+176>>2]=+g[a+676>>2];c[b+184>>2]=d[a+736>>0];c[b+188>>2]=d[a+737>>0];g[b+196>>2]=+g[a+684>>2];g[b+192>>2]=+g[a+680>>2];c[b+180>>2]=d[a+740>>0];h=+g[a+688>>2];j=+g[a+692>>2];f=+SE(h-j,6.2831854820251465);if(!(f<-3.1415927410125732)){if(f>3.1415927410125732)f=f+-6.2831854820251465}else f=f+6.2831854820251465;g[b+200>>2]=f;f=+SE(h+j,6.2831854820251465);if(f<-3.1415927410125732){f=f+6.2831854820251465;e=b+204|0;g[e>>2]=f;e=a+696|0;f=+g[e>>2];e=b+208|0;g[e>>2]=f;e=a+700|0;f=+g[e>>2];e=b+212|0;g[e>>2]=f;e=a+704|0;f=+g[e>>2];e=b+216|0;g[e>>2]=f;i=k;return 3928}if(!(f>3.1415927410125732)){e=b+204|0;g[e>>2]=f;e=a+696|0;f=+g[e>>2];e=b+208|0;g[e>>2]=f;e=a+700|0;f=+g[e>>2];e=b+212|0;g[e>>2]=f;e=a+704|0;f=+g[e>>2];e=b+216|0;g[e>>2]=f;i=k;return 3928}f=f+-6.2831854820251465;e=b+204|0;g[e>>2]=f;e=a+696|0;f=+g[e>>2];e=b+208|0;g[e>>2]=f;e=a+700|0;f=+g[e>>2];e=b+212|0;g[e>>2]=f;e=a+704|0;f=+g[e>>2];e=b+216|0;g[e>>2]=f;i=k;return 3928}function Gr(a){a=a|0;return 220}function Hr(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Ir(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=3976;d=c[b+176>>2]|0;if(d){if(a[b+180>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+160>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+140>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+120>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+60>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+40>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}if(a[b+20>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+12|0;c[d>>2]=0;i=e;return}function Jr(a){a=a|0;var b=0;b=i;Ir(a);if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Kr(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;m=i;h=+g[d+100>>2];j=+g[d+16>>2];k=+g[d+20>>2];l=+g[d+24>>2];e=+g[d+108>>2];e=+g[d+112>>2]-h*+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]))*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){f=e*(k*+g[a+132>>2])*+g[a+116>>2];h=e*(l*+g[a+136>>2])*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*(e*(j*+g[a+128>>2]))+ +g[a+64>>2];g[a+68>>2]=f+ +g[a+68>>2];g[a+72>>2]=h+ +g[a+72>>2];h=e*+g[a+100>>2]*+g[d+68>>2];f=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]=h+ +g[a+84>>2];g[a+88>>2]=f+ +g[a+88>>2]}if(!(c[b+240>>2]|0)){i=m;return}f=e*(+g[d+52>>2]*+g[b+132>>2])*+g[b+116>>2];h=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]=f+ +g[b+68>>2];g[b+72>>2]=h+ +g[b+72>>2];h=e*+g[b+100>>2]*+g[d+84>>2];f=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]=h+ +g[b+84>>2];g[b+88>>2]=f+ +g[b+88>>2];i=m;return}function Lr(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;n=i;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]=e;if(c[a+240>>2]|0){e=m*(k*+g[a+132>>2])*+g[a+116>>2];f=m*(l*+g[a+136>>2])*+g[a+120>>2];g[a+64>>2]=+g[a+112>>2]*(m*(j*+g[a+128>>2]))+ +g[a+64>>2];g[a+68>>2]=e+ +g[a+68>>2];g[a+72>>2]=f+ +g[a+72>>2];f=m*+g[a+100>>2]*+g[d+68>>2];e=m*+g[a+104>>2]*+g[d+72>>2];g[a+80>>2]=m*+g[a+96>>2]*+g[d+64>>2]+ +g[a+80>>2];g[a+84>>2]=f+ +g[a+84>>2];g[a+88>>2]=e+ +g[a+88>>2]}if(!(c[b+240>>2]|0)){i=n;return}e=m*(+g[d+52>>2]*+g[b+132>>2])*+g[b+116>>2];f=m*(+g[d+56>>2]*+g[b+136>>2])*+g[b+120>>2];g[b+64>>2]=+g[b+112>>2]*(m*(+g[d+48>>2]*+g[b+128>>2]))+ +g[b+64>>2];g[b+68>>2]=e+ +g[b+68>>2];g[b+72>>2]=f+ +g[b+72>>2];f=m*+g[b+100>>2]*+g[d+84>>2];e=m*+g[b+104>>2]*+g[d+88>>2];g[b+80>>2]=m*+g[b+96>>2]*+g[d+80>>2]+ +g[b+80>>2];g[b+84>>2]=f+ +g[b+84>>2];g[b+88>>2]=e+ +g[b+88>>2];i=n;return}function Mr(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;n=i;e=+g[d+128>>2];if(!(e!=0.0)){i=n;return}c[990]=(c[990]|0)+1;h=+g[d+96>>2];k=+g[d+16>>2];l=+g[d+20>>2];m=+g[d+24>>2];f=+g[d+108>>2];f=e-h*+g[d+116>>2]-(k*+g[a+144>>2]+l*+g[a+148>>2]+m*+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]))*f-f*(+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]));e=+g[d+120>>2];if(h+f>2]=e;if(c[a+240>>2]|0){e=j*(l*+g[a+132>>2])*+g[a+116>>2];f=j*(m*+g[a+136>>2])*+g[a+120>>2];g[a+144>>2]=+g[a+112>>2]*(j*(k*+g[a+128>>2]))+ +g[a+144>>2];g[a+148>>2]=e+ +g[a+148>>2];g[a+152>>2]=f+ +g[a+152>>2];f=j*+g[a+100>>2]*+g[d+68>>2];e=j*+g[a+104>>2]*+g[d+72>>2];g[a+160>>2]=j*+g[a+96>>2]*+g[d+64>>2]+ +g[a+160>>2];g[a+164>>2]=f+ +g[a+164>>2];g[a+168>>2]=e+ +g[a+168>>2]}if(!(c[b+240>>2]|0)){i=n;return}e=j*(+g[d+52>>2]*+g[b+132>>2])*+g[b+116>>2];f=j*(+g[d+56>>2]*+g[b+136>>2])*+g[b+120>>2];g[b+144>>2]=+g[b+112>>2]*(j*(+g[d+48>>2]*+g[b+128>>2]))+ +g[b+144>>2];g[b+148>>2]=e+ +g[b+148>>2];g[b+152>>2]=f+ +g[b+152>>2];f=j*+g[b+100>>2]*+g[d+84>>2];e=j*+g[b+104>>2]*+g[d+88>>2];g[b+160>>2]=j*+g[b+96>>2]*+g[d+80>>2]+ +g[b+160>>2];g[b+164>>2]=f+ +g[b+164>>2];g[b+168>>2]=e+ +g[b+168>>2];i=n;return}function Nr(a,b,d){a=a|0;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,o=0;f=i;if(!b)b=0;else b=(c[b+236>>2]&2|0)==0?0:b;c[a+64>>2]=0;c[a+68>>2]=0;c[a+72>>2]=0;c[a+76>>2]=0;c[a+80>>2]=0;c[a+84>>2]=0;c[a+88>>2]=0;c[a+92>>2]=0;c[a+144>>2]=0;c[a+148>>2]=0;c[a+152>>2]=0;c[a+156>>2]=0;c[a+160>>2]=0;c[a+164>>2]=0;c[a+168>>2]=0;c[a+172>>2]=0;if(!b){g[a>>2]=1.0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;g[a+20>>2]=1.0;c[a+24>>2]=0;c[a+28>>2]=0;c[a+32>>2]=0;c[a+36>>2]=0;g[a+40>>2]=1.0;c[a+44>>2]=0;c[a+48>>2]=0;c[a+52>>2]=0;c[a+56>>2]=0;c[a+60>>2]=0;c[a+240>>2]=0;c[a+128>>2]=0;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;g[a+96>>2]=1.0;g[a+100>>2]=1.0;g[a+104>>2]=1.0;g[a+108>>2]=0.0;g[a+112>>2]=1.0;g[a+116>>2]=1.0;g[a+120>>2]=1.0;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));b=a+236|0;g[b>>2]=0.0;i=f;return}else{e=b+4|0;c[a+0>>2]=c[e+0>>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+0>>2];c[a+20>>2]=c[e+4>>2];c[a+24>>2]=c[e+8>>2];c[a+28>>2]=c[e+12>>2];e=b+36|0;c[a+32>>2]=c[e+0>>2];c[a+36>>2]=c[e+4>>2];c[a+40>>2]=c[e+8>>2];c[a+44>>2]=c[e+12>>2];e=b+52|0;c[a+48>>2]=c[e+0>>2];c[a+52>>2]=c[e+4>>2];c[a+56>>2]=c[e+8>>2];c[a+60>>2]=c[e+12>>2];e=b+344|0;m=+g[e>>2];n=b+348|0;l=m*+g[b+352>>2];k=m*+g[b+356>>2];g[a+128>>2]=m*+g[n>>2];g[a+132>>2]=l;g[a+136>>2]=k;g[a+140>>2]=0.0;c[a+240>>2]=b;o=b+544|0;c[a+96>>2]=c[o+0>>2];c[a+100>>2]=c[o+4>>2];c[a+104>>2]=c[o+8>>2];c[a+108>>2]=c[o+12>>2];c[a+112>>2]=c[n+0>>2];c[a+116>>2]=c[n+4>>2];c[a+120>>2]=c[n+8>>2];c[a+124>>2]=c[n+12>>2];n=b+312|0;c[a+176>>2]=c[n+0>>2];c[a+180>>2]=c[n+4>>2];c[a+184>>2]=c[n+8>>2];c[a+188>>2]=c[n+12>>2];n=b+328|0;c[a+192>>2]=c[n+0>>2];c[a+196>>2]=c[n+4>>2];c[a+200>>2]=c[n+8>>2];c[a+204>>2]=c[n+12>>2];k=+g[e>>2];l=k*+g[b+416>>2]*d;m=k*+g[b+420>>2]*d;g[a+208>>2]=k*+g[b+412>>2]*d;g[a+212>>2]=l;g[a+216>>2]=m;g[a+220>>2]=0.0;m=+g[b+428>>2];l=+g[b+432>>2];k=+g[b+436>>2];j=(m*+g[b+268>>2]+l*+g[b+284>>2]+k*+g[b+300>>2])*d;h=(m*+g[b+272>>2]+l*+g[b+288>>2]+k*+g[b+304>>2])*d;g[a+224>>2]=(+g[b+264>>2]*m+ +g[b+280>>2]*l+ +g[b+296>>2]*k)*d;g[a+228>>2]=j;g[a+232>>2]=h;b=a+236|0;g[b>>2]=0.0;i=f;return}}function Or(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,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0;d=i;if(!a){i=d;return}if(!(c[a+180>>2]&1)){i=d;return}r=+g[a+4>>2];t=+g[b>>2];o=+g[a+20>>2];s=+g[b+4>>2];l=+g[a+36>>2];e=+g[b+8>>2];q=+g[a+8>>2];n=+g[a+24>>2];j=+g[a+40>>2];p=+g[a+12>>2];m=+g[a+28>>2];f=+g[a+44>>2];k=(r*t+o*s+l*e)*+g[a+164>>2];h=(t*q+s*n+e*j)*+g[a+168>>2];e=(t*p+s*m+e*f)*+g[a+172>>2];g[b>>2]=r*k+q*h+p*e;g[b+4>>2]=o*k+n*h+m*e;g[b+8>>2]=l*k+j*h+f*e;g[b+12>>2]=0.0;i=d;return}function Pr(b,d,e,f,h,j,k,l,m,n,o){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;n=+n;o=+o;var p=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,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=i;M=c[b+68>>2]|0;if((M|0)==(c[b+72>>2]|0)?(t=(M|0)==0?1:M<<1,(M|0)<(t|0)):0){if(!t){r=M;s=0}else{c[5108]=(c[5108]|0)+1;p=QE((t*152|3)+16|0)|0;if(!p)p=0;else{c[(p+19&-16)+-4>>2]=p;p=p+19&-16}r=c[b+68>>2]|0;s=p}if((r|0)>0){p=0;do{YE(s+(p*152|0)|0,(c[b+76>>2]|0)+(p*152|0)|0,152)|0;p=p+1|0}while((p|0)!=(r|0))}p=c[b+76>>2]|0;if(p){if(a[b+80>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[p+-4>>2]|0)}c[b+76>>2]=0}a[b+80>>0]=1;c[b+76>>2]=s;c[b+72>>2]=t;p=c[b+68>>2]|0}else p=M;c[b+68>>2]=p+1;s=c[b+76>>2]|0;c[s+(M*152|0)+140>>2]=h;h=c[b+16>>2]|0;b=c[h+(e*244|0)+240>>2]|0;t=c[h+(f*244|0)+240>>2]|0;c[s+(M*152|0)+144>>2]=e;c[s+(M*152|0)+148>>2]=f;F=+g[j+84>>2];g[s+(M*152|0)+104>>2]=F;c[s+(M*152|0)+132>>2]=0;g[s+(M*152|0)+100>>2]=0.0;g[s+(M*152|0)+96>>2]=0.0;if(b){c[s+(M*152|0)+16>>2]=c[d+0>>2];c[s+(M*152|0)+20>>2]=c[d+4>>2];c[s+(M*152|0)+24>>2]=c[d+8>>2];c[s+(M*152|0)+28>>2]=c[d+12>>2];u=+g[k+4>>2];D=+g[s+(M*152|0)+24>>2];K=+g[k+8>>2];q=+g[s+(M*152|0)+20>>2];E=+g[s+(M*152|0)+16>>2];y=+g[k>>2];g[s+(M*152|0)>>2]=u*D-K*q;g[s+(M*152|0)+4>>2]=K*E-D*y;g[s+(M*152|0)+8>>2]=q*y-u*E;g[s+(M*152|0)+12>>2]=0.0;v=((u*D-K*q)*+g[b+264>>2]+ +g[b+268>>2]*(K*E-D*y)+(q*y-u*E)*+g[b+272>>2])*+g[b+544>>2];x=((u*D-K*q)*+g[b+280>>2]+(K*E-D*y)*+g[b+284>>2]+(q*y-u*E)*+g[b+288>>2])*+g[b+548>>2];w=((u*D-K*q)*+g[b+296>>2]+(K*E-D*y)*+g[b+300>>2]+(q*y-u*E)*+g[b+304>>2])*+g[b+552>>2];g[s+(M*152|0)+64>>2]=v;g[s+(M*152|0)+68>>2]=x;g[s+(M*152|0)+72>>2]=w;g[s+(M*152|0)+76>>2]=0.0;z=E;A=q;B=D;C=u*D-K*q;D=K*E-D*y;E=q*y-u*E}else{c[s+(M*152|0)+64>>2]=0;c[s+(M*152|0)+68>>2]=0;c[s+(M*152|0)+72>>2]=0;c[s+(M*152|0)+76>>2]=0;c[s+(M*152|0)+0>>2]=0;c[s+(M*152|0)+4>>2]=0;c[s+(M*152|0)+8>>2]=0;c[s+(M*152|0)+12>>2]=0;c[s+(M*152|0)+16>>2]=0;c[s+(M*152|0)+20>>2]=0;c[s+(M*152|0)+24>>2]=0;c[s+(M*152|0)+28>>2]=0;x=0.0;w=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){L=-+g[d>>2];P=-+g[d+4>>2];K=-+g[d+8>>2];g[s+(M*152|0)+48>>2]=L;g[s+(M*152|0)+52>>2]=P;g[s+(M*152|0)+56>>2]=K;g[s+(M*152|0)+60>>2]=0.0;O=+g[l+4>>2];R=+g[l+8>>2];Q=+g[l>>2];g[s+(M*152|0)+32>>2]=O*K-R*P;g[s+(M*152|0)+36>>2]=R*L-Q*K;g[s+(M*152|0)+40>>2]=Q*P-O*L;g[s+(M*152|0)+44>>2]=0.0;u=((O*K-R*P)*+g[t+264>>2]+ +g[t+268>>2]*(R*L-Q*K)+(Q*P-O*L)*+g[t+272>>2])*+g[t+544>>2];q=((O*K-R*P)*+g[t+280>>2]+(R*L-Q*K)*+g[t+284>>2]+(Q*P-O*L)*+g[t+288>>2])*+g[t+548>>2];y=((O*K-R*P)*+g[t+296>>2]+(R*L-Q*K)*+g[t+300>>2]+(Q*P-O*L)*+g[t+304>>2])*+g[t+552>>2];g[s+(M*152|0)+80>>2]=u;g[s+(M*152|0)+84>>2]=q;g[s+(M*152|0)+88>>2]=y;g[s+(M*152|0)+92>>2]=0.0;G=L;H=P;I=K;J=O*K-R*P;K=R*L-Q*K;L=Q*P-O*L}else{c[s+(M*152|0)+80>>2]=0;c[s+(M*152|0)+84>>2]=0;c[s+(M*152|0)+88>>2]=0;c[s+(M*152|0)+92>>2]=0;c[s+(M*152|0)+32>>2]=0;c[s+(M*152|0)+36>>2]=0;c[s+(M*152|0)+40>>2]=0;c[s+(M*152|0)+44>>2]=0;c[s+(M*152|0)+48>>2]=0;c[s+(M*152|0)+52>>2]=0;c[s+(M*152|0)+56>>2]=0;c[s+(M*152|0)+60>>2]=0;u=0.0;q=0.0;y=0.0;G=0.0;H=0.0;I=0.0;J=0.0;K=0.0;L=0.0}if(b){Q=+g[k+8>>2];P=+g[k+4>>2];O=+g[k>>2];x=+g[b+344>>2]+((x*Q-w*P)*+g[d>>2]+(w*O-Q*v)*+g[d+4>>2]+(P*v-x*O)*+g[d+8>>2])}else x=0.0;if(t){u=-u;w=-q;O=-y;v=+g[l+8>>2];y=+g[l+4>>2];q=+g[l>>2];w=+g[t+344>>2]+((v*w-y*O)*+g[d>>2]+(q*O-v*u)*+g[d+4>>2]+(y*u-q*w)*+g[d+8>>2])}else w=0.0;x=m/(x+w);g[s+(M*152|0)+108>>2]=x;if(b){u=(+g[h+(e*244|0)+176>>2]+ +g[h+(e*244|0)+208>>2])*z+(+g[h+(e*244|0)+180>>2]+ +g[h+(e*244|0)+212>>2])*A+(+g[h+(e*244|0)+184>>2]+ +g[h+(e*244|0)+216>>2])*B;v=+g[h+(e*244|0)+192>>2];w=+g[h+(e*244|0)+196>>2];q=+g[h+(e*244|0)+200>>2]}else{u=z*0.0+A*0.0+B*0.0;v=0.0;w=0.0;q=0.0}q=u+(v*C+w*D+q*E);if(t){I=(+g[h+(f*244|0)+176>>2]+ +g[h+(f*244|0)+208>>2])*G+(+g[h+(f*244|0)+180>>2]+ +g[h+(f*244|0)+212>>2])*H+(+g[h+(f*244|0)+184>>2]+ +g[h+(f*244|0)+216>>2])*I;H=+g[h+(f*244|0)+192>>2];G=+g[h+(f*244|0)+196>>2];m=+g[h+(f*244|0)+200>>2];H=H*J;J=G*K;J=H+J;m=m*L;m=J+m;m=I+m;m=q+m;n=n-m;n=x*n;j=s+(M*152|0)+112|0;g[j>>2]=n;j=s+(M*152|0)+116|0;g[j>>2]=o;n=-F;j=s+(M*152|0)+120|0;g[j>>2]=n;j=s+(M*152|0)+124|0;g[j>>2]=F;i=N;return}else{I=G*0.0+H*0.0+I*0.0;H=0.0;G=0.0;m=0.0;H=H*J;J=G*K;J=H+J;m=m*L;m=J+m;m=I+m;m=q+m;n=n-m;n=x*n;j=s+(M*152|0)+112|0;g[j>>2]=n;j=s+(M*152|0)+116|0;g[j>>2]=o;n=-F;j=s+(M*152|0)+120|0;g[j>>2]=n;j=s+(M*152|0)+124|0;g[j>>2]=F;i=N;return}}function Qr(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.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,C=0;C=i;B=c[b+88>>2]|0;if((B|0)==(c[b+92>>2]|0)?(o=(B|0)==0?1:B<<1,(B|0)<(o|0)):0){if(!o){m=B;n=0}else{c[5108]=(c[5108]|0)+1;k=QE((o*152|3)+16|0)|0;if(!k)k=0;else{c[(k+19&-16)+-4>>2]=k;k=k+19&-16}m=c[b+88>>2]|0;n=k}if((m|0)>0){k=0;do{YE(n+(k*152|0)|0,(c[b+96>>2]|0)+(k*152|0)|0,152)|0;k=k+1|0}while((k|0)!=(m|0))}k=c[b+96>>2]|0;if(k){if(a[b+100>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[k+-4>>2]|0)}c[b+96>>2]=0}a[b+100>>0]=1;c[b+96>>2]=n;c[b+92>>2]=o;k=c[b+88>>2]|0}else k=B;c[b+88>>2]=k+1;n=c[b+96>>2]|0;c[n+(B*152|0)+140>>2]=h;c[n+(B*152|0)+16>>2]=0;c[n+(B*152|0)+20>>2]=0;c[n+(B*152|0)+24>>2]=0;c[n+(B*152|0)+28>>2]=0;g[n+(B*152|0)+48>>2]=-0.0;g[n+(B*152|0)+52>>2]=-0.0;g[n+(B*152|0)+56>>2]=-0.0;g[n+(B*152|0)+60>>2]=0.0;h=c[b+16>>2]|0;b=c[h+(e*244|0)+240>>2]|0;o=c[h+(f*244|0)+240>>2]|0;c[n+(B*152|0)+144>>2]=e;c[n+(B*152|0)+148>>2]=f;A=+g[j+88>>2];g[n+(B*152|0)+104>>2]=A;c[n+(B*152|0)+132>>2]=0;g[n+(B*152|0)+100>>2]=0.0;g[n+(B*152|0)+96>>2]=0.0;x=-+g[d>>2];y=-+g[d+4>>2];z=-+g[d+8>>2];g[n+(B*152|0)>>2]=x;g[n+(B*152|0)+4>>2]=y;g[n+(B*152|0)+8>>2]=z;g[n+(B*152|0)+12>>2]=0.0;if(b){l=(+g[b+264>>2]*x+ +g[b+268>>2]*y+ +g[b+272>>2]*z)*+g[b+544>>2];p=(+g[b+280>>2]*x+ +g[b+284>>2]*y+ +g[b+288>>2]*z)*+g[b+548>>2];q=(+g[b+296>>2]*x+ +g[b+300>>2]*y+ +g[b+304>>2]*z)*+g[b+552>>2]}else{l=0.0;p=0.0;q=0.0}g[n+(B*152|0)+64>>2]=l;g[n+(B*152|0)+68>>2]=p;g[n+(B*152|0)+72>>2]=q;g[n+(B*152|0)+76>>2]=0.0;u=+g[d>>2];v=+g[d+4>>2];w=+g[d+8>>2];s=+g[d+12>>2];g[n+(B*152|0)+32>>2]=u;g[n+(B*152|0)+36>>2]=v;g[n+(B*152|0)+40>>2]=w;g[n+(B*152|0)+44>>2]=s;if(o){q=(u*+g[o+264>>2]+v*+g[o+268>>2]+w*+g[o+272>>2])*+g[o+544>>2];p=(u*+g[o+280>>2]+v*+g[o+284>>2]+w*+g[o+288>>2])*+g[o+548>>2];l=(u*+g[o+296>>2]+v*+g[o+300>>2]+w*+g[o+304>>2])*+g[o+552>>2]}else{q=0.0;p=0.0;l=0.0}g[n+(B*152|0)+80>>2]=q;g[n+(B*152|0)+84>>2]=p;g[n+(B*152|0)+88>>2]=l;g[n+(B*152|0)+92>>2]=0.0;if(b){s=+g[b+264>>2]*x+ +g[b+268>>2]*y+ +g[b+272>>2]*z;r=+g[b+280>>2]*x+ +g[b+284>>2]*y+ +g[b+288>>2]*z;q=+g[b+296>>2]*x+ +g[b+300>>2]*y+ +g[b+304>>2]*z}else{s=0.0;r=0.0;q=0.0}if(o){p=+g[o+264>>2]*u+ +g[o+268>>2]*v+ +g[o+272>>2]*w;l=u*+g[o+280>>2]+v*+g[o+284>>2]+w*+g[o+288>>2];t=u*+g[o+296>>2]+v*+g[o+300>>2]+w*+g[o+304>>2]}else{p=0.0;l=0.0;t=0.0}s=1.0/(s*x+r*y+q*z+0.0+(p*u+l*v+t*w));g[n+(B*152|0)+108>>2]=s;if(b){p=(+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;l=+g[h+(e*244|0)+192>>2];r=+g[h+(e*244|0)+196>>2];q=+g[h+(e*244|0)+200>>2]}else{p=0.0;l=0.0;r=0.0;q=0.0}l=p+(l*x+r*y+q*z);if(!o){r=-0.0;q=0.0;p=0.0;x=0.0;q=q*u;u=p*v;u=q+u;v=x*w;v=u+v;v=r+v;v=l+v;v=0.0-v;v=s*v;e=n+(B*152|0)+112|0;g[e>>2]=v;e=n+(B*152|0)+116|0;g[e>>2]=0.0;v=-A;e=n+(B*152|0)+120|0;g[e>>2]=v;e=n+(B*152|0)+124|0;g[e>>2]=A;i=C;return}r=(+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;q=+g[h+(f*244|0)+192>>2];p=+g[h+(f*244|0)+196>>2];x=+g[h+(f*244|0)+200>>2];q=q*u;u=p*v;u=q+u;v=x*w;v=u+v;v=r+v;v=l+v;v=0.0-v;v=s*v;e=n+(B*152|0)+112|0;g[e>>2]=v;e=n+(B*152|0)+116|0;g[e>>2]=0.0;v=-A;e=n+(B*152|0)+120|0;g[e>>2]=v;e=n+(B*152|0)+124|0;g[e>>2]=A;i=C;return}function Rr(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){i=f;return e|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;e=c[a+8>>2]|0;VE(f+244|0,0,244)|0;Nr(_r(a+4|0,f+244|0)|0,b,d);c[b+212>>2]=e;i=f;return e|0}while(0);e=c[a+188>>2]|0;if((e|0)>=0){i=f;return e|0}c[a+188>>2]=c[a+8>>2];VE(f|0,0,244)|0;Nr(_r(a+4|0,f)|0,0,d);e=c[a+188>>2]|0;i=f;return e|0} +function Cq(b){b=b|0;var d=0,e=0.0,f=0.0,h=0.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.0;m=i;i=i+144|0;if(!(a[b+1308>>0]|0)){i=m;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+716>>2]=0;c[b+720>>2]=0;c[b+724>>2]=0;Bq(b,(c[b+28>>2]|0)+4|0,(c[b+32>>2]|0)+4|0);Jb[c[(c[b>>2]|0)+44>>2]&255](b);h=+g[b+1284>>2];f=+g[b+1288>>2];e=+g[b+1292>>2];d=0;do{if(+g[b+(d<<2)+696>>2]>=+g[b+(d<<2)+680>>2]){if(!(a[b+1300>>0]|0)){j=b+(d<<2)+1160|0;k=b+(d<<2)+1144|0;l=b+(d<<2)+1128|0}else{j=b+(d<<2)+1096|0;k=b+(d<<2)+1080|0;l=b+(d<<2)+1064|0}n=+g[j>>2];o=+g[k>>2];g[m>>2]=+g[l>>2];g[m+4>>2]=o;g[m+8>>2]=n;g[m+12>>2]=0.0;k=c[b+28>>2]|0;g[m+96>>2]=+g[k+4>>2];g[m+100>>2]=+g[k+20>>2];g[m+104>>2]=+g[k+36>>2];g[m+108>>2]=0.0;g[m+112>>2]=+g[k+8>>2];g[m+116>>2]=+g[k+24>>2];g[m+120>>2]=+g[k+40>>2];g[m+124>>2]=0.0;g[m+128>>2]=+g[k+12>>2];g[m+132>>2]=+g[k+28>>2];g[m+136>>2]=+g[k+44>>2];g[m+140>>2]=0.0;j=c[b+32>>2]|0;g[m+48>>2]=+g[j+4>>2];g[m+52>>2]=+g[j+20>>2];g[m+56>>2]=+g[j+36>>2];g[m+60>>2]=0.0;g[m+64>>2]=+g[j+8>>2];g[m+68>>2]=+g[j+24>>2];g[m+72>>2]=+g[j+40>>2];g[m+76>>2]=0.0;g[m+80>>2]=+g[j+12>>2];g[m+84>>2]=+g[j+28>>2];g[m+88>>2]=+g[j+44>>2];g[m+92>>2]=0.0;n=f-+g[k+56>>2];o=e-+g[k+60>>2];g[m+32>>2]=h-+g[k+52>>2];g[m+36>>2]=n;g[m+40>>2]=o;g[m+44>>2]=0.0;o=f-+g[j+56>>2];n=e-+g[j+60>>2];g[m+16>>2]=h-+g[j+52>>2];g[m+20>>2]=o;g[m+24>>2]=n;g[m+28>>2]=0.0;Kq(b+(d*84|0)+176|0,m+96|0,m+48|0,m+32|0,m+16|0,m,k+396|0,+g[k+344>>2],j+396|0,+g[j+344>>2])}d=d+1|0}while((d|0)!=3);l=0;do{e=+g[b+(l<<6)+868>>2];f=+g[b+(l<<6)+872>>2];h=+Lq(+g[b+(l<<2)+1192>>2],e,f);g[b+(l<<6)+920>>2]=h;do if(!(e>f)){if(e>h){c[b+(l<<6)+924>>2]=1;d=b+(l<<6)+916|0;g[d>>2]=h-e;if(h-e>3.1415927410125732){g[d>>2]=h-e+-6.2831854820251465;d=24;break}if(!(h-e<-3.1415927410125732)){d=24;break}g[d>>2]=h-e+6.2831854820251465;d=24;break}d=b+(l<<6)+924|0;if(!(f>2]=0;d=23;break}c[d>>2]=2;d=b+(l<<6)+916|0;g[d>>2]=h-f;if(h-f>3.1415927410125732){g[d>>2]=h-f+-6.2831854820251465;d=24;break}if(h-f<-3.1415927410125732){g[d>>2]=h-f+6.2831854820251465;d=24}else d=24}else{c[b+(l<<6)+924>>2]=0;d=23}while(0);if((d|0)==23?(d=0,(a[b+(l<<6)+912>>0]|0)!=0):0)d=24;if((d|0)==24){k=b+(l<<4)+1208|0;c[m+0>>2]=c[k+0>>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];k=b+(l*84|0)+428|0;j=c[b+28>>2]|0;K=+g[j+4>>2];J=+g[j+20>>2];I=+g[j+36>>2];G=+g[j+8>>2];F=+g[j+24>>2];E=+g[j+40>>2];C=+g[j+12>>2];B=+g[j+28>>2];A=+g[j+44>>2];d=c[b+32>>2]|0;y=+g[d+4>>2];x=+g[d+20>>2];w=+g[d+36>>2];u=+g[d+8>>2];t=+g[d+24>>2];s=+g[d+40>>2];q=+g[d+12>>2];o=+g[d+28>>2];h=+g[d+44>>2];c[k+0>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;p=+g[m>>2];n=+g[m+4>>2];f=+g[m+8>>2];g[b+(l*84|0)+444>>2]=K*p+J*n+I*f;g[b+(l*84|0)+448>>2]=G*p+F*n+E*f;g[b+(l*84|0)+452>>2]=C*p+B*n+A*f;g[b+(l*84|0)+456>>2]=0.0;g[b+(l*84|0)+460>>2]=y*-p+x*-n+w*-f;g[b+(l*84|0)+464>>2]=u*-p+t*-n+s*-f;g[b+(l*84|0)+468>>2]=q*-p+o*-n+h*-f;g[b+(l*84|0)+472>>2]=0.0;H=(K*p+J*n+I*f)*+g[j+396>>2];D=(G*p+F*n+E*f)*+g[j+400>>2];z=(C*p+B*n+A*f)*+g[j+404>>2];g[b+(l*84|0)+476>>2]=H;g[b+(l*84|0)+480>>2]=D;g[b+(l*84|0)+484>>2]=z;g[b+(l*84|0)+488>>2]=0.0;v=(y*-p+x*-n+w*-f)*+g[d+396>>2];r=(u*-p+t*-n+s*-f)*+g[d+400>>2];e=(q*-p+o*-n+h*-f)*+g[d+404>>2];g[b+(l*84|0)+492>>2]=v;g[b+(l*84|0)+496>>2]=r;g[b+(l*84|0)+500>>2]=e;g[b+(l*84|0)+504>>2]=0.0;g[b+(l*84|0)+508>>2]=(K*p+J*n+I*f)*H+(G*p+F*n+E*f)*D+(C*p+B*n+A*f)*z+((y*-p+x*-n+w*-f)*v+(u*-p+t*-n+s*-f)*r+(q*-p+o*-n+h*-f)*e)}l=l+1|0}while((l|0)!=3);i=m;return}function Dq(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0.0,k=0.0,l=0.0,m=0,n=0;n=i;if(a[b+1308>>0]|0){c[d>>2]=0;c[d+4>>2]=0;i=n;return}Bq(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)m=0;else{e=e+1|0;c[d>>2]=e;f=f+-1|0;c[d+4>>2]=f;m=0}do{j=+g[b+(m<<6)+868>>2];k=+g[b+(m<<6)+872>>2];l=+Lq(+g[b+(m<<2)+1192>>2],j,k);g[b+(m<<6)+920>>2]=l;do if(!(j>k)){if(j>l){c[b+(m<<6)+924>>2]=1;h=b+(m<<6)+916|0;g[h>>2]=l-j;if(l-j>3.1415927410125732){g[h>>2]=l-j+-6.2831854820251465;h=21;break}if(!(l-j<-3.1415927410125732)){h=21;break}g[h>>2]=l-j+6.2831854820251465;h=21;break}h=b+(m<<6)+924|0;if(!(k>2]=0;h=20;break}c[h>>2]=2;h=b+(m<<6)+916|0;g[h>>2]=l-k;if(l-k>3.1415927410125732){g[h>>2]=l-k+-6.2831854820251465;h=21;break}if(l-k<-3.1415927410125732){g[h>>2]=l-k+6.2831854820251465;h=21}else h=21}else{c[b+(m<<6)+924>>2]=0;h=20}while(0);if((h|0)==20){h=0;if(a[b+(m<<6)+912>>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}m=m+1|0}while((m|0)!=3);i=n;return}function Eq(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+16|0;k=c[b+28>>2]|0;l=c[b+32>>2]|0;if(!(a[b+1301>>0]|0)){j=0;e=Fq(b,d,0,k+4|0,l+4|0,k+312|0,l+312|0,k+328|0,l+328|0)|0;do{f=b+(j<<6)+868|0;if(!((c[b+(j<<6)+924>>2]|0)==0?(a[b+(j<<6)+912>>0]|0)==0:0)){h=b+(j<<4)+1208|0;c[m+0>>2]=c[h+0>>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];h=c[b+1304>>2]>>(j*3|0)+9;if(!(h&1))g[b+(j<<6)+896>>2]=+g[c[d+32>>2]>>2];if(!(h&2))g[b+(j<<6)+904>>2]=+g[c[d+32>>2]>>2];if(!(h&4))g[b+(j<<6)+900>>2]=+g[d+4>>2];e=(Gq(b,f,k+4|0,l+4|0,k+312|0,l+312|0,k+328|0,l+328|0,d,e,m,1,0)|0)+e|0}j=j+1|0}while((j|0)!=3);i=m;return}j=0;e=0;do{f=b+(j<<6)+868|0;if(!((c[b+(j<<6)+924>>2]|0)==0?(a[b+(j<<6)+912>>0]|0)==0:0)){h=b+(j<<4)+1208|0;c[m+0>>2]=c[h+0>>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];h=c[b+1304>>2]>>(j*3|0)+9;if(!(h&1))g[b+(j<<6)+896>>2]=+g[c[d+32>>2]>>2];if(!(h&2))g[b+(j<<6)+904>>2]=+g[c[d+32>>2]>>2];if(!(h&4))g[b+(j<<6)+900>>2]=+g[d+4>>2];e=(Gq(b,f,k+4|0,l+4|0,k+312|0,l+312|0,k+328|0,l+328|0,d,e,m,1,0)|0)+e|0}j=j+1|0}while((j|0)!=3);Fq(b,d,e,k+4|0,l+4|0,k+312|0,l+312|0,k+328|0,l+328|0)|0;i=m;return}function Fq(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+76>>2]=0.0;g[q+24>>2]=0.0;g[q+28>>2]=.10000000149011612;g[q+32>>2]=300.0;g[q+16>>2]=1.0;g[q+20>>2]=-1.0;g[q+44>>2]=0.0;g[q+48>>2]=.20000000298023224;g[q+52>>2]=0.0;g[q+56>>2]=0.0;g[q+36>>2]=1.0;g[q+40>>2]=.5;c[q+72>>2]=0;g[q+64>>2]=0.0;a[q+60>>0]=0;p=0;do{n=c[b+(p<<2)+856>>2]|0;o=a[b+p+788>>0]|0;do if(!((n|0)==0&o<<24>>24==0)){g[q+56>>2]=0.0;c[q+72>>2]=n;g[q+68>>2]=+g[b+(p<<2)+840>>2];g[q+64>>2]=+g[b+(p<<2)+824>>2];g[q+36>>2]=+g[b+732>>2];a[q+60>>0]=o;g[q+20>>2]=+g[b+(p<<2)+696>>2];g[q+40>>2]=+g[b+728>>2];g[q+16>>2]=+g[b+(p<<2)+680>>2];g[q+32>>2]=0.0;g[q+28>>2]=+g[b+(p<<2)+808>>2];g[q+24>>2]=+g[b+(p<<2)+792>>2];g[q>>2]=+g[b+(p<<2)+1064>>2];g[q+4>>2]=+g[b+(p<<2)+1080>>2];g[q+8>>2]=+g[b+(p<<2)+1096>>2];g[q+12>>2]=0.0;n=c[b+1304>>2]>>p*3;if(!(n&1))o=c[d+32>>2]|0;else o=b+(p<<2)+740|0;g[q+44>>2]=+g[o>>2];if(!(n&2))o=c[d+32>>2]|0;else o=b+(p<<2)+772|0;g[q+52>>2]=+g[o>>2];if(!(n&4))n=d+4|0;else n=b+(p<<2)+756|0;g[q+48>>2]=+g[n>>2];if(!(a[b+1301>>0]|0)){e=(Gq(b,q+16|0,f,h,j,k,l,m,d,e,q,0,0)|0)+e|0;break}o=p+1|0;if(!(c[b+(((o|0)==3?0:o)<<6)+924>>2]|0))n=1;else n=(c[b+(((p+2|0)%3|0)<<6)+924>>2]|0)==0&1;e=(Gq(b,q+16|0,f,h,j,k,l,m,d,e,q,0,n)|0)+e|0}while(0);p=p+1|0}while((p|0)!=3);i=q;return e|0}function Gq(b,d,e,f,h,j,k,l,m,n,o,p,q){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;n=n|0;o=o|0;p=p|0;q=q|0;var 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,B=0,C=0,D=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;D=i;B=$(c[m+24>>2]|0,n)|0;z=a[d+44>>0]|0;C=c[d+56>>2]|0;if(!(z<<24>>24!=0|(C|0)!=0)){m=0;i=D;return m|0}E=c[((p|0)!=0?m+12|0:m+8|0)>>2]|0;n=c[((p|0)!=0?m+20|0:m+16|0)>>2]|0;g[E+(B<<2)>>2]=+g[o>>2];g[E+(B+1<<2)>>2]=+g[o+4>>2];g[E+(B+2<<2)>>2]=+g[o+8>>2];g[n+(B<<2)>>2]=-+g[o>>2];g[n+(B+1<<2)>>2]=-+g[o+4>>2];g[n+(B+2<<2)>>2]=-+g[o+8>>2];do if(!p){s=+g[b+1176>>2];if(!(a[b+1301>>0]|0)){u=s-+g[e+48>>2];s=+g[b+1180>>2]-+g[e+52>>2];r=+g[b+1184>>2]-+g[e+56>>2];y=+g[o+8>>2];v=+g[o+4>>2];t=+g[o>>2];q=c[m+12>>2]|0;g[q+(B<<2)>>2]=s*y-r*v;g[q+(B+1<<2)>>2]=r*t-u*y;g[q+(B+2<<2)>>2]=u*v-s*t;t=+g[b+1176>>2]-+g[f+48>>2];s=+g[b+1180>>2]-+g[f+52>>2];v=+g[b+1184>>2]-+g[f+56>>2];u=+g[o+8>>2];y=+g[o+4>>2];r=+g[o>>2];b=c[m+20>>2]|0;g[b+(B<<2)>>2]=-(s*u-v*y);g[b+(B+1<<2)>>2]=-(v*r-t*u);g[b+(B+2<<2)>>2]=-(t*y-s*r);break}K=s-+g[f+48>>2];I=+g[b+1180>>2]-+g[f+52>>2];G=+g[b+1184>>2]-+g[f+56>>2];J=+g[o>>2];H=+g[o+4>>2];F=+g[o+8>>2];M=+g[b+1112>>2]-+g[e+48>>2];s=+g[b+1116>>2]-+g[e+52>>2];v=+g[b+1120>>2]-+g[e+56>>2];r=+g[d+52>>2]-+g[d+48>>2];L=J*(J*M+H*s+F*v)+J*r-J*(K*J+I*H+G*F);t=H*(J*M+H*s+F*v)+H*r-H*(K*J+I*H+G*F);r=F*(J*M+H*s+F*v)+F*r-F*(K*J+I*H+G*F);y=+g[b+1272>>2];x=+g[b+1276>>2];u=F*(s-H*(J*M+H*s+F*v)+y*t)-H*(v-F*(J*M+H*s+F*v)+y*r);w=J*(v-F*(J*M+H*s+F*v)+y*r)-F*(M-J*(J*M+H*s+F*v)+y*L);v=H*(M-J*(J*M+H*s+F*v)+y*L)-J*(s-H*(J*M+H*s+F*v)+y*t);s=F*(I-H*(K*J+I*H+G*F)-x*t)-H*(G-F*(K*J+I*H+G*F)-x*r);r=J*(G-F*(K*J+I*H+G*F)-x*r)-F*(K-J*(K*J+I*H+G*F)-x*L);t=H*(K-J*(K*J+I*H+G*F)-x*L)-J*(I-H*(K*J+I*H+G*F)-x*t);if(!((a[b+1280>>0]|0)==0|(q|0)!=0)){s=x*s;r=x*r;t=x*t;u=y*u;w=y*w;v=y*v}b=c[m+12>>2]|0;g[b+(B<<2)>>2]=u;g[b+(B+1<<2)>>2]=w;g[b+(B+2<<2)>>2]=v;b=c[m+20>>2]|0;g[b+(B<<2)>>2]=-s;g[b+(B+1<<2)>>2]=-r;g[b+(B+2<<2)>>2]=-t}while(0);if((C|0)!=0?+g[d>>2]==+g[d+4>>2]:0){n=c[m+28>>2]|0;g[n+(B<<2)>>2]=0.0}else A=11;do if((A|0)==11){n=c[m+28>>2]|0;g[n+(B<<2)>>2]=0.0;if(z<<24>>24){g[(c[m+32>>2]|0)+(B<<2)>>2]=+g[d+28>>2];if(C)break;w=+g[d+8>>2];if(p)s=w;else s=-w;t=+g[d+52>>2];u=+g[d>>2];v=+g[d+4>>2];r=+g[m>>2]*+g[d+32>>2];do if(!(u>v))if(!(u==v)){s=s/r;if(s<0.0)if(t>=u&u-s>t){s=(u-t)/s;break}else{s=t0.0)if(t<=v&v-sv?0.0:1.0;break}else s=0.0}else s=0.0;else s=1.0;while(0);g[n+(B<<2)>>2]=s*w+ +g[n+(B<<2)>>2];g[(c[m+36>>2]|0)+(B<<2)>>2]=-+g[d+12>>2];g[(c[m+40>>2]|0)+(B<<2)>>2]=+g[d+12>>2]}if(!C){m=1;i=D;return m|0}}while(0);r=+g[m>>2]*+g[d+32>>2]*+g[d+48>>2];f=n+(B<<2)|0;s=+g[f>>2];if(p)s=s-r;else s=r+s;g[f>>2]=s;g[(c[m+32>>2]|0)+(B<<2)>>2]=+g[d+36>>2];if(+g[d>>2]==+g[d+4>>2]){g[(c[m+36>>2]|0)+(B<<2)>>2]=-3402823466385288598117041.0e14;g[(c[m+40>>2]|0)+(B<<2)>>2]=3402823466385288598117041.0e14;m=1;i=D;return m|0}n=(c[m+36>>2]|0)+(B<<2)|0;if((C|0)==1){g[n>>2]=0.0;g[(c[m+40>>2]|0)+(B<<2)>>2]=3402823466385288598117041.0e14}else{g[n>>2]=-3402823466385288598117041.0e14;g[(c[m+40>>2]|0)+(B<<2)>>2]=0.0}s=+g[d+40>>2];if(!(s>0.0)){m=1;i=D;return m|0}if(p){v=+g[o>>2];G=+g[o+4>>2];r=+g[o+8>>2];r=+g[k>>2]*v+ +g[k+4>>2]*G+ +g[k+8>>2]*r-(v*+g[l>>2]+G*+g[l+4>>2]+r*+g[l+8>>2])}else{v=+g[o>>2];G=+g[o+4>>2];r=+g[o+8>>2];r=+g[h>>2]*v+ +g[h+4>>2]*G+ +g[h+8>>2]*r-(v*+g[j>>2]+G*+g[j+4>>2]+r*+g[j+8>>2])}if((C|0)==1){if(!(r<0.0)){m=1;i=D;return m|0}r=-(r*s);if(!(+g[f>>2]>2]=r;m=1;i=D;return m|0}else{if(!(r>0.0)){m=1;i=D;return m|0}r=-(r*s);if(!(+g[f>>2]>r)){m=1;i=D;return m|0}g[f>>2]=r;m=1;i=D;return m|0}return 0}function Hq(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 Iq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if(e>>>0<3)if((b|0)==3){g[a+(e<<2)+740>>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>>0>=3){i=f;return}if((b|0)==4){g[a+(e+-3<<6)+904>>2]=d;c[a+1304>>2]=c[a+1304>>2]|2<>2]=d;c[a+1304>>2]=c[a+1304>>2]|4<>2]=d;c[a+1304>>2]=c[a+1304>>2]|1<>>0<3)if((b|0)==4){d=+g[a+(c<<2)+772>>2];break}else if((b|0)==3){d=+g[a+(c<<2)+740>>2];break}else if((b|0)==2){d=+g[a+(c<<2)+756>>2];break}else{d=0.0;break}else if((c+-3|0)>>>0<3)if((b|0)==3){d=+g[a+(c+-3<<6)+896>>2];break}else if((b|0)==4){d=+g[a+(c+-3<<6)+904>>2];break}else if((b|0)==2){d=+g[a+(c+-3<<6)+900>>2];break}else{d=0.0;break}else d=0.0;while(0);i=e;return +d}function Kq(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+0>>2]=c[h+0>>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 Lq(a,b,c){a=+a;b=+b;c=+c;var d=0.0,e=0.0,f=0;f=i;if(b>=c){d=a;i=f;return +d}if(a3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+O(+d);d=+SE(c-a,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(e<+O(+d)){d=a;i=f;return +d}d=a+6.2831854820251465;i=f;return +d}if(!(a>c)){d=a;i=f;return +d}d=+SE(a-c,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;e=+O(+d);d=+SE(a-b,6.2831854820251465);if(!(d<-3.1415927410125732)){if(d>3.1415927410125732)d=d+-6.2831854820251465}else d=d+6.2831854820251465;if(!(+O(+d)>2]=+g[a+48>>2];g[b+56>>2]=+g[a+52>>2];g[b+60>>2]=+g[a+56>>2];g[b+64>>2]=+g[a+60>>2];g[b+68>>2]=+g[a+64>>2];g[b+72>>2]=+g[a+68>>2];g[b+76>>2]=+g[a+72>>2];g[b+80>>2]=+g[a+76>>2];g[b+84>>2]=+g[a+80>>2];g[b+88>>2]=+g[a+84>>2];g[b+92>>2]=+g[a+88>>2];g[b+96>>2]=+g[a+92>>2];g[b+100>>2]=+g[a+96>>2];g[b+104>>2]=+g[a+100>>2];g[b+108>>2]=+g[a+104>>2];g[b+112>>2]=+g[a+108>>2];g[b+116>>2]=+g[a+112>>2];g[b+120>>2]=+g[a+116>>2];g[b+124>>2]=+g[a+120>>2];g[b+128>>2]=+g[a+124>>2];g[b+132>>2]=+g[a+128>>2];g[b+136>>2]=+g[a+132>>2];g[b+140>>2]=+g[a+136>>2];g[b+144>>2]=+g[a+140>>2];g[b+148>>2]=+g[a+144>>2];g[b+152>>2]=+g[a+148>>2];g[b+156>>2]=+g[a+152>>2];g[b+160>>2]=+g[a+156>>2];g[b+164>>2]=+g[a+160>>2];g[b+168>>2]=+g[a+164>>2];g[b+172>>2]=+g[a+168>>2];g[b+176>>2]=+g[a+172>>2];g[b+228>>2]=+g[a+868>>2];g[b+212>>2]=+g[a+872>>2];g[b+196>>2]=+g[a+680>>2];g[b+180>>2]=+g[a+696>>2];g[b+232>>2]=+g[a+932>>2];g[b+216>>2]=+g[a+936>>2];g[b+200>>2]=+g[a+684>>2];g[b+184>>2]=+g[a+700>>2];g[b+236>>2]=+g[a+996>>2];g[b+220>>2]=+g[a+1e3>>2];g[b+204>>2]=+g[a+688>>2];g[b+188>>2]=+g[a+704>>2];c[b+244>>2]=d[a+1300>>0];c[b+248>>2]=d[a+1301>>0];i=f;return 2600}function Nq(a){a=a|0;return 252}function Oq(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Pq(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0;e=i;if(a[b+1309>>0]|0){f=(+g[b+1256>>2]-+g[b+1316>>2])*+g[b+1340>>2];g[b+792>>2]=f*(+g[d>>2]*+g[b+1364>>2]/+(c[d+48>>2]|0));f=+O(+f);g[b+808>>2]=f/+g[d>>2]}if(a[b+1310>>0]|0){f=(+g[b+1260>>2]-+g[b+1320>>2])*+g[b+1344>>2];g[b+796>>2]=f*(+g[d>>2]*+g[b+1368>>2]/+(c[d+48>>2]|0));f=+O(+f);g[b+812>>2]=f/+g[d>>2]}if(a[b+1311>>0]|0){f=(+g[b+1264>>2]-+g[b+1324>>2])*+g[b+1348>>2];g[b+800>>2]=f*(+g[d>>2]*+g[b+1372>>2]/+(c[d+48>>2]|0));f=+O(+f);g[b+816>>2]=f/+g[d>>2]}if(a[b+1312>>0]|0){h=-((+g[b+1192>>2]-+g[b+1328>>2])*+g[b+1352>>2]);f=+g[d>>2];g[b+876>>2]=f*+g[b+1376>>2]/+(c[d+48>>2]|0)*h;g[b+880>>2]=+O(+h)/f}if(a[b+1313>>0]|0){h=-((+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)*h;g[b+944>>2]=+O(+h)/f}if(!(a[b+1314>>0]|0)){Eq(b,d);i=e;return}h=-((+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)*h;g[b+1008>>2]=+O(+h)/f;Eq(b,d);i=e;return}function Qq(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,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;e=i;w=+g[b>>2];v=+g[b+4>>2];u=+g[b+8>>2];t=1.0/+P(+(w*w+v*v+u*u));A=+g[d>>2];z=+g[d+4>>2];y=+g[d+8>>2];x=1.0/+P(+(A*A+z*z+y*y));D=u*t*(z*x)-v*t*(y*x);C=w*t*(y*x)-u*t*(A*x);B=v*t*(A*x)-w*t*(z*x);b=c[a+28>>2]|0;f=+g[b+4>>2];j=+g[b+20>>2];l=+g[b+36>>2];h=+g[b+8>>2];k=+g[b+24>>2];m=+g[b+40>>2];n=+g[b+12>>2];p=+g[b+28>>2];r=+g[b+44>>2];o=-+g[b+52>>2];q=-+g[b+56>>2];s=-+g[b+60>>2];g[a+48>>2]=f*D+C*j+B*l;g[a+52>>2]=A*x*f+z*x*j+y*x*l;g[a+56>>2]=w*t*f+v*t*j+u*t*l;g[a+60>>2]=0.0;g[a+64>>2]=D*h+C*k+B*m;g[a+68>>2]=A*x*h+z*x*k+y*x*m;g[a+72>>2]=w*t*h+v*t*k+u*t*m;g[a+76>>2]=0.0;g[a+80>>2]=D*n+C*p+B*r;g[a+84>>2]=A*x*n+z*x*p+y*x*r;g[a+88>>2]=w*t*n+v*t*p+u*t*r;g[a+92>>2]=0.0;g[a+96>>2]=f*0.0+j*0.0+l*0.0+(f*o+j*q+l*s);g[a+100>>2]=h*0.0+k*0.0+m*0.0+(h*o+k*q+m*s);g[a+104>>2]=n*0.0+p*0.0+r*0.0+(n*o+p*q+r*s);g[a+108>>2]=0.0;b=c[a+32>>2]|0;s=+g[b+4>>2];r=+g[b+20>>2];q=+g[b+36>>2];p=+g[b+8>>2];o=+g[b+24>>2];n=+g[b+40>>2];m=+g[b+12>>2];k=+g[b+28>>2];h=+g[b+44>>2];l=-+g[b+52>>2];j=-+g[b+56>>2];f=-+g[b+60>>2];g[a+112>>2]=D*s+C*r+B*q;g[a+116>>2]=A*x*s+z*x*r+y*x*q;g[a+120>>2]=w*t*s+v*t*r+u*t*q;g[a+124>>2]=0.0;g[a+128>>2]=D*p+C*o+B*n;g[a+132>>2]=A*x*p+z*x*o+y*x*n;g[a+136>>2]=w*t*p+v*t*o+u*t*n;g[a+140>>2]=0.0;g[a+144>>2]=D*m+C*k+B*h;g[a+148>>2]=A*x*m+z*x*k+y*x*h;g[a+152>>2]=w*t*m+v*t*k+u*t*h;g[a+156>>2]=0.0;g[a+160>>2]=s*0.0+r*0.0+q*0.0+(s*l+r*j+q*f);g[a+164>>2]=p*0.0+o*0.0+n*0.0+(p*l+o*j+n*f);g[a+168>>2]=m*0.0+k*0.0+h*0.0+(m*l+k*j+h*f);g[a+172>>2]=0.0;Bq(a,(c[a+28>>2]|0)+4|0,(c[a+32>>2]|0)+4|0);i=e;return}function Rq(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;Mq(a,b,e)|0;g[b+276>>2]=+g[a+1316>>2];g[b+324>>2]=+g[a+1364>>2];c[b+252>>2]=d[a+1309>>0];g[b+300>>2]=+g[a+1340>>2];g[b+280>>2]=+g[a+1320>>2];g[b+328>>2]=+g[a+1368>>2];c[b+256>>2]=d[a+1310>>0];g[b+304>>2]=+g[a+1344>>2];g[b+284>>2]=+g[a+1324>>2];g[b+332>>2]=+g[a+1372>>2];c[b+260>>2]=d[a+1311>>0];g[b+308>>2]=+g[a+1348>>2];g[b+288>>2]=+g[a+1328>>2];g[b+336>>2]=+g[a+1376>>2];c[b+264>>2]=d[a+1312>>0];g[b+312>>2]=+g[a+1352>>2];g[b+292>>2]=+g[a+1332>>2];g[b+340>>2]=+g[a+1380>>2];c[b+268>>2]=d[a+1313>>0];g[b+316>>2]=+g[a+1356>>2];g[b+296>>2]=+g[a+1336>>2];g[b+344>>2]=+g[a+1384>>2];c[b+272>>2]=d[a+1314>>0];g[b+320>>2]=+g[a+1360>>2];i=f;return 2744}function Sq(a){a=a|0;return 348}function Tq(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function Uq(a){a=a|0;var b=0,d=0,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.0;d=i;i=i+144|0;g[a+36>>2]=0.0;c[d+128>>2]=0;c[d+132>>2]=0;c[d+136>>2]=0;c[d+140>>2]=0;b=0;do{e=d+128+(b<<2)|0;g[e>>2]=1.0;f=c[a+28>>2]|0;G=+g[f+4>>2];g[d+80>>2]=G;C=+g[f+20>>2];g[d+84>>2]=C;j=+g[f+36>>2];g[d+88>>2]=j;g[d+92>>2]=0.0;F=+g[f+8>>2];g[d+96>>2]=F;B=+g[f+24>>2];g[d+100>>2]=B;u=+g[f+40>>2];g[d+104>>2]=u;g[d+108>>2]=0.0;E=+g[f+12>>2];g[d+112>>2]=E;A=+g[f+28>>2];g[d+116>>2]=A;n=+g[f+44>>2];g[d+120>>2]=n;g[d+124>>2]=0.0;h=c[a+32>>2]|0;x=+g[h+4>>2];g[d+32>>2]=x;t=+g[h+20>>2];g[d+36>>2]=t;o=+g[h+36>>2];g[d+40>>2]=o;g[d+44>>2]=0.0;w=+g[h+8>>2];g[d+48>>2]=w;s=+g[h+24>>2];g[d+52>>2]=s;m=+g[h+40>>2];g[d+56>>2]=m;g[d+60>>2]=0.0;v=+g[h+12>>2];g[d+64>>2]=v;r=+g[h+28>>2];g[d+68>>2]=r;k=+g[h+44>>2];g[d+72>>2]=k;g[d+76>>2]=0.0;y=+g[a+300>>2];q=+g[a+304>>2];l=+g[a+308>>2];D=+g[f+52>>2];z=+g[f+56>>2];p=+g[f+60>>2];g[d+16>>2]=y*G+q*F+l*E+D-D;g[d+20>>2]=y*C+q*B+l*A+z-z;g[d+24>>2]=y*j+q*u+l*n+p-p;g[d+28>>2]=0.0;p=+g[a+316>>2];n=+g[a+320>>2];l=+g[a+324>>2];u=+g[h+52>>2];q=+g[h+56>>2];j=+g[h+60>>2];g[d>>2]=p*x+n*w+l*v+u-u;g[d+4>>2]=p*t+n*s+l*r+q-q;g[d+8>>2]=p*o+n*m+l*k+j-j;g[d+12>>2]=0.0;h=c[a+28>>2]|0;f=c[a+32>>2]|0;Kq(a+(b*84|0)+48|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 Vq(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 Wq(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.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;h=i;l=c[a+28>>2]|0;m=c[a+32>>2]|0;e=c[b+8>>2]|0;g[e>>2]=1.0;j=c[b+24>>2]|0;g[e+(j+1<<2)>>2]=1.0;g[e+((j<<1)+2<<2)>>2]=1.0;n=+g[a+300>>2];s=+g[a+304>>2];d=+g[a+308>>2];q=+g[l+4>>2]*n+ +g[l+8>>2]*s+ +g[l+12>>2]*d;o=n*+g[l+20>>2]+s*+g[l+24>>2]+d*+g[l+28>>2];d=n*+g[l+36>>2]+s*+g[l+40>>2]+d*+g[l+44>>2];e=c[b+12>>2]|0;g[e>>2]=0.0;g[e+4>>2]=d;g[e+8>>2]=-o;g[e+12>>2]=0.0;g[e+(j<<2)>>2]=-d;g[e+(j+1<<2)>>2]=0.0;g[e+(j+2<<2)>>2]=q;g[e+(j+3<<2)>>2]=0.0;g[e+(j<<1<<2)>>2]=o;g[e+((j<<1|1)<<2)>>2]=-q;g[e+((j<<1)+2<<2)>>2]=0.0;g[e+((j<<1)+3<<2)>>2]=0.0;e=c[b+16>>2]|0;g[e>>2]=-1.0;g[e+(j+1<<2)>>2]=-1.0;g[e+((j<<1)+2<<2)>>2]=-1.0;s=+g[a+316>>2];n=+g[a+320>>2];f=+g[a+324>>2];r=+g[m+4>>2]*s+ +g[m+8>>2]*n+ +g[m+12>>2]*f;p=s*+g[m+20>>2]+n*+g[m+24>>2]+f*+g[m+28>>2];f=s*+g[m+36>>2]+n*+g[m+40>>2]+f*+g[m+44>>2];j=c[b+20>>2]|0;e=c[b+24>>2]|0;g[j>>2]=0.0;g[j+4>>2]=-f;g[j+8>>2]=p;g[j+12>>2]=0.0;g[j+(e<<2)>>2]=f;g[j+(e+1<<2)>>2]=0.0;g[j+(e+2<<2)>>2]=-r;g[j+(e+3<<2)>>2]=0.0;g[j+(e<<1<<2)>>2]=-p;g[j+((e<<1|1)<<2)>>2]=r;g[j+((e<<1)+2<<2)>>2]=0.0;g[j+((e<<1)+3<<2)>>2]=0.0;j=c[a+332>>2]|0;n=+g[((j&1|0)==0?b+4|0:a+336|0)>>2]*+g[b>>2];k=c[b+28>>2]|0;g[k>>2]=n*(r+ +g[m+52>>2]-q-+g[l+52>>2]);g[k+(e<<2)>>2]=n*(p+ +g[m+56>>2]-o-+g[l+56>>2]);g[k+(e<<1<<2)>>2]=n*(f+ +g[m+60>>2]-d-+g[l+60>>2]);if(j&2){j=c[b+32>>2]|0;g[j>>2]=+g[a+340>>2];g[j+(e<<2)>>2]=+g[a+340>>2];g[j+(e<<1<<2)>>2]=+g[a+340>>2]}f=+g[a+356>>2];if(f>0.0){g[c[b+36>>2]>>2]=-f;g[c[b+40>>2]>>2]=f;d=+g[a+356>>2]}else d=f;if(d>0.0){g[(c[b+36>>2]|0)+(e<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<2)>>2]=f;d=+g[a+356>>2]}if(!(d>0.0)){e=a+352|0;d=+g[e>>2];e=b+52|0;g[e>>2]=d;i=h;return}g[(c[b+36>>2]|0)+(e<<1<<2)>>2]=-f;g[(c[b+40>>2]|0)+(e<<1<<2)>>2]=f;e=a+352|0;d=+g[e>>2];e=b+52|0;g[e>>2]=d;i=h;return}function Xq(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if((e|0)!=-1){i=f;return}if((b|0)==2|(b|0)==1){g[a+336>>2]=d;c[a+332>>2]=c[a+332>>2]|1;i=f;return}else if((b|0)==4|(b|0)==3){g[a+340>>2]=d;c[a+332>>2]=c[a+332>>2]|2;i=f;return}else{i=f;return}}function Yq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;e=i;do if((c|0)==-1)if((b|0)==2|(b|0)==1){d=+g[a+336>>2];break}else if((b|0)==4|(b|0)==3){d=+g[a+340>>2];break}else{d=3402823466385288598117041.0e14;break}else d=3402823466385288598117041.0e14;while(0);i=e;return +d}function Zq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;br(a,b,c)|0;g[b+52>>2]=+g[a+300>>2];g[b+56>>2]=+g[a+304>>2];g[b+60>>2]=+g[a+308>>2];g[b+64>>2]=+g[a+312>>2];g[b+68>>2]=+g[a+316>>2];g[b+72>>2]=+g[a+320>>2];g[b+76>>2]=+g[a+324>>2];g[b+80>>2]=+g[a+328>>2];i=d;return 2888}function _q(a){a=a|0;return 84}function $q(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function ar(){var b=0,d=0.0,e=0.0;b=i;i=i+16|0;if((a[3576]|0)==0?(Xa(3576)|0)!=0:0){c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;tp(2960,0.0,0,0,b);ab(3576)}c[791]=c[791]|1;g[826]=0.0;d=+g[836]*0.0;e=+g[837]*0.0;g[831]=+g[835]*0.0;g[832]=d;g[833]=e;g[834]=0.0;c[839]=0;c[840]=0;c[841]=0;c[842]=0;e=+g[828]*0.0;d=+g[829]*0.0;g[880]=+g[827]*0.0;g[881]=e;g[882]=d;g[883]=0.0;i=b;return}function br(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0;h=i;c[b>>2]=ec[c[(c[e>>2]|0)+28>>2]&31](e,c[a+28>>2]|0)|0;c[b+4>>2]=ec[c[(c[e>>2]|0)+28>>2]&31](e,c[a+32>>2]|0)|0;f=ec[c[(c[e>>2]|0)+40>>2]&31](e,a)|0;j=ec[c[(c[e>>2]|0)+28>>2]&31](e,f)|0;c[b+8>>2]=j;if(j)Lb[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];g[b+44>>2]=+g[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];g[b+28>>2]=+g[a+36>>2];g[b+32>>2]=+g[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{i=h;return 2928}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));i=h;return 2928}function cr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=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.0,t=0.0,u=0.0;k=i;i=i+256|0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)!=0:0){ip(k+64|0,e,b+116|0);c[b+824>>2]=c[k+64>>2];c[b+828>>2]=c[k+68>>2];c[b+832>>2]=c[k+72>>2];c[b+836>>2]=c[k+76>>2];c[b+840>>2]=c[k+80>>2];c[b+844>>2]=c[k+84>>2];c[b+848>>2]=c[k+88>>2];c[b+852>>2]=c[k+92>>2];c[b+856>>2]=c[k+96>>2];c[b+860>>2]=c[k+100>>2];c[b+864>>2]=c[k+104>>2];c[b+868>>2]=c[k+108>>2];c[b+872>>2]=c[k+112>>2];c[b+876>>2]=c[k+116>>2];c[b+880>>2]=c[k+120>>2];c[b+884>>2]=c[k+124>>2];ip(k,d,b+52|0);c[b+888>>2]=c[k+0>>2];c[b+892>>2]=c[k+4>>2];c[b+896>>2]=c[k+8>>2];c[b+900>>2]=c[k+12>>2];c[b+904>>2]=c[k+16>>2];c[b+908>>2]=c[k+20>>2];c[b+912>>2]=c[k+24>>2];c[b+916>>2]=c[k+28>>2];c[b+920>>2]=c[k+32>>2];c[b+924>>2]=c[k+36>>2];c[b+928>>2]=c[k+40>>2];c[b+932>>2]=c[k+44>>2];c[b+936>>2]=c[k+48>>2];c[b+940>>2]=c[k+52>>2];c[b+944>>2]=c[k+56>>2];c[b+948>>2]=c[k+60>>2]}else{ip(k+192|0,d,b+52|0);c[b+824>>2]=c[k+192>>2];c[b+828>>2]=c[k+196>>2];c[b+832>>2]=c[k+200>>2];c[b+836>>2]=c[k+204>>2];c[b+840>>2]=c[k+208>>2];c[b+844>>2]=c[k+212>>2];c[b+848>>2]=c[k+216>>2];c[b+852>>2]=c[k+220>>2];c[b+856>>2]=c[k+224>>2];c[b+860>>2]=c[k+228>>2];c[b+864>>2]=c[k+232>>2];c[b+868>>2]=c[k+236>>2];c[b+872>>2]=c[k+240>>2];c[b+876>>2]=c[k+244>>2];c[b+880>>2]=c[k+248>>2];c[b+884>>2]=c[k+252>>2];ip(k+128|0,e,b+116|0);c[b+888>>2]=c[k+128>>2];c[b+892>>2]=c[k+132>>2];c[b+896>>2]=c[k+136>>2];c[b+900>>2]=c[k+140>>2];c[b+904>>2]=c[k+144>>2];c[b+908>>2]=c[k+148>>2];c[b+912>>2]=c[k+152>>2];c[b+916>>2]=c[k+156>>2];c[b+920>>2]=c[k+160>>2];c[b+924>>2]=c[k+164>>2];c[b+928>>2]=c[k+168>>2];c[b+932>>2]=c[k+172>>2];c[b+936>>2]=c[k+176>>2];c[b+940>>2]=c[k+180>>2];c[b+944>>2]=c[k+184>>2];c[b+948>>2]=c[k+188>>2]}c[b+968>>2]=c[b+872>>2];c[b+972>>2]=c[b+876>>2];c[b+976>>2]=c[b+880>>2];c[b+980>>2]=c[b+884>>2];c[b+984>>2]=c[b+936>>2];c[b+988>>2]=c[b+940>>2];c[b+992>>2]=c[b+944>>2];c[b+996>>2]=c[b+948>>2];f=+g[b+824>>2];h=+g[b+840>>2];j=+g[b+856>>2];g[b+952>>2]=f;g[b+956>>2]=h;g[b+960>>2]=j;g[b+964>>2]=0.0;if((a[b+180>>0]|0)==0?(a[b+48>>0]|0)==0:0){t=+g[b+968>>2];n=t-+g[b+984>>2];r=+g[b+972>>2];m=r-+g[b+988>>2];q=+g[b+976>>2];l=q-+g[b+992>>2];g[b+1016>>2]=n;g[b+1020>>2]=m;g[b+1024>>2]=l;g[b+1028>>2]=0.0;p=f*n;s=h*m;s=p+s;p=j*l;p=s+p;s=f*p;h=h*p;f=j*p;j=t+s;h=r+h;f=q+f;d=b+1e3|0;g[d>>2]=j;d=b+1004|0;g[d>>2]=h;d=b+1008|0;g[d>>2]=f;d=b+1012|0;g[d>>2]=0.0;d=b+1032|0;g[d>>2]=p;d=b+828|0;e=b+844|0;o=b+860|0;f=+g[d>>2];h=+g[e>>2];j=+g[o>>2];f=f*n;h=h*m;h=f+h;j=j*l;j=h+j;o=b+1036|0;g[o>>2]=j;o=b+832|0;e=b+848|0;d=b+864|0;j=+g[o>>2];h=+g[e>>2];f=+g[d>>2];j=j*n;h=h*m;h=j+h;f=f*l;f=h+f;d=b+1040|0;g[d>>2]=f;i=k;return}u=+g[b+968>>2];m=+g[b+984>>2]-u;t=+g[b+972>>2];p=+g[b+988>>2]-t;r=+g[b+976>>2];q=+g[b+992>>2]-r;g[b+1016>>2]=m;g[b+1020>>2]=p;g[b+1024>>2]=q;g[b+1028>>2]=0.0;n=f*m;s=h*p;s=n+s;n=j*q;n=s+n;s=f*n;h=h*n;l=j*n;s=u+s;j=t+h;l=r+l;d=b+1e3|0;g[d>>2]=s;d=b+1004|0;g[d>>2]=j;d=b+1008|0;g[d>>2]=l;d=b+1012|0;g[d>>2]=0.0;d=b+1032|0;g[d>>2]=n;d=b+828|0;e=b+844|0;o=b+860|0;n=+g[d>>2];l=+g[e>>2];j=+g[o>>2];n=n*m;l=l*p;l=n+l;j=j*q;j=l+j;o=b+1036|0;g[o>>2]=j;o=b+832|0;e=b+848|0;d=b+864|0;j=+g[o>>2];l=+g[e>>2];n=+g[d>>2];m=j*m;p=l*p;p=m+p;q=n*q;q=p+q;d=b+1040|0;g[d>>2]=q;i=k;return}function dr(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0.0,j=0.0,k=0,l=0,m=0.0,n=0.0;l=i;if(a[b+48>>0]|0){c[d>>2]=0;c[d+4>>2]=0;i=l;return}c[d>>2]=4;c[d+4>>2]=2;cr(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){n=+g[b+892>>2];m=+g[b+908>>2];j=+g[b+924>>2];j=+Lq(+X(+(+g[b+832>>2]*n+ +g[b+848>>2]*m+ +g[b+864>>2]*j),+(+g[b+828>>2]*n+ +g[b+844>>2]*m+ +g[b+860>>2]*j)),f,h);g[b+1084>>2]=j;if(j>2]=j-f;a[b+297>>0]=1;k=1;break}if(j>h){g[b+1088>>2]=j-h;a[b+297>>0]=1;k=1}else k=0}else k=0;while(0);a[b+296>>0]=0;j=+g[b+1032>>2];g[b+1080>>2]=j;h=+g[b+184>>2];f=+g[b+188>>2];do if(h<=f){if(j>f){g[b+1032>>2]=j-f;a[b+296>>0]=1;e=14;break}if(j>2]=j-h;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):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(k<<24>>24==0?(a[b+1112>>0]|0)==0:0){i=l;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;i=l;return}function er(b,d){b=b|0;d=d|0;var e=0.0,f=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,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,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=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,Z=0.0,_=0,aa=0,ba=0.0,ca=0.0,da=0.0,ea=0;ea=i;_=c[b+28>>2]|0;aa=c[b+32>>2]|0;h=+g[_+344>>2];e=+g[aa+344>>2];f=c[d+24>>2]|0;Z=(a[b+180>>0]|0)!=0?1.0:-1.0;T=+g[b+936>>2]-+g[b+872>>2];V=+g[b+940>>2]-+g[b+876>>2];U=+g[b+944>>2]-+g[b+880>>2];if(h<1.1920928955078125e-07)Y=1;else Y=e<1.1920928955078125e-07;if(h+e>0.0)W=e/(h+e);else W=.5;X=1.0-W;m=+g[b+824>>2];l=+g[b+840>>2];k=+g[b+856>>2];h=+g[b+888>>2];e=+g[b+904>>2];w=+g[b+920>>2];t=(a[b+49>>0]|0)==0;do if(!t){q=W*m+X*h;o=W*l+X*e;p=W*k+X*w;n=1.0/+P(+(q*q+o*o+p*p));if(+O(+(p*n))>.7071067690849304){C=1.0/+P(+(p*n*(p*n)+o*n*(o*n)));A=0.0;B=-(p*n*C);D=o*n*C;E=(p*n*(p*n)+o*n*(o*n))*C;F=-(q*n*(o*n*C));ba=q*n;ca=o*n;da=p*n;C=q*n*-(p*n*C);break}else{C=1.0/+P(+(q*n*(q*n)+o*n*(o*n)));A=-(o*n*C);B=q*n*C;D=0.0;E=-(p*n*(q*n*C));F=p*n*-(o*n*C);ba=q*n;ca=o*n;da=p*n;C=(q*n*(q*n)+o*n*(o*n))*C;break}}else{A=+g[b+828>>2];B=+g[b+844>>2];D=+g[b+860>>2];E=+g[b+832>>2];F=+g[b+848>>2];ba=m;ca=l;da=k;C=+g[b+864>>2]}while(0);u=c[d+12>>2]|0;g[u>>2]=A;g[u+4>>2]=B;g[u+8>>2]=D;g[u+(f<<2)>>2]=E;g[u+(f+1<<2)>>2]=F;g[u+(f+2<<2)>>2]=C;p=-A;r=c[d+20>>2]|0;g[r>>2]=p;o=-B;g[r+4>>2]=o;n=-D;g[r+8>>2]=n;x=-E;g[r+(f<<2)>>2]=x;y=-F;g[r+(f+1<<2)>>2]=y;z=-C;g[r+(f+2<<2)>>2]=z;v=c[b+300>>2]|0;q=+g[b+280>>2];if(!(v&128))q=q*+g[d+4>>2];G=q*+g[d>>2];R=c[d+28>>2]|0;g[R>>2]=G*((l*w-k*e)*A+(k*h-m*w)*B+(m*e-l*h)*D);g[R+(f<<2)>>2]=G*((l*w-k*e)*E+(k*h-m*w)*F+(m*e-l*h)*C);if(v&64){R=c[d+32>>2]|0;g[R>>2]=+g[b+292>>2];g[R+(f<<2)>>2]=+g[b+292>>2]}m=+g[_+52>>2];G=+g[_+56>>2];q=+g[_+60>>2];e=+g[aa+52>>2];l=+g[aa+56>>2];k=+g[aa+60>>2];if(t){w=(l-G)*D-(k-q)*B;h=(k-q)*A-(e-m)*D;H=(e-m)*B-(l-G)*A;g[u+(f<<1<<2)>>2]=W*w;g[u+((f<<1|1)<<2)>>2]=W*h;g[u+((f<<1)+2<<2)>>2]=W*H;g[r+(f<<1<<2)>>2]=X*w;g[r+((f<<1|1)<<2)>>2]=X*h;g[r+((f<<1)+2<<2)>>2]=X*H;H=(l-G)*C-(k-q)*F;h=(k-q)*E-(e-m)*C;w=(e-m)*F-(l-G)*E;g[u+(f*3<<2)>>2]=W*H;g[u+((f*3|0)+1<<2)>>2]=W*h;g[u+((f*3|0)+2<<2)>>2]=W*w;g[r+(f*3<<2)>>2]=X*H;g[r+((f*3|0)+1<<2)>>2]=X*h;g[r+((f*3|0)+2<<2)>>2]=X*w;j=c[d+8>>2]|0;g[j+(f<<1<<2)>>2]=A;g[j+((f<<1|1)<<2)>>2]=B;g[j+((f<<1)+2<<2)>>2]=D;g[j+(f*3<<2)>>2]=E;g[j+((f*3|0)+1<<2)>>2]=F;g[j+((f*3|0)+2<<2)>>2]=C;s=c[d+16>>2]|0;g[s+(f<<1<<2)>>2]=p;g[s+((f<<1|1)<<2)>>2]=o;g[s+((f<<1)+2<<2)>>2]=n;g[s+(f*3<<2)>>2]=x;g[s+((f*3|0)+1<<2)>>2]=y;g[s+((f*3|0)+2<<2)>>2]=z;S=v;w=A;z=B;x=D;y=E;h=C;R=r;m=e-m;D=k-q;A=l-G;E=0.0;B=0.0;C=0.0;e=0.0;o=0.0;p=0.0}else{M=+g[b+936>>2]-e;N=+g[b+940>>2]-l;K=+g[b+944>>2]-k;J=ba*M+ca*N+da*K;I=ba*J;L=ca*J;J=da*J;y=+g[b+872>>2]-m;z=+g[b+876>>2]-G;A=+g[b+880>>2]-q;q=ba*y+ca*z+da*A;o=ba*q;p=ca*q;q=da*q;k=+g[b+1080>>2]-+g[b+1032>>2];G=o+ba*k-I;H=p+ca*k-L;k=q+da*k-J;E=y-o+W*G;C=z-p+W*H;B=A-q+W*k;o=W*(M-I)+X*(y-o);p=W*(N-L)+X*(z-p);q=W*(K-J)+X*(A-q);if(o*o+p*p+q*q>1.1920928955078125e-07){w=1.0/+P(+(o*o+p*p+q*q));x=w*q;z=w*p;w=o*w}else{x=+g[b+860>>2];z=+g[b+844>>2];w=+g[b+828>>2]}y=ca*x-da*z;e=da*w-ba*x;h=ba*z-ca*w;g[u+(f<<1<<2)>>2]=C*x-B*z;g[u+((f<<1|1)<<2)>>2]=B*w-E*x;g[u+((f<<1)+2<<2)>>2]=E*z-C*w;v=c[d+20>>2]|0;g[v+(f<<1<<2)>>2]=-((N-L-X*H)*x-(K-J-X*k)*z);g[v+((f<<1|1)<<2)>>2]=-((K-J-X*k)*w-(M-I-X*G)*x);g[v+((f<<1)+2<<2)>>2]=-((M-I-X*G)*z-(N-L-X*H)*w);q=(N-L-X*H)*h-(K-J-X*k)*e;p=(K-J-X*k)*y-(M-I-X*G)*h;o=(M-I-X*G)*e-(N-L-X*H)*y;if(Y?(a[b+297>>0]|0)!=0:0){q=X*q;p=X*p;o=X*o;n=W*(C*h-B*e);m=W*(E*e-C*y);l=W*(B*y-E*h)}else{n=C*h-B*e;m=E*e-C*y;l=B*y-E*h}R=c[d+12>>2]|0;g[R+(f*3<<2)>>2]=n;g[R+((f*3|0)+1<<2)>>2]=l;g[R+((f*3|0)+2<<2)>>2]=m;R=c[d+20>>2]|0;g[R+(f*3<<2)>>2]=-q;g[R+((f*3|0)+1<<2)>>2]=-p;g[R+((f*3|0)+2<<2)>>2]=-o;j=c[d+8>>2]|0;g[j+(f<<1<<2)>>2]=w;g[j+((f<<1|1)<<2)>>2]=z;g[j+((f<<1)+2<<2)>>2]=x;g[j+(f*3<<2)>>2]=y;g[j+((f*3|0)+1<<2)>>2]=e;g[j+((f*3|0)+2<<2)>>2]=h;s=c[d+16>>2]|0;g[s+(f<<1<<2)>>2]=-w;g[s+((f<<1|1)<<2)>>2]=-z;g[s+((f<<1)+2<<2)>>2]=-x;g[s+(f*3<<2)>>2]=-y;g[s+((f*3|0)+1<<2)>>2]=-e;g[s+((f*3|0)+2<<2)>>2]=-h;S=c[b+300>>2]|0;F=e;m=0.0;D=0.0;A=0.0;e=M-I-X*G;o=K-J-X*k;p=N-L-X*H}q=+g[b+264>>2];if(!(S&32))q=q*+g[d+4>>2];G=q*+g[d>>2];Q=c[d+28>>2]|0;g[Q+(f<<1<<2)>>2]=G*(T*w+V*z+U*x);g[Q+(f*3<<2)>>2]=G*(T*y+V*F+U*h);if(S&16){v=c[d+32>>2]|0;g[v+(f<<1<<2)>>2]=+g[b+276>>2];g[v+(f*3<<2)>>2]=+g[b+276>>2]}if(!(a[b+296>>0]|0)){u=0;k=0.0}else{k=Z*+g[b+1032>>2];u=k>0.0?2:1}t=a[b+1096>>0]|0;f=(u|0)!=0;if(t&255|u){v=c[d+24>>2]<<2;g[j+(v<<2)>>2]=ba;g[j+((v|1)<<2)>>2]=ca;g[j+((v|2)<<2)>>2]=da;g[s+(v<<2)>>2]=-ba;g[s+((v|1)<<2)>>2]=-ca;g[s+((v|2)<<2)>>2]=-da;if(a[b+49>>0]|0){if(!Y){s=c[d+12>>2]|0;g[s+(v<<2)>>2]=da*C-ca*B;g[s+((v|1)<<2)>>2]=ba*B-da*E;g[s+((v|2)<<2)>>2]=ca*E-ba*C;g[R+(v<<2)>>2]=-(da*p-ca*o);g[R+((v|1)<<2)>>2]=-(ba*o-da*e);g[R+((v|2)<<2)>>2]=-(ca*e-ba*p)}}else{C=da*A-ca*D;E=ba*D-da*m;G=ca*m-ba*A;s=c[d+12>>2]|0;g[s+(v<<2)>>2]=W*C;g[s+((v|1)<<2)>>2]=W*E;g[s+((v|2)<<2)>>2]=W*G;g[R+(v<<2)>>2]=X*C;g[R+((v|1)<<2)>>2]=X*E;g[R+((v|2)<<2)>>2]=X*G}s=+g[b+184>>2]==+g[b+188>>2];g[Q+(v<<2)>>2]=0.0;r=(c[d+36>>2]|0)+(v<<2)|0;g[r>>2]=0.0;j=(c[d+40>>2]|0)+(v<<2)|0;g[j>>2]=0.0;l=+g[((S&512|0)==0?d+4|0:b+232|0)>>2];if(!(f&s|t<<24>>24==0)){if(S&1)g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+212>>2];m=+g[b+1100>>2];q=+g[b+1080>>2];p=+g[b+184>>2];o=+g[b+188>>2];n=l*+g[d>>2];do if(!(p>o))if(!(p==o)){if(m/n<0.0)if(q>=p?p-m/n>q:0){p=(p-q)/(m/n);break}else{p=q0.0)if(q<=o?o-m/no?0.0:1.0;break}else p=0.0}else p=0.0;else p=1.0;while(0);g[Q+(v<<2)>>2]=+g[Q+(v<<2)>>2]-Z*p*m;g[r>>2]=+g[r>>2]-+g[b+1104>>2]*+g[d>>2];g[j>>2]=+g[b+1104>>2]*+g[d>>2]+ +g[j>>2]}if(f){g[Q+(v<<2)>>2]=+g[Q+(v<<2)>>2]+k*(l*+g[d>>2]);if(S&256)g[(c[d+32>>2]|0)+(v<<2)>>2]=+g[b+244>>2];do if(!s)if((u|0)==1){g[r>>2]=-3402823466385288598117041.0e14;g[j>>2]=0.0;break}else{g[r>>2]=0.0;g[j>>2]=3402823466385288598117041.0e14;break}else{g[r>>2]=-3402823466385288598117041.0e14;g[j>>2]=3402823466385288598117041.0e14}while(0);G=1.0-+g[b+240>>2];e=+O(+G);do if(!(G!=G|0.0!=0.0|G==0.0)){h=Z*(ba*+g[_+312>>2]+ca*+g[_+316>>2]+da*+g[_+320>>2]-(ba*+g[aa+312>>2]+ca*+g[aa+316>>2]+da*+g[aa+320>>2]));if((u|0)==1){if(!(h<0.0))break;if(!(+g[Q+(v<<2)>>2]<-(e*h)))break;g[Q+(v<<2)>>2]=-(e*h);break}else{if(!(h>0.0))break;if(!(+g[Q+(v<<2)>>2]>-(e*h)))break;g[Q+(v<<2)>>2]=-(e*h);break}}while(0);g[Q+(v<<2)>>2]=+g[b+232>>2]*+g[Q+(v<<2)>>2];f=5}else f=5}else f=4;if(!(a[b+297>>0]|0)){t=0;q=0.0}else{q=+g[b+1088>>2];t=q>0.0?1:2}j=a[b+1112>>0]|0;r=(t|0)!=0;if(!(j&255|t)){i=ea;return}s=$(c[d+24>>2]|0,f)|0;v=c[d+12>>2]|0;g[v+(s<<2)>>2]=ba;g[v+(s+1<<2)>>2]=ca;g[v+(s+2<<2)>>2]=da;g[R+(s<<2)>>2]=-ba;g[R+(s+1<<2)>>2]=-ca;g[R+(s+2<<2)>>2]=-da;n=+g[b+192>>2];o=+g[b+196>>2];p=+g[((S&2048|0)==0?d+4|0:b+248|0)>>2];if(!(r&n==o|j<<24>>24==0)){if(!(S&4)){e=o;k=n}else{g[(c[d+32>>2]|0)+(s<<2)>>2]=+g[b+228>>2];e=+g[b+196>>2];k=+g[b+192>>2]}h=+g[b+1084>>2];m=+g[b+1116>>2];l=p*+g[d>>2];do if(!(k>e))if(!(k==e)){if(m/l<0.0)if(h>=k?k-m/l>h:0){h=(k-h)/(m/l);break}else{h=h0.0)if(h<=e?e-m/le?0.0:1.0;break}else h=0.0}else h=0.0;else h=1.0;while(0);g[Q+(s<<2)>>2]=h*m;g[(c[d+36>>2]|0)+(s<<2)>>2]=-(+g[b+1120>>2]*+g[d>>2]);g[(c[d+40>>2]|0)+(s<<2)>>2]=+g[b+1120>>2]*+g[d>>2]}if(!r){i=ea;return}g[Q+(s<<2)>>2]=+g[Q+(s<<2)>>2]+q*(p*+g[d>>2]);if(S&1024)g[(c[d+32>>2]|0)+(s<<2)>>2]=+g[b+260>>2];do if(!(n==o)){f=(c[d+36>>2]|0)+(s<<2)|0;if((t|0)==1){g[f>>2]=0.0;g[(c[d+40>>2]|0)+(s<<2)>>2]=3402823466385288598117041.0e14;break}else{g[f>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(s<<2)>>2]=0.0;break}}else{g[(c[d+36>>2]|0)+(s<<2)>>2]=-3402823466385288598117041.0e14;g[(c[d+40>>2]|0)+(s<<2)>>2]=3402823466385288598117041.0e14}while(0);G=1.0-+g[b+256>>2];h=+O(+G);do if(!(G!=G|0.0!=0.0|G==0.0)){R=c[b+28>>2]|0;v=c[b+32>>2]|0;e=ba*+g[R+328>>2]+ca*+g[R+332>>2]+da*+g[R+336>>2]-(ba*+g[v+328>>2]+ca*+g[v+332>>2]+da*+g[v+336>>2]);if((t|0)==1){if(!(e<0.0))break;if(!(+g[Q+(s<<2)>>2]<-(h*e)))break;g[Q+(s<<2)>>2]=-(h*e);break}else{if(!(e>0.0))break;if(!(+g[Q+(s<<2)>>2]>-(h*e)))break;g[Q+(s<<2)>>2]=-(h*e);break}}while(0);g[Q+(s<<2)>>2]=+g[b+248>>2]*+g[Q+(s<<2)>>2];i=ea;return}function fr(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0;f=i;if((b|0)==3){if((e|0)<1){g[a+212>>2]=d;c[a+300>>2]=c[a+300>>2]|1;i=f;return}if((e|0)!=3){i=f;return}g[a+228>>2]=d;c[a+300>>2]=c[a+300>>2]|4;i=f;return}else if((b|0)==2){if((e|0)<1){g[a+232>>2]=d;c[a+300>>2]=c[a+300>>2]|512;i=f;return}if((e|0)<3){g[a+264>>2]=d;c[a+300>>2]=c[a+300>>2]|32;i=f;return}if((e|0)==3){g[a+248>>2]=d;c[a+300>>2]=c[a+300>>2]|2048;i=f;return}if((e|0)>=6){i=f;return}g[a+280>>2]=d;c[a+300>>2]=c[a+300>>2]|128;i=f;return}else if((b|0)==4){if((e|0)<1){g[a+244>>2]=d;c[a+300>>2]=c[a+300>>2]|256;i=f;return}if((e|0)<3){g[a+276>>2]=d;c[a+300>>2]=c[a+300>>2]|16;i=f;return}if((e|0)==3){g[a+260>>2]=d;c[a+300>>2]=c[a+300>>2]|1024;i=f;return}if((e|0)>=6){i=f;return}g[a+292>>2]=d;c[a+300>>2]=c[a+300>>2]|64;i=f;return}else{i=f;return}}function gr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;e=i;do if((b|0)==3){if((c|0)<1){d=+g[a+212>>2];break}if((c|0)==3)d=+g[a+228>>2];else d=3402823466385288598117041.0e14}else if((b|0)==2){if((c|0)<1){d=+g[a+232>>2];break}if((c|0)<3){d=+g[a+264>>2];break}if((c|0)==3){d=+g[a+248>>2];break}if((c|0)<6)d=+g[a+280>>2];else d=3402823466385288598117041.0e14}else if((b|0)==4){if((c|0)<1){d=+g[a+244>>2];break}if((c|0)<3){d=+g[a+276>>2];break}if((c|0)==3){d=+g[a+260>>2];break}if((c|0)<6)d=+g[a+292>>2];else d=3402823466385288598117041.0e14}else d=3402823466385288598117041.0e14;while(0);i=e;return +d}function hr(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;br(a,b,e)|0;g[b+52>>2]=+g[a+52>>2];g[b+56>>2]=+g[a+56>>2];g[b+60>>2]=+g[a+60>>2];g[b+64>>2]=+g[a+64>>2];g[b+68>>2]=+g[a+68>>2];g[b+72>>2]=+g[a+72>>2];g[b+76>>2]=+g[a+76>>2];g[b+80>>2]=+g[a+80>>2];g[b+84>>2]=+g[a+84>>2];g[b+88>>2]=+g[a+88>>2];g[b+92>>2]=+g[a+92>>2];g[b+96>>2]=+g[a+96>>2];g[b+100>>2]=+g[a+100>>2];g[b+104>>2]=+g[a+104>>2];g[b+108>>2]=+g[a+108>>2];g[b+112>>2]=+g[a+112>>2];g[b+116>>2]=+g[a+116>>2];g[b+120>>2]=+g[a+120>>2];g[b+124>>2]=+g[a+124>>2];g[b+128>>2]=+g[a+128>>2];g[b+132>>2]=+g[a+132>>2];g[b+136>>2]=+g[a+136>>2];g[b+140>>2]=+g[a+140>>2];g[b+144>>2]=+g[a+144>>2];g[b+148>>2]=+g[a+148>>2];g[b+152>>2]=+g[a+152>>2];g[b+156>>2]=+g[a+156>>2];g[b+160>>2]=+g[a+160>>2];g[b+164>>2]=+g[a+164>>2];g[b+168>>2]=+g[a+168>>2];g[b+172>>2]=+g[a+172>>2];g[b+176>>2]=+g[a+176>>2];g[b+180>>2]=+g[a+188>>2];g[b+184>>2]=+g[a+184>>2];g[b+188>>2]=+g[a+196>>2];g[b+192>>2]=+g[a+192>>2];c[b+196>>2]=d[a+180>>0];c[b+200>>2]=d[a+49>>0];i=f;return 3680}function ir(a){a=a|0;return 204}function jr(a){a=a|0;var b=0;b=i;if(!a){i=b;return}c[5110]=(c[5110]|0)+1;RE(c[a+-4>>2]|0);i=b;return}function kr(b,d){b=b|0;d=d|0;var e=0,f=0,h=0.0,j=0,k=0,l=0;j=i;if(a[b+527>>0]|0){c[d>>2]=0;c[d+4>>2]=0;i=j;return}c[d>>2]=3;c[d+4>>2]=3;l=c[b+28>>2]|0;k=c[b+32>>2]|0;lr(b,l+4|0,k+4|0,l+264|0,k+264|0);if(((a[b+526>>0]|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)){i=j;return}c[d>>2]=(c[d>>2]|0)+1;c[d+4>>2]=(c[d+4>>2]|0)+-1;i=j;return}function lr(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,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,Q=0.0,T=0.0,V=0.0,W=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;ma=i;i=i+272|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)!=0?(a[b+527>>0]|0)==0:0){ca=+g[b+556>>2];W=+g[b+560>>2];da=+g[b+564>>2];Y=+g[b+568>>2];_=ca*(2.0/(ca*ca+W*W+da*da+Y*Y));fa=W*(2.0/(ca*ca+W*W+da*da+Y*Y));$=da*(2.0/(ca*ca+W*W+da*da+Y*Y));ip(ma+208|0,d,b+300|0);ip(ma+144|0,e,b+364|0);o=+g[ma+144>>2];p=+g[ma+148>>2];l=+g[ma+152>>2];K=(1.0-(W*fa+da*$))*o+(ca*fa+Y*$)*p+(ca*$-Y*fa)*l;L=(ca*fa-Y*$)*o+(1.0-(ca*_+da*$))*p+(W*$+Y*_)*l;M=(ca*$+Y*fa)*o+(W*$-Y*_)*p+(1.0-(ca*_+W*fa))*l;q=+g[ma+160>>2];r=+g[ma+164>>2];k=+g[ma+168>>2];Q=(1.0-(W*fa+da*$))*q+(ca*fa+Y*$)*r+(ca*$-Y*fa)*k;T=(ca*fa-Y*$)*q+(1.0-(ca*_+da*$))*r+(W*$+Y*_)*k;V=(ca*$+Y*fa)*q+(W*$-Y*_)*r+(1.0-(ca*_+W*fa))*k;t=+g[ma+176>>2];G=+g[ma+180>>2];H=+g[ma+184>>2];ba=(1.0-(W*fa+da*$))*t+(ca*fa+Y*$)*G+(ca*$-Y*fa)*H;da=(ca*fa-Y*$)*t+(1.0-(ca*_+da*$))*G+(W*$+Y*_)*H;fa=(ca*$+Y*fa)*t+(W*$-Y*_)*G+(1.0-(ca*_+W*fa))*H;W=+g[ma+208>>2];_=+g[ma+224>>2];ca=+g[ma+240>>2];Y=+g[ma+212>>2];$=+g[ma+228>>2];ea=+g[ma+244>>2];Z=+g[ma+216>>2];aa=+g[ma+232>>2];ga=+g[ma+248>>2];I=-+g[ma+256>>2];J=-+g[ma+260>>2];j=-+g[ma+264>>2];l=o*0.0+p*0.0+l*0.0+ +g[ma+192>>2]+(M*(Z*I+aa*J+ga*j)+(K*(W*I+_*J+ca*j)+L*(Y*I+$*J+ea*j)));k=q*0.0+r*0.0+k*0.0+ +g[ma+196>>2]+(V*(Z*I+aa*J+ga*j)+(Q*(W*I+_*J+ca*j)+T*(Y*I+$*J+ea*j)));j=t*0.0+G*0.0+H*0.0+ +g[ma+200>>2]+(fa*(Z*I+aa*J+ga*j)+(ba*(W*I+_*J+ca*j)+da*(Y*I+$*J+ea*j)));g[ma+80>>2]=K*W+L*Y+M*Z;g[ma+84>>2]=K*_+L*$+M*aa;g[ma+88>>2]=K*ca+L*ea+M*ga;g[ma+92>>2]=0.0;g[ma+96>>2]=Q*W+T*Y+V*Z;g[ma+100>>2]=Q*_+T*$+V*aa;g[ma+104>>2]=Q*ca+T*ea+V*ga;g[ma+108>>2]=0.0;g[ma+112>>2]=ba*W+da*Y+fa*Z;g[ma+116>>2]=ba*_+da*$+fa*aa;g[ma+120>>2]=ba*ca+da*ea+fa*ga;g[ma+124>>2]=0.0;g[ma+128>>2]=l;g[ma+132>>2]=k;g[ma+136>>2]=j;g[ma+140>>2]=0.0;Fc(ma+80|0,ma+64|0);j=+g[ma+64>>2];k=+g[ma+68>>2];l=+g[ma+72>>2];if(+O(+(j*j+k*k+l*l))<1.1920928955078125e-07){i=ma;return}g[b+472>>2]=0.0;ga=1.0/+P(+(j*j+k*k+l*l));g[b+460>>2]=j*ga;g[b+464>>2]=k*ga;g[b+468>>2]=l*ga;ga=+g[ma+76>>2];ga=ga<-1.0?-1.0:ga;ga=+U(+(ga>1.0?1.0:ga))*2.0;g[b+504>>2]=ga;if(+O(+ga)<1.1920928955078125e-07){i=ma;return}a[b+526>>0]=1;i=ma;return}Fc(d,ma+48|0);Fc(b+300|0,ma+32|0);T=+g[ma+60>>2];V=+g[ma+32>>2];W=+g[ma+48>>2];Y=+g[ma+44>>2];Z=+g[ma+52>>2];_=+g[ma+40>>2];$=+g[ma+56>>2];aa=+g[ma+36>>2];Fc(e,ma+16|0);Fc(b+364|0,ma);ba=+g[ma+28>>2];ca=+g[ma>>2];da=+g[ma+16>>2];ea=+g[ma+12>>2];fa=+g[ma+20>>2];ga=+g[ma+8>>2];ha=+g[ma+24>>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);u=(T*V+W*Y+Z*_-$*aa)*(ba*ea-ca*da-fa*ia-ga*ha)+(T*Y-V*W-Z*aa-_*$)*ja+(T*_+Y*$+W*aa-V*Z)*ka-(V*$+(Y*Z+T*aa)-W*_)*la;t=(T*V+W*Y+Z*_-$*aa)*la+((V*$+(Y*Z+T*aa)-W*_)*(ba*ea-ca*da-fa*ia-ga*ha)+(T*Y-V*W-Z*aa-_*$)*ka)-(T*_+Y*$+W*aa-V*Z)*ja;v=(V*$+(Y*Z+T*aa)-W*_)*ja+((T*_+Y*$+W*aa-V*Z)*(ba*ea-ca*da-fa*ia-ga*ha)+(T*Y-V*W-Z*aa-_*$)*la)-(T*V+W*Y+Z*_-$*aa)*ka;w=(T*Y-V*W-Z*aa-_*$)*(ba*ea-ca*da-fa*ia-ga*ha)-(T*V+W*Y+Z*_-$*aa)*ja-(V*$+(Y*Z+T*aa)-W*_)*ka-(T*_+Y*$+W*aa-V*Z)*la;p=-u-t*0.0-v*0.0;n=(v+w*0.0-u*0.0)*-v+(w*(w+t*0.0-v*0.0)+p*-u)-(w*0.0+u*0.0-t)*-t;m=(w*0.0+u*0.0-t)*-u+(w*(v+w*0.0-u*0.0)+p*-t)-(w+t*0.0-v*0.0)*-v;p=(w+t*0.0-v*0.0)*-t+(w*(w*0.0+u*0.0-t)+p*-v)-(v+w*0.0-u*0.0)*-u;o=1.0/+P(+(p*p+(n*n+m*m)));if(o*p*0.0+(o*m*0.0+o*n)<-.9999998807907104)if(+O(0.0)>.7071067690849304){l=s;q=0.0;p=s;o=0.0}else{l=1.0;q=-0.0;p=0.0;o=0.0}else{Q=+P(+((o*p*0.0+(o*m*0.0+o*n)+1.0)*2.0));l=(o*n*0.0-o*p)*(1.0/Q);q=(o*p*0.0-o*m*0.0)*(1.0/Q);p=(o*m-o*n*0.0)*(1.0/Q);o=Q*.5}r=1.0/+P(+(o*o+(p*p+(l*l+q*q))));n=q*r;l=l*r;q=p*r;r=o*r;Q=1.0/+P(+((w*r-u*-n-t*-l-v*-q)*(w*r-u*-n-t*-l-v*-q)+((t*-n+(v*r+w*-q)-u*-l)*(t*-n+(v*r+w*-q)-u*-l)+((v*-l+(u*r+w*-n)-t*-q)*(v*-l+(u*r+w*-n)-t*-q)+(u*-q+(t*r+w*-l)-v*-n)*(u*-q+(t*r+w*-l)-v*-n)))));k=Q*(v*-l+(u*r+w*-n)-t*-q);j=Q*(u*-q+(t*r+w*-l)-v*-n);m=Q*(t*-n+(v*r+w*-q)-u*-l);Q=Q*(w*r-u*-n-t*-l-v*-q);u=+g[b+444>>2];p=+g[b+456>>2];if(u>=p?(x=+g[b+448>>2],x>=p):0){t=r<-1.0?-1.0:r;t=+U(+(t>1.0?1.0:t))*2.0;if(t>1.1920928955078125e-07){o=1.0/+P(+(q*q+(n*n+l*l)));if(+O(+(l*o))>1.1920928955078125e-07){r=+P(+((q*o*(q*o)/(l*o*(l*o))+1.0)/(1.0/(x*x)+q*o*(q*o)/(l*o*(l*o))/(u*u))));p=n*o;l=l*o;n=q*o}else{r=u;p=n*o;l=l*o;n=q*o}}else{r=0.0;p=0.0;l=0.0;n=0.0}o=+g[b+428>>2];q=r*o;if(t>q){a[b+526>>0]=1;if(t>2]=o;g[b+504>>2]=t-q;if(+O(+l)>1.1920928955078125e-07){o=+O(+(l*(-n/l*(x/u))));if(!(n<-0.0))o=-o;n=1.0/+P(+(l*l+p*p+o*o));p=p*n;l=l*n;n=-(o*n)}L=-p;K=-l;J=-n;H=(ca*ha+(ea*fa+ba*ia)-da*ga)*J+(ba*ea-ca*da-fa*ia-ga*ha)*L-(ba*ga+ea*ha+da*ia-ca*fa)*K;M=(ba*ea-ca*da-fa*ia-ga*ha)*K+(ba*ga+ea*ha+da*ia-ca*fa)*L-(ba*ca+da*ea+fa*ga-ha*ia)*J;I=(ba*ea-ca*da-fa*ia-ga*ha)*J+(ba*ca+da*ea+fa*ga-ha*ia)*K-(ca*ha+(ea*fa+ba*ia)-da*ga)*L;J=-((ba*ca+da*ea+fa*ga-ha*ia)*L)-(ca*ha+(ea*fa+ba*ia)-da*ga)*K-(ba*ga+ea*ha+da*ia-ca*fa)*J;K=M*la+((ba*ea-ca*da-fa*ia-ga*ha)*H+J*ja)-I*ka;L=I*ja+((ba*ea-ca*da-fa*ia-ga*ha)*M+J*ka)-H*la;M=H*ka+((ba*ea-ca*da-fa*ia-ga*ha)*I+J*la)-M*ja;g[b+460>>2]=K;g[b+464>>2]=L;g[b+468>>2]=M;g[b+472>>2]=0.0;c[b+536>>2]=0;c[b+540>>2]=0;c[b+544>>2]=0;c[b+548>>2]=0;g[b+492>>2]=1.0/(K*(+g[f>>2]*K+ +g[f+16>>2]*L+ +g[f+32>>2]*M)+L*(K*+g[f+4>>2]+L*+g[f+20>>2]+M*+g[f+36>>2])+M*(K*+g[f+8>>2]+L*+g[f+24>>2]+M*+g[f+40>>2])+(K*(K*+g[h>>2]+L*+g[h+16>>2]+M*+g[h+32>>2])+L*(K*+g[h+4>>2]+L*+g[h+20>>2]+M*+g[h+36>>2])+M*(K*+g[h+8>>2]+L*+g[h+24>>2]+M*+g[h+40>>2])))}}else N=23;a:do if((N|0)==23){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];o=+g[d+40>>2];p=+g[b+304>>2];q=+g[b+320>>2];r=+g[b+336>>2];t=+g[b+308>>2];y=+g[b+324>>2];z=+g[b+340>>2];v=+g[b+364>>2];n=+g[b+380>>2];x=+g[b+396>>2];B=v*+g[e>>2]+n*+g[e+4>>2]+x*+g[e+8>>2];A=v*+g[e+16>>2]+n*+g[e+20>>2]+x*+g[e+24>>2];x=v*+g[e+32>>2]+n*+g[e+36>>2]+x*+g[e+40>>2];n=(C*F+D*G+E*H)*B+(C*I+D*J+E*K)*A+(C*L+D*M+E*o)*x;v=(F*p+G*q+H*r)*B+(I*p+J*q+K*r)*A+(L*p+M*q+o*r)*x;w=(F*t+G*y+H*z)*B+(I*t+J*y+K*z)*A+(L*t+M*y+o*z)*x;l=+g[b+444>>2];u=+g[b+456>>2];do if(l>2];if(l>0]=1;g[b+460>>2]=-((C*L+D*M+E*o)*A-(C*I+D*J+E*K)*x);g[b+464>>2]=-((C*F+D*G+E*H)*x-(C*L+D*M+E*o)*B);g[b+468>>2]=-((C*I+D*J+E*K)*B-(C*F+D*G+E*H)*A);g[b+472>>2]=0.0;break a}if(+O(+n)<1.1920928955078125e-07?+O(+w)<1.1920928955078125e-07:0){u=n;break}a[b+526>>0]=1;if(l>=u){v=+X(+w,+n);if(v>l){u=+R(+l);v=0.0;w=+S(+l);break}if(v<-l){u=+R(+l);v=0.0;w=-+S(+l)}else{u=n;v=0.0}}else u=n}else{if(+O(+n)<1.1920928955078125e-07?+O(+v)<1.1920928955078125e-07:0){u=n;break}a[b+526>>0]=1;if(l>=u){w=+X(+v,+n);if(w>l){u=+R(+l);v=+S(+l);w=0.0;break}if(w<-l){u=+R(+l);v=-+S(+l);w=0.0}else{u=n;w=0.0}}else u=n}while(0);H=(F*t+G*y+H*z)*w+((F*p+G*q+H*r)*v+(C*F+D*G+E*H)*u);K=(I*t+J*y+K*z)*w+((I*p+J*q+K*r)*v+(C*I+D*J+E*K)*u);J=(L*t+M*y+o*z)*w+((L*p+M*q+o*r)*v+(C*L+D*M+E*o)*u);L=1.0/+P(+(J*J+(H*H+K*K)));g[b+472>>2]=0.0;M=+P(+((A*(L*J)-x*(L*K))*(A*(L*J)-x*(L*K))+(x*(L*H)-B*(L*J))*(x*(L*H)-B*(L*J))+(B*(L*K)-A*(L*H))*(B*(L*K)-A*(L*H))));g[b+504>>2]=M;g[b+460>>2]=-((A*(L*J)-x*(L*K))*(1.0/M));g[b+464>>2]=-((x*(L*H)-B*(L*J))*(1.0/M));g[b+468>>2]=-((B*(L*K)-A*(L*H))*(1.0/M))}while(0);p=+g[b+452>>2];if(!(p>=0.0)){g[b+512>>2]=0.0;i=ma;return}l=Q<-1.0?-1.0:Q;l=+U(+(l>1.0?1.0:l))*2.0;if(l>3.1415927410125732){l=Q>1.0?-1.0:-Q;l=+U(+(l>1.0?1.0:l))*2.0;k=-k;j=-j;m=-m}g[b+512>>2]=l;if(l>1.1920928955078125e-07){Q=1.0/+P(+(m*m+(j*j+k*k)));k=k*Q;j=j*Q;m=m*Q}n=+g[b+428>>2];if(l>p*n){a[b+525>>0]=1;o=l-p*n;if(l>2]=l;g[b+508>>2]=o;Q=-k;M=-j;K=-m;I=(ca*ha+(ea*fa+ba*ia)-da*ga)*K+(ba*ea-ca*da-fa*ia-ga*ha)*Q-(ba*ga+ea*ha+da*ia-ca*fa)*M;L=(ba*ea-ca*da-fa*ia-ga*ha)*M+(ba*ga+ea*ha+da*ia-ca*fa)*Q-(ba*ca+da*ea+fa*ga-ha*ia)*K;J=(ba*ea-ca*da-fa*ia-ga*ha)*K+(ba*ca+da*ea+fa*ga-ha*ia)*M-(ca*ha+(ea*fa+ba*ia)-da*ga)*Q;K=-((ba*ca+da*ea+fa*ga-ha*ia)*Q)-(ca*ha+(ea*fa+ba*ia)-da*ga)*M-(ba*ga+ea*ha+da*ia-ca*fa)*K;M=L*la+((ba*ea-ca*da-fa*ia-ga*ha)*I+K*ja)-J*ka;Q=J*ja+((ba*ea-ca*da-fa*ia-ga*ha)*L+K*ka)-I*la;ga=I*ka+((ba*ea-ca*da-fa*ia-ga*ha)*J+K*la)-L*ja;g[b+476>>2]=M;g[b+480>>2]=Q;g[b+484>>2]=ga;g[b+488>>2]=0.0;g[b+496>>2]=1.0/(M*(+g[f>>2]*M+ +g[f+16>>2]*Q+ +g[f+32>>2]*ga)+Q*(M*+g[f+4>>2]+Q*+g[f+20>>2]+ga*+g[f+36>>2])+ga*(M*+g[f+8>>2]+Q*+g[f+24>>2]+ga*+g[f+40>>2])+(M*(M*+g[h>>2]+Q*+g[h+16>>2]+ga*+g[h+32>>2])+Q*(M*+g[h+4>>2]+Q*+g[h+20>>2]+ga*+g[h+36>>2])+ga*(M*+g[h+8>>2]+Q*+g[h+24>>2]+ga*+g[h+40>>2])))}if(!(a[b+526>>0]|0)){i=ma;return}ba=-k;ga=-j;da=-m;Q=(V*$+(Y*Z+T*aa)-W*_)*da+(T*Y-V*W-Z*aa-_*$)*ba-(T*_+Y*$+W*aa-V*Z)*ga;fa=(T*Y-V*W-Z*aa-_*$)*ga+(T*_+Y*$+W*aa-V*Z)*ba-(T*V+W*Y+Z*_-$*aa)*da;ca=(T*Y-V*W-Z*aa-_*$)*da+(T*V+W*Y+Z*_-$*aa)*ga-(V*$+(Y*Z+T*aa)-W*_)*ba;da=-((T*V+W*Y+Z*_-$*aa)*ba)-(V*$+(Y*Z+T*aa)-W*_)*ga-(T*_+Y*$+W*aa-V*Z)*da;ga=-(T*V+W*Y+Z*_-$*aa);ba=-(V*$+(Y*Z+T*aa)-W*_);ea=-(T*_+Y*$+W*aa-V*Z);g[b+536>>2]=fa*ea+((T*Y-V*W-Z*aa-_*$)*Q+da*ga)-ca*ba;g[b+540>>2]=ca*ga+((T*Y-V*W-Z*aa-_*$)*fa+da*ba)-Q*ea;g[b+544>>2]=Q*ba+((T*Y-V*W-Z*aa-_*$)*ca+da*ea)-fa*ga;g[b+548>>2]=0.0;i=ma;return}function mr(b,d){b=b|0;d=d|0;var e=0,f=0,h=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0;t=i;i=i+64|0;r=c[b+28>>2]|0;f=c[b+32>>2]|0;lr(b,r+4|0,f+4|0,r+264|0,f+264|0);s=c[d+8>>2]|0;g[s>>2]=1.0;p=c[d+24>>2]|0;g[s+(p+1<<2)>>2]=1.0;g[s+((p<<1)+2<<2)>>2]=1.0;o=+g[b+348>>2];w=+g[b+352>>2];l=+g[b+356>>2];u=+g[r+4>>2]*o+ +g[r+8>>2]*w+ +g[r+12>>2]*l;n=o*+g[r+20>>2]+w*+g[r+24>>2]+l*+g[r+28>>2];l=o*+g[r+36>>2]+w*+g[r+40>>2]+l*+g[r+44>>2];s=c[d+12>>2]|0;g[s>>2]=0.0;g[s+4>>2]=l;g[s+8>>2]=-n;g[s+12>>2]=0.0;g[s+(p<<2)>>2]=-l;g[s+(p+1<<2)>>2]=0.0;g[s+(p+2<<2)>>2]=u;g[s+(p+3<<2)>>2]=0.0;g[s+(p<<1<<2)>>2]=n;g[s+((p<<1|1)<<2)>>2]=-u;g[s+((p<<1)+2<<2)>>2]=0.0;g[s+((p<<1)+3<<2)>>2]=0.0;s=c[d+16>>2]|0;g[s>>2]=-1.0;g[s+(p+1<<2)>>2]=-1.0;g[s+((p<<1)+2<<2)>>2]=-1.0;w=+g[b+412>>2];o=+g[b+416>>2];k=+g[b+420>>2];v=+g[f+4>>2]*w+ +g[f+8>>2]*o+ +g[f+12>>2]*k;m=w*+g[f+20>>2]+o*+g[f+24>>2]+k*+g[f+28>>2];k=w*+g[f+36>>2]+o*+g[f+40>>2]+k*+g[f+44>>2];p=c[d+20>>2]|0;s=c[d+24>>2]|0;g[p>>2]=0.0;g[p+4>>2]=-k;g[p+8>>2]=m;g[p+12>>2]=0.0;g[p+(s<<2)>>2]=k;g[p+(s+1<<2)>>2]=0.0;g[p+(s+2<<2)>>2]=-v;g[p+(s+3<<2)>>2]=0.0;g[p+(s<<1<<2)>>2]=-m;g[p+((s<<1|1)<<2)>>2]=v;g[p+((s<<1)+2<<2)>>2]=0.0;g[p+((s<<1)+3<<2)>>2]=0.0;q=c[b+592>>2]|0;o=+g[((q&2|0)==0?d+4|0:b+600|0)>>2]*+g[d>>2];e=c[d+28>>2]|0;h=c[d+36>>2]|0;j=c[d+40>>2]|0;g[e>>2]=o*(v+ +g[f+52>>2]-u-+g[r+52>>2]);g[h>>2]=-3402823466385288598117041.0e14;g[j>>2]=3402823466385288598117041.0e14;if(!(q&1)){g[e+(s<<2)>>2]=o*(m+ +g[f+56>>2]-n-+g[r+56>>2]);g[h+(s<<2)>>2]=-3402823466385288598117041.0e14;g[j+(s<<2)>>2]=3402823466385288598117041.0e14;g[e+(s<<1<<2)>>2]=o*(k+ +g[f+60>>2]-l-+g[r+60>>2]);g[h+(s<<1<<2)>>2]=-3402823466385288598117041.0e14;g[j+(s<<1<<2)>>2]=3402823466385288598117041.0e14}else{x=c[d+32>>2]|0;g[x>>2]=+g[b+596>>2];g[e+(s<<2)>>2]=o*(m+ +g[f+56>>2]-n-+g[r+56>>2]);g[h+(s<<2)>>2]=-3402823466385288598117041.0e14;g[j+(s<<2)>>2]=3402823466385288598117041.0e14;g[x+(s<<2)>>2]=+g[b+596>>2];g[e+(s<<1<<2)>>2]=o*(k+ +g[f+60>>2]-l-+g[r+60>>2]);g[h+(s<<1<<2)>>2]=-3402823466385288598117041.0e14;g[j+(s<<1<<2)>>2]=3402823466385288598117041.0e14;g[x+(s<<1<<2)>>2]=+g[b+596>>2]}do if(!(a[b+526>>0]|0))f=s*3|0;else{f=c[d+12>>2]|0;k=+g[b+456>>2];if(+g[b+444>>2]>2]>2];n=+g[t+20>>2];v=+g[t+36>>2];u=+g[t+8>>2];l=+g[t+24>>2];k=+g[t+40>>2];r=c[d+24>>2]|0;q=r+(s*3|0)|0;g[f+(s*3<<2)>>2]=w;g[f+((s*3|0)+1<<2)>>2]=n;g[f+((s*3|0)+2<<2)>>2]=v;g[f+(q<<2)>>2]=u;g[f+(q+1<<2)>>2]=l;g[f+(q+2<<2)>>2]=k;g[p+(s*3<<2)>>2]=-w;g[p+((s*3|0)+1<<2)>>2]=-n;g[p+((s*3|0)+2<<2)>>2]=-v;g[p+(q<<2)>>2]=-u;g[p+(q+1<<2)>>2]=-l;g[p+(q+2<<2)>>2]=-k;m=+g[d>>2]*+g[b+436>>2];e=c[d+28>>2]|0;g[e+(s*3<<2)>>2]=m*(w*+g[b+460>>2]+n*+g[b+464>>2]+v*+g[b+468>>2]);g[e+(q<<2)>>2]=m*(u*+g[b+460>>2]+l*+g[b+464>>2]+k*+g[b+468>>2]);h=c[d+36>>2]|0;g[h+(s*3<<2)>>2]=-3402823466385288598117041.0e14;j=c[d+40>>2]|0;g[j+(s*3<<2)>>2]=3402823466385288598117041.0e14;g[h+(q<<2)>>2]=-3402823466385288598117041.0e14;g[j+(q<<2)>>2]=3402823466385288598117041.0e14;f=r+q|0;break}k=+g[b+436>>2];u=k*(+g[b+460>>2]*k);l=k*(k*+g[b+464>>2]);k=k*(k*+g[b+468>>2]);g[f+(s*3<<2)>>2]=u;g[f+((s*3|0)+1<<2)>>2]=l;g[f+((s*3|0)+2<<2)>>2]=k;g[p+(s*3<<2)>>2]=-u;g[p+((s*3|0)+1<<2)>>2]=-l;g[p+((s*3|0)+2<<2)>>2]=-k;g[e+(s*3<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+504>>2];if(q&4)g[(c[d+32>>2]|0)+(s*3<<2)>>2]=+g[b+604>>2];g[h+(s*3<<2)>>2]=0.0;g[j+(s*3<<2)>>2]=3402823466385288598117041.0e14;f=s<<2}while(0);if(!(a[b+525>>0]|0)){i=t;return}k=+g[b+436>>2];u=k*(+g[b+476>>2]*k);l=k*(k*+g[b+480>>2]);k=k*(k*+g[b+484>>2]);r=c[d+12>>2]|0;p=c[d+20>>2]|0;g[r+(f<<2)>>2]=u;s=f+1|0;g[r+(s<<2)>>2]=l;q=f+2|0;g[r+(q<<2)>>2]=k;g[p+(f<<2)>>2]=-u;g[p+(s<<2)>>2]=-l;g[p+(q<<2)>>2]=-k;g[e+(f<<2)>>2]=+g[d>>2]*+g[b+432>>2]*+g[b+508>>2];if(c[b+592>>2]&4)g[(c[d+32>>2]|0)+(f<<2)>>2]=+g[b+604>>2];if(!(+g[b+452>>2]>0.0)){g[h+(f<<2)>>2]=-3402823466385288598117041.0e14;g[j+(f<<2)>>2]=3402823466385288598117041.0e14;i=t;return}e=h+(f<<2)|0;if(+g[b+508>>2]>0.0){g[e>>2]=0.0;g[j+(f<<2)>>2]=3402823466385288598117041.0e14;i=t;return}else{g[e>>2]=-3402823466385288598117041.0e14;g[j+(f<<2)>>2]=0.0;i=t;return}}function nr(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.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,M=0;L=i;i=i+176|0;if(!(a[b+527>>0]|0)){i=L;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+580>>2]=0;c[b+584>>2]=0;c[b+588>>2]=0;a:do if(!(a[b+524>>0]|0)){d=c[b+28>>2]|0;h=+g[b+348>>2];e=+g[b+352>>2];J=+g[b+356>>2];K=h*+g[d+20>>2]+e*+g[d+24>>2]+J*+g[d+28>>2]+ +g[d+56>>2];n=c[b+32>>2]|0;t=+g[b+412>>2];u=+g[n+4>>2];v=+g[b+416>>2];w=+g[n+8>>2];x=+g[b+420>>2];y=+g[n+12>>2];z=+g[n+20>>2];A=+g[n+24>>2];B=+g[n+28>>2];C=+g[n+36>>2];D=+g[n+40>>2];E=+g[n+44>>2];F=+g[n+52>>2];G=+g[n+56>>2];H=+g[n+60>>2];f=t*z+v*A+x*B+G-K;I=h*+g[d+4>>2]+e*+g[d+8>>2]+J*+g[d+12>>2]+ +g[d+52>>2];J=h*+g[d+36>>2]+e*+g[d+40>>2]+J*+g[d+44>>2]+ +g[d+60>>2];e=t*u+v*w+x*y+F-I;h=t*C+v*D+x*E+H-J;if(e*e+f*f+h*h>1.1920928955078125e-07){s=1.0/+P(+(e*e+f*f+h*h));m=e*s;e=f*s;h=h*s}else{m=1.0;e=0.0;h=0.0}g[L+128>>2]=m;g[L+132>>2]=e;g[L+136>>2]=h;g[L+140>>2]=0.0;if(+O(+h)>.7071067690849304){s=h*h+e*e;l=1.0/+P(+s);h=-(l*h);f=l*e;e=0.0;j=h;k=f;l=s*l;f=-(m*f);h=m*h}else{r=m*m+e*e;s=1.0/+P(+r);f=-(e*s);l=s*m;e=f;j=l;k=0.0;l=-(h*l);f=h*f;h=r*s}g[L+144>>2]=e;g[L+148>>2]=j;g[L+152>>2]=k;g[L+160>>2]=l;g[L+164>>2]=f;g[L+168>>2]=h;m=u;l=z;k=C;j=w;h=A;f=D;e=y;o=B;p=E;q=F;r=G;s=H;d=0;while(1){M=c[b+28>>2]|0;g[L+80>>2]=+g[M+4>>2];g[L+84>>2]=+g[M+20>>2];g[L+88>>2]=+g[M+36>>2];g[L+92>>2]=0.0;g[L+96>>2]=+g[M+8>>2];g[L+100>>2]=+g[M+24>>2];g[L+104>>2]=+g[M+40>>2];g[L+108>>2]=0.0;g[L+112>>2]=+g[M+12>>2];g[L+116>>2]=+g[M+28>>2];g[L+120>>2]=+g[M+44>>2];g[L+124>>2]=0.0;g[L+32>>2]=m;g[L+36>>2]=l;g[L+40>>2]=k;g[L+44>>2]=0.0;g[L+48>>2]=j;g[L+52>>2]=h;g[L+56>>2]=f;g[L+60>>2]=0.0;g[L+64>>2]=e;g[L+68>>2]=o;g[L+72>>2]=p;g[L+76>>2]=0.0;f=K-+g[M+56>>2];e=J-+g[M+60>>2];g[L+16>>2]=I-+g[M+52>>2];g[L+20>>2]=f;g[L+24>>2]=e;g[L+28>>2]=0.0;g[L>>2]=t*u+v*w+x*y+F-q;g[L+4>>2]=t*z+v*A+x*B+G-r;g[L+8>>2]=t*C+v*D+x*E+H-s;g[L+12>>2]=0.0;Kq(b+(d*84|0)+48|0,L+80|0,L+32|0,L+16|0,L,L+128+(d<<4)|0,M+396|0,+g[M+344>>2],n+396|0,+g[n+344>>2]);d=d+1|0;if((d|0)==3){d=b+32|0;break a}n=c[b+32>>2]|0;m=+g[n+4>>2];l=+g[n+20>>2];k=+g[n+36>>2];j=+g[n+8>>2];h=+g[n+24>>2];f=+g[n+40>>2];e=+g[n+12>>2];o=+g[n+28>>2];p=+g[n+44>>2];q=+g[n+52>>2];r=+g[n+56>>2];s=+g[n+60>>2]}}else d=b+32|0;while(0);n=c[b+28>>2]|0;d=c[d>>2]|0;lr(b,n+4|0,d+4|0,n+264|0,d+264|0);i=L;return} +function Xu(d,e,f,h){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,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.0,G=0.0,H=0.0,I=0.0,J=0,K=0.0,L=0.0,M=0.0;J=i;i=i+1392|0;c[J+1192>>2]=0;g[J+1196>>2]=1.0;g[J+1200>>2]=1.0;g[J+1204>>2]=1.0;g[J+1208>>2]=0.0;c[J+1184>>2]=12008;c[J+1188>>2]=8;g[J+1212>>2]=0.0;g[J+1228>>2]=0.0;k=c[f+4>>2]|0;j=c[f+12>>2]|0;p=c[k+4>>2]|0;if((p|0)<20){c[J+1008>>2]=7512;c[J+1176>>2]=0;g[J+1180>>2]=0.0;g[J+1172>>2]=+g[h+4>>2];g[J+956>>2]=9.999999747378752e-05;a[J+980>>0]=0;c[J+632>>2]=18976;c[J+636>>2]=J+648;c[J+640>>2]=J+1184;c[J+644>>2]=k;c[J+616>>2]=19128;c[J+620>>2]=J+648;c[J+624>>2]=J+1184;c[J+628>>2]=k;z=(c[h+16>>2]&4|0)==0?J+616|0:J+632|0;if(!(_b[c[(c[z>>2]|0)+8>>2]&3](z,d,e,j,j,J+1008|0)|0)){i=J;return}p=J+1140|0;l=+g[p>>2];m=+g[J+1144>>2];n=+g[J+1148>>2];if(!(l*l+m*m+n*n>9.999999747378752e-05)){i=J;return}o=+g[J+1172>>2];if(!(o<+g[h+4>>2])){i=J;return}v=1.0/+P(+(l*l+m*m+n*n));g[p>>2]=l*v;g[J+1144>>2]=m*v;g[J+1148>>2]=n*v;c[J+584>>2]=c[f+8>>2];c[J+588>>2]=0;c[J+592>>2]=c[p+0>>2];c[J+596>>2]=c[p+4>>2];c[J+600>>2]=c[p+8>>2];c[J+604>>2]=c[p+12>>2];g[J+608>>2]=o;+fc[c[(c[h>>2]|0)+12>>2]&15](h,J+584|0,1);i=J;return}if((p+-21|0)>>>0<9){E=+g[j>>2];D=+g[j+16>>2];o=+g[j+32>>2];C=+g[j+4>>2];F=+g[j+20>>2];m=+g[j+36>>2];q=+g[j+8>>2];r=+g[j+24>>2];n=+g[j+40>>2];G=-+g[j+48>>2];H=-+g[j+52>>2];I=-+g[j+56>>2];s=+g[d+48>>2];t=+g[d+52>>2];l=+g[d+56>>2];g[J+568>>2]=E*G+D*H+o*I+(E*s+D*t+o*l);g[J+572>>2]=C*G+F*H+m*I+(C*s+F*t+m*l);g[J+576>>2]=q*G+r*H+n*I+(q*s+r*t+n*l);g[J+580>>2]=0.0;v=+g[e+48>>2];w=+g[e+52>>2];u=+g[e+56>>2];o=E*G+D*H+o*I+(E*v+D*w+o*u);m=C*G+F*H+m*I+(C*v+F*w+m*u);n=q*G+r*H+n*I+(q*v+r*w+n*u);g[J+552>>2]=o;g[J+556>>2]=m;g[J+560>>2]=n;g[J+564>>2]=0.0;p=c[k+4>>2]|0;if((p|0)==25){z=c[f+8>>2]|0;y=c[h+16>>2]|0;c[J+316>>2]=c[J+568>>2];c[J+320>>2]=c[J+572>>2];c[J+324>>2]=c[J+576>>2];c[J+328>>2]=c[J+580>>2];c[J+332>>2]=c[J+552>>2];c[J+336>>2]=c[J+556>>2];c[J+340>>2]=c[J+560>>2];c[J+344>>2]=c[J+564>>2];c[J+348>>2]=y;g[J+352>>2]=1.0;c[J+312>>2]=10120;c[J+356>>2]=h;c[J+360>>2]=z;c[J+364>>2]=k;c[J+368>>2]=c[j+0>>2];c[J+372>>2]=c[j+4>>2];c[J+376>>2]=c[j+8>>2];c[J+380>>2]=c[j+12>>2];c[J+384>>2]=c[j+16>>2];c[J+388>>2]=c[j+20>>2];c[J+392>>2]=c[j+24>>2];c[J+396>>2]=c[j+28>>2];c[J+400>>2]=c[j+32>>2];c[J+404>>2]=c[j+36>>2];c[J+408>>2]=c[j+40>>2];c[J+412>>2]=c[j+44>>2];c[J+416>>2]=c[j+48>>2];c[J+420>>2]=c[j+52>>2];c[J+424>>2]=c[j+56>>2];c[J+428>>2]=c[j+60>>2];g[J+352>>2]=+g[h+4>>2];tc[c[(c[k>>2]|0)+144>>2]&127](k,J+312|0,J+568|0,J+552|0);i=J;return}else if((p|0)==21){d=c[f+8>>2]|0;z=c[h+16>>2]|0;c[J+436>>2]=c[J+568>>2];c[J+440>>2]=c[J+572>>2];c[J+444>>2]=c[J+576>>2];c[J+448>>2]=c[J+580>>2];c[J+452>>2]=c[J+552>>2];c[J+456>>2]=c[J+556>>2];c[J+460>>2]=c[J+560>>2];c[J+464>>2]=c[J+564>>2];c[J+468>>2]=z;g[J+472>>2]=1.0;c[J+432>>2]=10120;c[J+476>>2]=h;c[J+480>>2]=d;c[J+484>>2]=k;c[J+488>>2]=c[j+0>>2];c[J+492>>2]=c[j+4>>2];c[J+496>>2]=c[j+8>>2];c[J+500>>2]=c[j+12>>2];c[J+504>>2]=c[j+16>>2];c[J+508>>2]=c[j+20>>2];c[J+512>>2]=c[j+24>>2];c[J+516>>2]=c[j+28>>2];c[J+520>>2]=c[j+32>>2];c[J+524>>2]=c[j+36>>2];c[J+528>>2]=c[j+40>>2];c[J+532>>2]=c[j+44>>2];c[J+536>>2]=c[j+48>>2];c[J+540>>2]=c[j+52>>2];c[J+544>>2]=c[j+56>>2];c[J+548>>2]=c[j+60>>2];g[J+472>>2]=+g[h+4>>2];d=c[k+48>>2]|0;c[J+1272>>2]=12680;c[J+1276>>2]=d;c[J+1280>>2]=J+432;d=c[k+52>>2]|0;c[J+1328>>2]=0;c[J+1332>>2]=0;c[J+1336>>2]=0;c[J+1340>>2]=0;c[J+1304>>2]=0;c[J+1308>>2]=0;c[J+1312>>2]=0;c[J+1316>>2]=0;if(!(a[d+60>>0]|0)){tC(d,J+1272|0,J+568|0,o,m,n,J+1328|0,J+1304|0);i=J;return}else{uC(d,J+1272|0,J+568|0,o,m,n,J+1328|0,J+1304|0,c[d+56>>2]|0);i=J;return}}else{M=+g[j>>2];L=+g[j+16>>2];n=+g[j+32>>2];K=+g[j+4>>2];E=+g[j+20>>2];D=+g[j+36>>2];H=+g[j+8>>2];I=+g[j+24>>2];o=+g[j+40>>2];C=-+g[j+48>>2];F=-+g[j+52>>2];G=-+g[j+56>>2];q=M*C+L*F+n*G+(M*s+L*t+n*l);r=K*C+E*F+D*G+(K*s+E*t+D*l);m=H*C+I*F+o*G+(H*s+I*t+o*l);n=M*C+L*F+n*G+(M*v+L*w+n*u);l=K*C+E*F+D*G+(K*v+E*w+D*u);o=H*C+I*F+o*G+(H*v+I*w+o*u);z=c[f+8>>2]|0;y=c[h+16>>2]|0;g[J+196>>2]=q;g[J+200>>2]=r;g[J+204>>2]=m;g[J+208>>2]=0.0;g[J+212>>2]=n;g[J+216>>2]=l;g[J+220>>2]=o;g[J+224>>2]=0.0;c[J+228>>2]=y;g[J+232>>2]=1.0;c[J+192>>2]=9928;c[J+236>>2]=h;c[J+240>>2]=z;c[J+244>>2]=k;c[J+248>>2]=c[j+0>>2];c[J+252>>2]=c[j+4>>2];c[J+256>>2]=c[j+8>>2];c[J+260>>2]=c[j+12>>2];c[J+264>>2]=c[j+16>>2];c[J+268>>2]=c[j+20>>2];c[J+272>>2]=c[j+24>>2];c[J+276>>2]=c[j+28>>2];c[J+280>>2]=c[j+32>>2];c[J+284>>2]=c[j+36>>2];c[J+288>>2]=c[j+40>>2];c[J+292>>2]=c[j+44>>2];c[J+296>>2]=c[j+48>>2];c[J+300>>2]=c[j+52>>2];c[J+304>>2]=c[j+56>>2];c[J+308>>2]=c[j+60>>2];g[J+232>>2]=+g[h+4>>2];g[J+176>>2]=q;g[J+180>>2]=r;g[J+184>>2]=m;g[J+188>>2]=0.0;if(n>2]=n;if(l>2]=l;if(o>2]=o;g[J+160>>2]=q;g[J+164>>2]=r;g[J+168>>2]=m;g[J+172>>2]=0.0;if(q>2]=n;if(r>2]=l;if(m>2]=o;tc[c[(c[k>>2]|0)+64>>2]&127](k,J+192|0,J+176|0,J+160|0);i=J;return}}if((p|0)!=31){i=J;return}p=c[k+64>>2]|0;z=c[f+8>>2]|0;c[J+128>>2]=9712;c[J+132>>2]=z;c[J+136>>2]=k;c[J+140>>2]=j;c[J+144>>2]=d;c[J+148>>2]=e;c[J+152>>2]=h;if(!p){p=c[k+16>>2]|0;if((p|0)<=0){i=J;return}d=0;while(1){z=c[k+24>>2]|0;y=c[z+(d*80|0)+64>>2]|0;ip(J+1328|0,j,z+(d*80|0)|0);z=c[J+132>>2]|0;c[J+1304>>2]=0;c[J+1308>>2]=y;c[J+1312>>2]=z;c[J+1316>>2]=J+1328;c[J+1320>>2]=-1;c[J+1324>>2]=d;z=c[J+152>>2]|0;g[J+1276>>2]=1.0;c[J+1280>>2]=0;b[J+1284>>1]=1;b[J+1286>>1]=-1;c[J+1288>>2]=0;c[J+1272>>2]=9536;c[J+1292>>2]=z;c[J+1296>>2]=d;g[J+1276>>2]=+g[z+4>>2];c[J+1288>>2]=c[z+16>>2];Xu(c[J+144>>2]|0,c[J+148>>2]|0,J+1304|0,J+1272|0);d=d+1|0;if((d|0)>=(p|0))break;k=c[J+136>>2]|0;j=c[J+140>>2]|0}i=J;return}ev(J+64|0,j,d);C=+g[J+112>>2];D=+g[J+116>>2];E=+g[J+120>>2];ev(J,j,e);k=c[p>>2]|0;if(!k){i=J;return}t=+g[J+48>>2]-C;v=+g[J+52>>2]-D;u=+g[J+56>>2]-E;s=1.0/+P(+(t*t+v*v+u*u));if(t*s==0.0)o=999999984306749440.0;else o=1.0/(t*s);if(v*s==0.0)q=999999984306749440.0;else q=1.0/(v*s);if(u*s==0.0)r=999999984306749440.0;else r=1.0/(u*s);z=o<0.0&1;A=q<0.0&1;B=r<0.0&1;c[5108]=(c[5108]|0)+1;p=QE(531)|0;if(!p)j=0;else{c[(p+19&-16)+-4>>2]=p;j=p+19&-16}p=0;do{e=j+(p<<2)|0;if(e)c[e>>2]=0;p=p+1|0}while((p|0)!=128);c[j>>2]=k;e=128;y=1;k=128;p=126;while(1){x=y+-1|0;f=c[j+(x<<2)>>2]|0;c[J+1240>>2]=c[f+0>>2];c[J+1244>>2]=c[f+4>>2];c[J+1248>>2]=c[f+8>>2];c[J+1252>>2]=c[f+12>>2];c[J+1256>>2]=c[f+16>>2];c[J+1260>>2]=c[f+20>>2];c[J+1264>>2]=c[f+24>>2];c[J+1268>>2]=c[f+28>>2];w=o*(+g[J+1240+(z<<4)>>2]-C);l=o*(+g[J+1240+((z^1)<<4)>>2]-C);m=q*(+g[J+1240+(A<<4)+4>>2]-D);n=q*(+g[J+1240+((A^1)<<4)+4>>2]-D);do if(((!(w>n|m>l)?(F=m>w?m:w,I=n>2]-E),H=r*(+g[J+1240+((B^1)<<4)+8>>2]-E),!(F>H|G>I)):0)?(G>F?G:F)0.0:0){if(!(c[f+40>>2]|0)){Lb[c[(c[J+128>>2]|0)+12>>2]&127](J+128|0,f);d=x;break}if((x|0)>(p|0)){h=k<<1;if((k|0)<(h|0)){do if((e|0)<(h|0)){do if(!k)p=0;else{c[5108]=(c[5108]|0)+1;e=QE((k<<3|3)+16|0)|0;if(!e)p=0;else{c[(e+19&-16)+-4>>2]=e;p=e+19&-16}if((k|0)>0)d=0;else break;do{e=p+(d<<2)|0;if(e)c[e>>2]=c[j+(d<<2)>>2];d=d+1|0}while((d|0)!=(k|0))}while(0);if(!j){e=h;j=p;break}c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);e=h;j=p}while(0);do{p=j+(k<<2)|0;if(p)c[p>>2]=0;k=k+1|0}while((k|0)!=(h|0))}k=h;p=h+-2|0}c[j+(x<<2)>>2]=c[f+36>>2];c[j+(y<<2)>>2]=c[f+40>>2];d=y+1|0}else d=x;while(0);if(!d)break;else y=d}if(!j){i=J;return}c[5110]=(c[5110]|0)+1;RE(c[j+-4>>2]|0);i=J;return}function Yu(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.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.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;D=i;i=i+1664|0;C=c[h+4>>2]|0;B=c[h+12>>2]|0;l=c[C+4>>2]|0;if((l|0)<20){c[D+1424>>2]=7512;c[D+1592>>2]=0;g[D+1596>>2]=k;g[D+1588>>2]=+g[j+4>>2];g[D+1372>>2]=9.999999747378752e-05;a[D+1396>>0]=0;c[D+1056>>2]=19048;c[D+1032>>2]=19312;c[D+1036>>2]=D+1064;c[D+1040>>2]=D+1056;c[D+1044>>2]=d;c[D+1048>>2]=C;c[D+1052>>2]=0;if(!(cD(D+1032|0,e,f,B,B,D+1424|0)|0)){i=D;return}l=D+1556|0;m=+g[l>>2];n=+g[D+1560>>2];p=+g[D+1564>>2];if(!(m*m+n*n+p*p>9.999999747378752e-05)){i=D;return}o=+g[D+1588>>2];if(!(o<+g[j+4>>2])){i=D;return}v=1.0/+P(+(m*m+n*n+p*p));g[l>>2]=m*v;g[D+1560>>2]=n*v;g[D+1564>>2]=p*v;c[D+984>>2]=c[h+8>>2];c[D+988>>2]=0;c[D+992>>2]=c[l+0>>2];c[D+996>>2]=c[l+4>>2];c[D+1e3>>2]=c[l+8>>2];c[D+1004>>2]=c[l+12>>2];c[D+1008>>2]=c[D+1572>>2];c[D+1012>>2]=c[D+1576>>2];c[D+1016>>2]=c[D+1580>>2];c[D+1020>>2]=c[D+1584>>2];g[D+1024>>2]=o;+fc[c[(c[j>>2]|0)+12>>2]&15](j,D+984|0,1);i=D;return}if((l+-21|0)>>>0>=9){if((l|0)!=31){i=D;return}aE(8416);if((c[C+16>>2]|0)>0){l=0;do{F=c[C+24>>2]|0;A=+g[F+(l*80|0)>>2];x=+g[F+(l*80|0)+4>>2];n=+g[F+(l*80|0)+8>>2];z=+g[F+(l*80|0)+16>>2];w=+g[F+(l*80|0)+20>>2];p=+g[F+(l*80|0)+24>>2];y=+g[F+(l*80|0)+32>>2];m=+g[F+(l*80|0)+36>>2];r=+g[F+(l*80|0)+40>>2];N=+g[F+(l*80|0)+48>>2];M=+g[F+(l*80|0)+52>>2];v=+g[F+(l*80|0)+56>>2];F=c[F+(l*80|0)+64>>2]|0;L=+g[B>>2];K=+g[B+4>>2];J=+g[B+8>>2];I=+g[B+16>>2];H=+g[B+20>>2];G=+g[B+24>>2];o=+g[B+32>>2];q=+g[B+36>>2];s=+g[B+40>>2];t=N*L+M*K+v*J+ +g[B+48>>2];u=N*I+M*H+v*G+ +g[B+52>>2];v=N*o+M*q+v*s+ +g[B+56>>2];g[D+1600>>2]=A*L+z*K+y*J;g[D+1604>>2]=x*L+w*K+m*J;g[D+1608>>2]=n*L+p*K+r*J;g[D+1612>>2]=0.0;g[D+1616>>2]=A*I+z*H+y*G;g[D+1620>>2]=x*I+w*H+m*G;g[D+1624>>2]=n*I+p*H+r*G;g[D+1628>>2]=0.0;g[D+1632>>2]=A*o+z*q+y*s;g[D+1636>>2]=x*o+w*q+m*s;g[D+1640>>2]=n*o+p*q+r*s;g[D+1644>>2]=0.0;g[D+1648>>2]=t;g[D+1652>>2]=u;g[D+1656>>2]=v;g[D+1660>>2]=0.0;b[D+32>>1]=1;b[D+34>>1]=-1;c[D+24>>2]=8896;c[D+36>>2]=j;c[D+40>>2]=l;g[D+28>>2]=+g[j+4>>2];E=c[h+8>>2]|0;c[D>>2]=h;c[D+4>>2]=F;c[D+8>>2]=E;c[D+12>>2]=D+1600;c[D+16>>2]=-1;c[D+20>>2]=l;Yu(d,e,f,D,D+24|0,k);l=l+1|0}while((l|0)<(c[C+16>>2]|0))}l=c[5104]|0;E=(c[l+16>>2]|0)+-1|0;c[l+16>>2]=E;if(E){i=D;return}do if(c[l+4>>2]|0){Cb(D+1600|0,0)|0;E=c[5090]|0;g[l+8>>2]=+(((c[D+1604>>2]|0)-(c[E+4>>2]|0)+(((c[D+1600>>2]|0)-(c[E>>2]|0)|0)*1e6|0)-(c[l+12>>2]|0)|0)>>>0)/1.0e3+ +g[l+8>>2];if(!(c[l+16>>2]|0)){l=c[5104]|0;break}else{i=D;return}}while(0);c[5104]=c[l+20>>2];i=D;return}if((l|0)==21){u=+g[B>>2];t=+g[B+16>>2];s=+g[B+32>>2];r=+g[B+4>>2];q=+g[B+20>>2];p=+g[B+36>>2];o=+g[B+8>>2];n=+g[B+24>>2];m=+g[B+40>>2];y=-+g[B+48>>2];z=-+g[B+52>>2];A=-+g[B+56>>2];x=+g[e+48>>2];w=+g[e+52>>2];v=+g[e+56>>2];g[D+968>>2]=u*y+t*z+s*A+(u*x+t*w+s*v);g[D+972>>2]=r*y+q*z+p*A+(r*x+q*w+p*v);g[D+976>>2]=o*y+n*z+m*A+(o*x+n*w+m*v);g[D+980>>2]=0.0;v=+g[f+48>>2];w=+g[f+52>>2];x=+g[f+56>>2];O=+g[f>>2];N=+g[f+16>>2];M=+g[f+32>>2];L=+g[f+4>>2];K=+g[f+20>>2];J=+g[f+36>>2];I=+g[f+8>>2];H=+g[f+24>>2];G=+g[f+40>>2];g[D+904>>2]=u*O+t*N+s*M;g[D+908>>2]=u*L+t*K+s*J;g[D+912>>2]=u*I+t*H+s*G;g[D+916>>2]=0.0;g[D+920>>2]=r*O+q*N+p*M;g[D+924>>2]=r*L+q*K+p*J;g[D+928>>2]=r*I+q*H+p*G;g[D+932>>2]=0.0;g[D+936>>2]=o*O+n*N+m*M;g[D+940>>2]=o*L+n*K+m*J;g[D+944>>2]=o*I+n*H+m*G;l=D+948|0;c[l+0>>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;G=+Zb[c[(c[C>>2]|0)+48>>2]&15](C);c[D+680>>2]=17504;c[D+684>>2]=d;c[D+688>>2]=c[e+0>>2];c[D+692>>2]=c[e+4>>2];c[D+696>>2]=c[e+8>>2];c[D+700>>2]=c[e+12>>2];c[D+704>>2]=c[e+16>>2];c[D+708>>2]=c[e+20>>2];c[D+712>>2]=c[e+24>>2];c[D+716>>2]=c[e+28>>2];c[D+720>>2]=c[e+32>>2];c[D+724>>2]=c[e+36>>2];c[D+728>>2]=c[e+40>>2];c[D+732>>2]=c[e+44>>2];c[D+736>>2]=c[e+48>>2];c[D+740>>2]=c[e+52>>2];c[D+744>>2]=c[e+56>>2];c[D+748>>2]=c[e+60>>2];c[D+752>>2]=c[f+0>>2];c[D+756>>2]=c[f+4>>2];c[D+760>>2]=c[f+8>>2];c[D+764>>2]=c[f+12>>2];c[D+768>>2]=c[f+16>>2];c[D+772>>2]=c[f+20>>2];c[D+776>>2]=c[f+24>>2];c[D+780>>2]=c[f+28>>2];c[D+784>>2]=c[f+32>>2];c[D+788>>2]=c[f+36>>2];c[D+792>>2]=c[f+40>>2];c[D+796>>2]=c[f+44>>2];c[D+800>>2]=c[f+48>>2];c[D+804>>2]=c[f+52>>2];c[D+808>>2]=c[f+56>>2];c[D+812>>2]=c[f+60>>2];c[D+816>>2]=c[B+0>>2];c[D+820>>2]=c[B+4>>2];c[D+824>>2]=c[B+8>>2];c[D+828>>2]=c[B+12>>2];c[D+832>>2]=c[B+16>>2];c[D+836>>2]=c[B+20>>2];c[D+840>>2]=c[B+24>>2];c[D+844>>2]=c[B+28>>2];c[D+848>>2]=c[B+32>>2];c[D+852>>2]=c[B+36>>2];c[D+856>>2]=c[B+40>>2];c[D+860>>2]=c[B+44>>2];c[D+864>>2]=c[B+48>>2];c[D+868>>2]=c[B+52>>2];c[D+872>>2]=c[B+56>>2];c[D+876>>2]=c[B+60>>2];g[D+884>>2]=G;c[D+680>>2]=9320;c[D+892>>2]=j;c[D+896>>2]=l;c[D+900>>2]=C;g[D+880>>2]=+g[j+4>>2];g[D+888>>2]=k;tc[c[(c[d>>2]|0)+8>>2]&127](d,D+904|0,D+664|0,D+648|0);l=c[C+48>>2]|0;c[D+1600>>2]=12520;c[D+1604>>2]=l;c[D+1608>>2]=D+680;l=c[C+52>>2]|0;if(!(a[l+60>>0]|0)){tC(l,D+1600|0,D+968|0,u*y+t*z+s*A+(u*v+t*w+s*x),r*y+q*z+p*A+(r*v+q*w+p*x),o*y+n*z+m*A+(o*v+n*w+m*x),D+664|0,D+648|0);i=D;return}else{uC(l,D+1600|0,D+968|0,u*y+t*z+s*A+(u*v+t*w+s*x),r*y+q*z+p*A+(r*v+q*w+p*x),o*y+n*z+m*A+(o*v+n*w+m*x),D+664|0,D+648|0,c[l+56>>2]|0);i=D;return}}else if((l|0)==28){c[D+472>>2]=7512;c[D+640>>2]=0;g[D+644>>2]=k;g[D+636>>2]=+g[j+4>>2];c[D+448>>2]=19312;c[D+452>>2]=0;c[D+456>>2]=0;c[D+460>>2]=d;c[D+464>>2]=0;c[D+468>>2]=C;if(!(cD(D+448|0,e,f,B,B,D+472|0)|0)){i=D;return}l=D+604|0;m=+g[l>>2];n=+g[D+608>>2];o=+g[D+612>>2];if(!(m*m+n*n+o*o>9.999999747378752e-05)){i=D;return}p=+g[D+636>>2];if(!(p<+g[j+4>>2])){i=D;return}k=1.0/+P(+(m*m+n*n+o*o));g[l>>2]=m*k;g[D+608>>2]=n*k;g[D+612>>2]=o*k;c[D+400>>2]=c[h+8>>2];c[D+404>>2]=0;c[D+408>>2]=c[l+0>>2];c[D+412>>2]=c[l+4>>2];c[D+416>>2]=c[l+8>>2];c[D+420>>2]=c[l+12>>2];c[D+424>>2]=c[D+620>>2];c[D+428>>2]=c[D+624>>2];c[D+432>>2]=c[D+628>>2];c[D+436>>2]=c[D+632>>2];g[D+440>>2]=p;+fc[c[(c[j>>2]|0)+12>>2]&15](j,D+400|0,1);i=D;return}else{O=+g[B>>2];N=+g[B+16>>2];M=+g[B+32>>2];v=+g[B+4>>2];L=+g[B+20>>2];K=+g[B+36>>2];m=+g[B+8>>2];x=+g[B+24>>2];z=+g[B+40>>2];H=-+g[B+48>>2];q=-+g[B+52>>2];I=-+g[B+56>>2];J=+g[e+48>>2];r=+g[e+52>>2];p=+g[e+56>>2];n=O*H+N*q+M*I+(O*J+N*r+M*p);o=v*H+L*q+K*I+(v*J+L*r+K*p);p=m*H+x*q+z*I+(m*J+x*r+z*p);r=+g[f+48>>2];J=+g[f+52>>2];u=+g[f+56>>2];s=O*H+N*q+M*I+(O*r+N*J+M*u);t=v*H+L*q+K*I+(v*r+L*J+K*u);u=m*H+x*q+z*I+(m*r+x*J+z*u);J=+g[f>>2];r=+g[f+16>>2];I=+g[f+32>>2];q=+g[f+4>>2];H=+g[f+20>>2];G=+g[f+36>>2];w=+g[f+8>>2];y=+g[f+24>>2];A=+g[f+40>>2];g[D+336>>2]=O*J+N*r+M*I;g[D+340>>2]=O*q+N*H+M*G;g[D+344>>2]=O*w+N*y+M*A;g[D+348>>2]=0.0;g[D+352>>2]=v*J+L*r+K*I;g[D+356>>2]=v*q+L*H+K*G;g[D+360>>2]=v*w+L*y+K*A;g[D+364>>2]=0.0;g[D+368>>2]=m*J+x*r+z*I;g[D+372>>2]=m*q+x*H+z*G;g[D+376>>2]=m*w+x*y+z*A;E=D+380|0;c[E+0>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;E=c[h+8>>2]|0;A=+Zb[c[(c[C>>2]|0)+48>>2]&15](C);c[D+112>>2]=17504;c[D+116>>2]=d;c[D+120>>2]=c[e+0>>2];c[D+124>>2]=c[e+4>>2];c[D+128>>2]=c[e+8>>2];c[D+132>>2]=c[e+12>>2];c[D+136>>2]=c[e+16>>2];c[D+140>>2]=c[e+20>>2];c[D+144>>2]=c[e+24>>2];c[D+148>>2]=c[e+28>>2];c[D+152>>2]=c[e+32>>2];c[D+156>>2]=c[e+36>>2];c[D+160>>2]=c[e+40>>2];c[D+164>>2]=c[e+44>>2];c[D+168>>2]=c[e+48>>2];c[D+172>>2]=c[e+52>>2];c[D+176>>2]=c[e+56>>2];c[D+180>>2]=c[e+60>>2];c[D+184>>2]=c[f+0>>2];c[D+188>>2]=c[f+4>>2];c[D+192>>2]=c[f+8>>2];c[D+196>>2]=c[f+12>>2];c[D+200>>2]=c[f+16>>2];c[D+204>>2]=c[f+20>>2];c[D+208>>2]=c[f+24>>2];c[D+212>>2]=c[f+28>>2];c[D+216>>2]=c[f+32>>2];c[D+220>>2]=c[f+36>>2];c[D+224>>2]=c[f+40>>2];c[D+228>>2]=c[f+44>>2];c[D+232>>2]=c[f+48>>2];c[D+236>>2]=c[f+52>>2];c[D+240>>2]=c[f+56>>2];c[D+244>>2]=c[f+60>>2];c[D+248>>2]=c[B+0>>2];c[D+252>>2]=c[B+4>>2];c[D+256>>2]=c[B+8>>2];c[D+260>>2]=c[B+12>>2];c[D+264>>2]=c[B+16>>2];c[D+268>>2]=c[B+20>>2];c[D+272>>2]=c[B+24>>2];c[D+276>>2]=c[B+28>>2];c[D+280>>2]=c[B+32>>2];c[D+284>>2]=c[B+36>>2];c[D+288>>2]=c[B+40>>2];c[D+292>>2]=c[B+44>>2];c[D+296>>2]=c[B+48>>2];c[D+300>>2]=c[B+52>>2];c[D+304>>2]=c[B+56>>2];c[D+308>>2]=c[B+60>>2];g[D+316>>2]=A;c[D+112>>2]=9096;c[D+324>>2]=j;c[D+328>>2]=E;c[D+332>>2]=C;g[D+312>>2]=+g[j+4>>2];g[D+320>>2]=k;tc[c[(c[d>>2]|0)+8>>2]&127](d,D+336|0,D+96|0,D+80|0);g[D+64>>2]=n;g[D+68>>2]=o;g[D+72>>2]=p;g[D+76>>2]=0.0;if(s>2]=s;m=s}else m=n;if(t>2]=t;q=t}else q=o;if(u>2]=u;r=u}else r=p;g[D+48>>2]=n;g[D+52>>2]=o;g[D+56>>2]=p;g[D+60>>2]=0.0;if(n>2]=s;n=s}if(o>2]=t;o=t}if(p>2]=u;p=u}g[D+64>>2]=+g[D+96>>2]+m;g[D+68>>2]=+g[D+100>>2]+q;g[D+72>>2]=+g[D+104>>2]+r;g[D+48>>2]=+g[D+80>>2]+n;g[D+52>>2]=+g[D+84>>2]+o;g[D+56>>2]=+g[D+88>>2]+p;tc[c[(c[C>>2]|0)+64>>2]&127](C,D+112|0,D+64|0,D+48|0);i=D;return}}function Zu(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,p=0,q=0;q=i;i=i+256|0;c[q+32>>2]=8832;o=q+68|0;c[o+0>>2]=c[b+0>>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];p=q+84|0;c[p+0>>2]=c[d+0>>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[q+244>>2]=a;c[q+248>>2]=e;g[q+100>>2]=1.0;c[q+104>>2]=0;c[q+108>>2]=0;c[q+112>>2]=0;c[q+116>>2]=0;g[q+120>>2]=1.0;c[q+124>>2]=0;c[q+128>>2]=0;c[q+132>>2]=0;c[q+136>>2]=0;g[q+140>>2]=1.0;c[q+144>>2]=0;c[q+148>>2]=c[o+0>>2];c[q+152>>2]=c[o+4>>2];c[q+156>>2]=c[o+8>>2];c[q+160>>2]=c[o+12>>2];g[q+164>>2]=1.0;c[q+168>>2]=0;c[q+172>>2]=0;c[q+176>>2]=0;c[q+180>>2]=0;g[q+184>>2]=1.0;c[q+188>>2]=0;c[q+192>>2]=0;c[q+196>>2]=0;c[q+200>>2]=0;g[q+204>>2]=1.0;c[q+208>>2]=0;c[q+212>>2]=c[d+0>>2];c[q+216>>2]=c[d+4>>2];c[q+220>>2]=c[d+8>>2];c[q+224>>2]=c[d+12>>2];l=+g[d>>2]-+g[b>>2];n=+g[d+4>>2]-+g[b+4>>2];m=+g[d+8>>2]-+g[b+8>>2];k=1.0/+P(+(l*l+n*n+m*m));if(l*k==0.0)f=999999984306749440.0;else f=1.0/(l*k);g[q+36>>2]=f;if(n*k==0.0)h=999999984306749440.0;else h=1.0/(n*k);g[q+40>>2]=h;if(m*k==0.0)j=999999984306749440.0;else j=1.0/(m*k);g[q+44>>2]=j;c[q+52>>2]=f<0.0&1;c[q+56>>2]=h<0.0&1;c[q+60>>2]=j<0.0&1;g[q+64>>2]=l*k*(+g[p>>2]-+g[o>>2])+n*k*(+g[q+88>>2]-+g[q+72>>2])+m*k*(+g[q+92>>2]-+g[q+76>>2]);e=c[a+68>>2]|0;o=c[(c[e>>2]|0)+24>>2]|0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q+0>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;Xb[o&7](e,b,d,q+32|0,q+16|0,q);i=q;return}function _u(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,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0.0;r=i;i=i+416|0;aE(8440);c[r+144>>2]=c[d+0>>2];c[r+148>>2]=c[d+4>>2];c[r+152>>2]=c[d+8>>2];c[r+156>>2]=c[d+12>>2];c[r+160>>2]=c[d+16>>2];c[r+164>>2]=c[d+20>>2];c[r+168>>2]=c[d+24>>2];c[r+172>>2]=c[d+28>>2];c[r+176>>2]=c[d+32>>2];c[r+180>>2]=c[d+36>>2];c[r+184>>2]=c[d+40>>2];c[r+188>>2]=c[d+44>>2];p=r+192|0;c[p+0>>2]=c[d+48>>2];c[p+4>>2]=c[d+52>>2];c[p+8>>2]=c[d+56>>2];c[p+12>>2]=c[d+60>>2];c[r+80>>2]=c[e+0>>2];c[r+84>>2]=c[e+4>>2];c[r+88>>2]=c[e+8>>2];c[r+92>>2]=c[e+12>>2];c[r+96>>2]=c[e+16>>2];c[r+100>>2]=c[e+20>>2];c[r+104>>2]=c[e+24>>2];c[r+108>>2]=c[e+28>>2];c[r+112>>2]=c[e+32>>2];c[r+116>>2]=c[e+36>>2];c[r+120>>2]=c[e+40>>2];c[r+124>>2]=c[e+44>>2];q=r+128|0;c[q+0>>2]=c[e+48>>2];c[q+4>>2]=c[e+52>>2];c[q+8>>2]=c[e+56>>2];c[q+12>>2]=c[e+60>>2];Bp(r+144|0,r+80|0,r+212|0,r+208|0);t=+g[r+208>>2];o=t*+g[r+216>>2];l=t*+g[r+220>>2];g[r+32>>2]=+g[r+212>>2]*t;g[r+36>>2]=o;g[r+40>>2]=l;g[r+44>>2]=0.0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[r+216>>2]=0;c[r+220>>2]=0;c[r+236>>2]=0;c[r+240>>2]=0;s=r+256|0;c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;Fc(r+144|0,r);l=+g[r>>2];o=+g[r+4>>2];t=+g[r+8>>2];j=+g[r+12>>2];n=l*(2.0/(l*l+o*o+t*t+j*j));m=o*(2.0/(l*l+o*o+t*t+j*j));k=t*(2.0/(l*l+o*o+t*t+j*j));g[r+212>>2]=1.0-(o*m+t*k);g[r+216>>2]=l*m-j*k;g[r+220>>2]=l*k+j*m;g[r+224>>2]=0.0;g[r+228>>2]=l*m+j*k;g[r+232>>2]=1.0-(l*n+t*k);g[r+236>>2]=o*k-j*n;g[r+240>>2]=0.0;g[r+244>>2]=l*k-j*m;g[r+248>>2]=o*k+j*n;g[r+252>>2]=1.0-(l*n+o*m);g[s>>2]=0.0;wy(b,r+212|0,r+16|0,r+32|0,r+64|0,r+48|0);c[r+212>>2]=8720;c[r+248>>2]=c[d+0>>2];c[r+252>>2]=c[d+4>>2];c[r+256>>2]=c[d+8>>2];c[r+260>>2]=c[d+12>>2];c[r+264>>2]=c[d+16>>2];c[r+268>>2]=c[d+20>>2];c[r+272>>2]=c[d+24>>2];c[r+276>>2]=c[d+28>>2];c[r+280>>2]=c[d+32>>2];c[r+284>>2]=c[d+36>>2];c[r+288>>2]=c[d+40>>2];c[r+292>>2]=c[d+44>>2];s=r+296|0;c[s+0>>2]=c[d+48>>2];c[s+4>>2]=c[d+52>>2];c[s+8>>2]=c[d+56>>2];c[s+12>>2]=c[d+60>>2];c[r+312>>2]=c[e+0>>2];c[r+316>>2]=c[e+4>>2];c[r+320>>2]=c[e+8>>2];c[r+324>>2]=c[e+12>>2];c[r+328>>2]=c[e+16>>2];c[r+332>>2]=c[e+20>>2];c[r+336>>2]=c[e+24>>2];c[r+340>>2]=c[e+28>>2];c[r+344>>2]=c[e+32>>2];c[r+348>>2]=c[e+36>>2];c[r+352>>2]=c[e+40>>2];c[r+356>>2]=c[e+44>>2];d=r+360|0;c[d+0>>2]=c[e+48>>2];c[d+4>>2]=c[e+52>>2];c[d+8>>2]=c[e+56>>2];c[d+12>>2]=c[e+60>>2];c[r+392>>2]=a;c[r+396>>2]=f;g[r+400>>2]=h;c[r+404>>2]=b;m=+g[d>>2]-+g[s>>2];o=+g[r+364>>2]-+g[r+300>>2];n=+g[r+368>>2]-+g[r+304>>2];l=1.0/+P(+(m*m+o*o+n*n));if(m*l==0.0)h=999999984306749440.0;else h=1.0/(m*l);g[r+216>>2]=h;if(o*l==0.0)j=999999984306749440.0;else j=1.0/(o*l);g[r+220>>2]=j;if(n*l==0.0)k=999999984306749440.0;else k=1.0/(n*l);g[r+224>>2]=k;c[r+232>>2]=h<0.0&1;c[r+236>>2]=j<0.0&1;c[r+240>>2]=k<0.0&1;g[r+244>>2]=n*(n*l)+(m*(m*l)+o*(o*l));b=c[a+68>>2]|0;Xb[c[(c[b>>2]|0)+24>>2]&7](b,p,q,r+212|0,r+64|0,r+48|0);b=c[5104]|0;p=(c[b+16>>2]|0)+-1|0;c[b+16>>2]=p;if(p){i=r;return}do if(c[b+4>>2]|0){Cb(r+212|0,0)|0;p=c[5090]|0;g[b+8>>2]=+(((c[r+216>>2]|0)-(c[p+4>>2]|0)+(((c[r+212>>2]|0)-(c[p>>2]|0)|0)*1e6|0)-(c[b+12>>2]|0)|0)>>>0)/1.0e3+ +g[b+8>>2];if(!(c[b+16>>2]|0)){b=c[5104]|0;break}else{i=r;return}}while(0);c[5104]=c[b+20>>2];i=r;return}function $u(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+68>>2]=g;c[f+72>>2]=b;c[f+76>>2]=b+4;c[f+80>>2]=-1;c[f+84>>2]=-1;b=c[d+192>>2]|0;c[f+40>>2]=0;c[f+44>>2]=b;c[f+48>>2]=d;c[f+52>>2]=d+4;c[f+56>>2]=-1;c[f+60>>2]=-1;b=c[a+24>>2]|0;b=Rb[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]=8600;c[f+32>>2]=e;Hb[c[(c[b>>2]|0)+8>>2]&31](b,f+64|0,f+40|0,a+28|0,f);Jb[c[c[b>>2]>>2]&255](b);d=c[a+24>>2]|0;Lb[c[(c[d>>2]|0)+60>>2]&127](d,b);i=f;return}function av(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,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;t=i;i=i+480|0;f=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;rc[c[(c[f>>2]|0)+56>>2]&7](f,b,1.0);f=c[d+4>>2]|0;switch(f|0){case 13:{r=c[d+52>>2]|0;j=+Zb[c[(c[d>>2]|0)+92>>2]&15](d);c[t+304>>2]=c[d+28>>2];c[t+308>>2]=c[d+32>>2];c[t+312>>2]=c[d+36>>2];c[t+316>>2]=c[d+40>>2];l=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);k=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);h=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);g[t+304>>2]=l+ +g[t+304>>2];g[t+308>>2]=k+ +g[t+308>>2];g[t+312>>2]=h+ +g[t+312>>2];h=+g[t+304+(r<<2)>>2];d=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Pb[c[(c[d>>2]|0)+80>>2]&0](d,j,h,r,b,e);i=t;return}case 10:{r=c[d+52>>2]|0;j=+g[d+(((r+2|0)%3|0)<<2)+28>>2];h=+g[d+(r<<2)+28>>2];d=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Pb[c[(c[d>>2]|0)+76>>2]&0](d,j,h,r,b,e);i=t;return}case 9:{f=c[d+92>>2]|0;if((f|0)<=0){i=t;return}do{f=f+-1|0;r=c[d+100>>2]|0;E=+g[r+(f<<4)>>2];D=+g[r+(f<<4)+4>>2];j=+g[r+(f<<4)+8>>2];r=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[r>>2]|0)+16>>2]|0;h=+g[(c[d+120>>2]|0)+(f<<2)>>2];B=+g[b>>2];A=+g[b+4>>2];C=+g[b+8>>2];y=+g[b+16>>2];x=+g[b+20>>2];z=+g[b+24>>2];v=+g[b+32>>2];u=+g[b+36>>2];w=+g[b+40>>2];l=E*B+D*A+j*C+ +g[b+48>>2];k=E*y+D*x+j*z+ +g[b+52>>2];j=E*v+D*u+j*w+ +g[b+56>>2];g[t+320>>2]=B+A*0.0+C*0.0;g[t+324>>2]=B*0.0+A+C*0.0;g[t+328>>2]=C+(B*0.0+A*0.0);g[t+332>>2]=0.0;g[t+336>>2]=y+x*0.0+z*0.0;g[t+340>>2]=y*0.0+x+z*0.0;g[t+344>>2]=z+(y*0.0+x*0.0);g[t+348>>2]=0.0;g[t+352>>2]=v+u*0.0+w*0.0;g[t+356>>2]=v*0.0+u+w*0.0;g[t+360>>2]=w+(v*0.0+u*0.0);g[t+364>>2]=0.0;g[t+368>>2]=l;g[t+372>>2]=k;g[t+376>>2]=j;g[t+380>>2]=0.0;Qb[q&0](r,h,t+320|0,e)}while((f|0)>0);i=t;return}case 0:{c[t+400>>2]=c[d+28>>2];c[t+404>>2]=c[d+32>>2];c[t+408>>2]=c[d+36>>2];c[t+412>>2]=c[d+40>>2];x=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);y=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);z=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);x=x+ +g[t+400>>2];g[t+400>>2]=x;y=y+ +g[t+404>>2];g[t+404>>2]=y;z=z+ +g[t+408>>2];g[t+408>>2]=z;d=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;r=c[(c[d>>2]|0)+72>>2]|0;g[t+384>>2]=-x;g[t+388>>2]=-y;g[t+392>>2]=-z;g[t+396>>2]=0.0;Hb[r&31](d,t+384|0,t+400|0,b,e);i=t;return}case 28:{z=+g[d+64>>2];r=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;ac[c[(c[r>>2]|0)+88>>2]&0](r,d+48|0,z,b,e);i=t;return}case 31:{f=c[d+16>>2]|0;if((f|0)<=0){i=t;return}do{f=f+-1|0;r=c[d+24>>2]|0;A=+g[r+(f*80|0)>>2];C=+g[r+(f*80|0)+4>>2];k=+g[r+(f*80|0)+8>>2];B=+g[r+(f*80|0)+16>>2];j=+g[r+(f*80|0)+20>>2];l=+g[r+(f*80|0)+24>>2];h=+g[r+(f*80|0)+32>>2];D=+g[r+(f*80|0)+36>>2];v=+g[r+(f*80|0)+40>>2];M=+g[r+(f*80|0)+48>>2];L=+g[r+(f*80|0)+52>>2];z=+g[r+(f*80|0)+56>>2];r=c[r+(f*80|0)+64>>2]|0;q=c[(c[a>>2]|0)+28>>2]|0;K=+g[b>>2];J=+g[b+4>>2];I=+g[b+8>>2];H=+g[b+16>>2];G=+g[b+20>>2];F=+g[b+24>>2];E=+g[b+32>>2];u=+g[b+36>>2];w=+g[b+40>>2];x=M*K+L*J+z*I+ +g[b+48>>2];y=M*H+L*G+z*F+ +g[b+52>>2];z=M*E+L*u+z*w+ +g[b+56>>2];g[t+416>>2]=A*K+B*J+h*I;g[t+420>>2]=C*K+j*J+D*I;g[t+424>>2]=k*K+l*J+v*I;g[t+428>>2]=0.0;g[t+432>>2]=A*H+B*G+h*F;g[t+436>>2]=C*H+j*G+D*F;g[t+440>>2]=k*H+l*G+v*F;g[t+444>>2]=0.0;g[t+448>>2]=A*E+B*u+h*w;g[t+452>>2]=C*E+j*u+D*w;g[t+456>>2]=k*E+l*u+v*w;g[t+460>>2]=0.0;g[t+464>>2]=x;g[t+468>>2]=y;g[t+472>>2]=z;g[t+476>>2]=0.0;tc[q&127](a,t+416|0,r,e)}while((f|0)>0);i=t;return}case 11:{K=+g[d+56>>2];L=+g[d+60>>2];d=c[d+68>>2]|0;r=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Pb[c[(c[r>>2]|0)+84>>2]&0](r,K,L,d,b,e);i=t;return}case 8:{L=+Zb[c[(c[d>>2]|0)+48>>2]&15](d);d=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;Qb[c[(c[d>>2]|0)+16>>2]&0](d,L,b,e);i=t;return}default:{a:do if((f|0)<7){r=c[d+52>>2]|0;if(!r){if((Nb[c[(c[d>>2]|0)+100>>2]&127](d)|0)<=0)break;f=0;while(1){tc[c[(c[d>>2]|0)+104>>2]&127](d,f,t+208|0,t+192|0);J=+g[t+208>>2];E=+g[b>>2];H=+g[t+212>>2];k=+g[b+4>>2];F=+g[t+216>>2];D=+g[b+8>>2];C=+g[b+16>>2];h=+g[b+20>>2];B=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];j=+g[b+48>>2];A=+g[b+52>>2];L=+g[b+56>>2];g[t+176>>2]=J*E+H*k+F*D+j;g[t+180>>2]=J*C+H*h+F*B+A;g[t+184>>2]=J*G+H*I+F*K+L;g[t+188>>2]=0.0;F=+g[t+192>>2];H=+g[t+196>>2];J=+g[t+200>>2];g[t+160>>2]=F*E+H*k+J*D+j;g[t+164>>2]=F*C+H*h+J*B+A;g[t+168>>2]=F*G+H*I+J*K+L;g[t+172>>2]=0.0;r=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;tc[c[(c[r>>2]|0)+8>>2]&127](r,t+176|0,t+160|0,e);f=f+1|0;if((f|0)>=(Nb[c[(c[d>>2]|0)+100>>2]&127](d)|0))break a}}if((c[r+28>>2]|0)>0){s=0;do{f=c[r+36>>2]|0;q=c[f+(s*36|0)+4>>2]|0;b:do if((q|0)>0){o=c[f+(s*36|0)+12>>2]|0;m=o;j=0.0;h=0.0;k=0.0;o=c[o+(q+-1<<2)>>2]|0;f=0;while(1){p=c[m+(f<<2)>>2]|0;n=c[r+16>>2]|0;j=j+ +g[n+(p<<4)>>2];h=h+ +g[n+(p<<4)+4>>2];k=k+ +g[n+(p<<4)+8>>2];n=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;m=c[(c[n>>2]|0)+8>>2]|0;N=c[r+16>>2]|0;J=+g[N+(o<<4)>>2];v=+g[b>>2];H=+g[N+(o<<4)+4>>2];u=+g[b+4>>2];F=+g[N+(o<<4)+8>>2];l=+g[b+8>>2];D=+g[b+16>>2];C=+g[b+20>>2];B=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];E=+g[b+48>>2];A=+g[b+52>>2];L=+g[b+56>>2];g[t+288>>2]=J*v+H*u+F*l+E;g[t+292>>2]=J*D+H*C+F*B+A;g[t+296>>2]=J*G+H*I+F*K+L;g[t+300>>2]=0.0;F=+g[N+(p<<4)>>2];H=+g[N+(p<<4)+4>>2];J=+g[N+(p<<4)+8>>2];g[t+272>>2]=F*v+H*u+J*l+E;g[t+276>>2]=F*D+H*C+J*B+A;g[t+280>>2]=F*G+H*I+J*K+L;g[t+284>>2]=0.0;tc[m&127](n,t+288|0,t+272|0,e);n=f+1|0;f=c[r+36>>2]|0;if((n|0)>=(c[f+(s*36|0)+4>>2]|0))break b;m=c[f+(s*36|0)+12>>2]|0;o=p;f=n}}else{j=0.0;h=0.0;k=0.0}while(0);l=j*(1.0/+(q|0));j=h*(1.0/+(q|0));h=k*(1.0/+(q|0));N=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;if((Nb[c[(c[N>>2]|0)+48>>2]&127](N)|0)&16384){g[t+256>>2]=1.0;g[t+260>>2]=1.0;g[t+264>>2]=0.0;g[t+268>>2]=0.0;N=c[r+36>>2]|0;F=+g[N+(s*36|0)+20>>2];H=+g[N+(s*36|0)+24>>2];J=+g[N+(s*36|0)+28>>2];N=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;q=c[(c[N>>2]|0)+8>>2]|0;v=+g[b>>2];u=+g[b+4>>2];E=+g[b+8>>2];D=+g[b+16>>2];C=+g[b+20>>2];B=+g[b+24>>2];G=+g[b+32>>2];I=+g[b+36>>2];K=+g[b+40>>2];k=+g[b+48>>2];A=+g[b+52>>2];L=+g[b+56>>2];g[t+240>>2]=l*v+j*u+h*E+k;g[t+244>>2]=l*D+j*C+h*B+A;g[t+248>>2]=l*G+j*I+h*K+L;g[t+252>>2]=0.0;g[t+224>>2]=(l+F)*v+(j+H)*u+(h+J)*E+k;g[t+228>>2]=(l+F)*D+(j+H)*C+(h+J)*B+A;g[t+232>>2]=(l+F)*G+(j+H)*I+(h+J)*K+L;g[t+236>>2]=0.0;tc[q&127](N,t+240|0,t+224|0,t+256|0)}s=s+1|0}while((s|0)<(c[r+28>>2]|0))}}while(0);f=c[d+4>>2]|0;if((f+-21|0)>>>0<9){g[t+144>>2]=999999984306749440.0;g[t+148>>2]=999999984306749440.0;g[t+152>>2]=999999984306749440.0;g[t+156>>2]=0.0;g[t+128>>2]=-999999984306749440.0;g[t+132>>2]=-999999984306749440.0;g[t+136>>2]=-999999984306749440.0;g[t+140>>2]=0.0;f=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t+32>>2]=8496;c[t+36>>2]=8520;c[t+40>>2]=f;c[t+44>>2]=c[e+0>>2];c[t+48>>2]=c[e+4>>2];c[t+52>>2]=c[e+8>>2];c[t+56>>2]=c[e+12>>2];c[t+60>>2]=c[b+0>>2];c[t+64>>2]=c[b+4>>2];c[t+68>>2]=c[b+8>>2];c[t+72>>2]=c[b+12>>2];c[t+76>>2]=c[b+16>>2];c[t+80>>2]=c[b+20>>2];c[t+84>>2]=c[b+24>>2];c[t+88>>2]=c[b+28>>2];c[t+92>>2]=c[b+32>>2];c[t+96>>2]=c[b+36>>2];c[t+100>>2]=c[b+40>>2];c[t+104>>2]=c[b+44>>2];c[t+108>>2]=c[b+48>>2];c[t+112>>2]=c[b+52>>2];c[t+116>>2]=c[b+56>>2];c[t+120>>2]=c[b+60>>2];tc[c[(c[d>>2]|0)+64>>2]&127](d,t+32|0,t+128|0,t+144|0);f=c[d+4>>2]|0}if((f|0)!=3){i=t;return}g[t+16>>2]=999999984306749440.0;g[t+20>>2]=999999984306749440.0;g[t+24>>2]=999999984306749440.0;g[t+28>>2]=0.0;g[t>>2]=-999999984306749440.0;g[t+4>>2]=-999999984306749440.0;g[t+8>>2]=-999999984306749440.0;g[t+12>>2]=0.0;N=Nb[c[(c[a>>2]|0)+20>>2]&127](a)|0;c[t+32>>2]=8496;c[t+36>>2]=8520;c[t+40>>2]=N;c[t+44>>2]=c[e+0>>2];c[t+48>>2]=c[e+4>>2];c[t+52>>2]=c[e+8>>2];c[t+56>>2]=c[e+12>>2];c[t+60>>2]=c[b+0>>2];c[t+64>>2]=c[b+4>>2];c[t+68>>2]=c[b+8>>2];c[t+72>>2]=c[b+12>>2];c[t+76>>2]=c[b+16>>2];c[t+80>>2]=c[b+20>>2];c[t+84>>2]=c[b+24>>2];c[t+88>>2]=c[b+28>>2];c[t+92>>2]=c[b+32>>2];c[t+96>>2]=c[b+36>>2];c[t+100>>2]=c[b+40>>2];c[t+104>>2]=c[b+44>>2];c[t+108>>2]=c[b+48>>2];c[t+112>>2]=c[b+52>>2];c[t+116>>2]=c[b+56>>2];c[t+120>>2]=c[b+60>>2];d=c[d+92>>2]|0;tc[c[(c[d>>2]|0)+8>>2]&127](d,t+36|0,t,t+16|0);i=t;return}}}function bv(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+112|0;if(((Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(e=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Nb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&8|0)!=0):0)?(f=c[b+24>>2]|0,f=Nb[c[(c[f>>2]|0)+36>>2]&127](f)|0,g[r+96>>2]=1.0,g[r+100>>2]=1.0,g[r+104>>2]=0.0,g[r+108>>2]=0.0,(f|0)>0):0){j=0;do{h=c[b+24>>2]|0;h=ec[c[(c[h>>2]|0)+40>>2]&31](h,j)|0;e=c[h+748>>2]|0;if((e|0)>0){k=0;do{q=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;Kb[c[(c[q>>2]|0)+32>>2]&0](q,h+(k*184|0)+36|0,h+(k*184|0)+68|0,+g[h+(k*184|0)+84>>2],c[h+(k*184|0)+152>>2]|0,r+96|0);k=k+1|0}while((k|0)!=(e|0))}j=j+1|0}while((j|0)!=(f|0))}if(!(Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)){i=r;return}e=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0;if(!((Nb[c[(c[e>>2]|0)+48>>2]&127](e)|0)&3)){i=r;return}if((c[b+8>>2]|0)<=0){i=r;return}h=r+84|0;f=r+88|0;e=r+92|0;q=0;do{k=c[(c[b+16>>2]|0)+(q<<2)>>2]|0;if(!(c[k+204>>2]&32)){if((Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0)!=0?(j=Nb[c[(c[b>>2]|0)+20>>2]&127](b)|0,((Nb[c[(c[j>>2]|0)+48>>2]&127](j)|0)&1|0)!=0):0){g[r+80>>2]=1.0;g[h>>2]=1.0;g[f>>2]=1.0;g[e>>2]=0.0;switch(c[k+216>>2]|0){case 3:{g[r+80>>2]=0.0;g[h>>2]=1.0;g[f>>2]=1.0;g[e>>2]=0.0;break}case 2:{g[r+80>>2]=0.0;g[h>>2]=1.0;g[f>>2]=0.0;g[e>>2]=0.0;break}case 4:{g[r+80>>2]=1.0;g[h>>2]=0.0;g[f>>2]=0.0;g[e>>2]=0.0;break}case 1:{g[r+80>>2]=1.0;g[h>>2]=1.0;g[f>>2]=1.0;g[e>>2]=0.0;break}case 5:{g[r+80>>2]=1.0;g[h>>2]=1.0;g[f>>2]=0.0;g[e>>2]=0.0;break}default:{g[r+80>>2]=1.0;g[h>>2]=0.0;g[f>>2]=0.0;g[e>>2]=0.0}}tc[c[(c[b>>2]|0)+28>>2]&127](b,k+4|0,c[k+192>>2]|0,r+80|0)}j=c[b+72>>2]|0;if((j|0)!=0?((Nb[c[(c[j>>2]|0)+48>>2]&127](j)|0)&2|0)!=0:0){g[r+32>>2]=1.0;g[r+36>>2]=0.0;g[r+40>>2]=0.0;g[r+44>>2]=0.0;j=c[k+192>>2]|0;tc[c[(c[j>>2]|0)+8>>2]&127](j,k+4|0,r+64|0,r+48|0);g[r+64>>2]=+g[r+64>>2]+-.019999999552965164;g[r+68>>2]=+g[r+68>>2]+-.019999999552965164;g[r+72>>2]=+g[r+72>>2]+-.019999999552965164;g[r+48>>2]=+g[r+48>>2]+.019999999552965164;g[r+52>>2]=+g[r+52>>2]+.019999999552965164;g[r+56>>2]=+g[r+56>>2]+.019999999552965164;do if(((a[b+44>>0]|0)!=0?(c[k+236>>2]|0)==2:0)?(c[k+204>>2]&3|0)==0:0){j=c[k+192>>2]|0;tc[c[(c[j>>2]|0)+8>>2]&127](j,k+68|0,r+16|0,r);d=+g[r+16>>2]+-.019999999552965164;g[r+16>>2]=d;m=+g[r+20>>2]+-.019999999552965164;g[r+20>>2]=m;l=+g[r+24>>2]+-.019999999552965164;g[r+24>>2]=l;n=+g[r>>2]+.019999999552965164;g[r>>2]=n;p=+g[r+4>>2]+.019999999552965164;g[r+4>>2]=p;o=+g[r+8>>2]+.019999999552965164;g[r+8>>2]=o;if(d<+g[r+64>>2])g[r+64>>2]=d;if(m<+g[r+68>>2])g[r+68>>2]=m;if(l<+g[r+72>>2])g[r+72>>2]=l;d=+g[r+28>>2];if(d<+g[r+76>>2])g[r+76>>2]=d;if(+g[r+48>>2]>2]=n;if(+g[r+52>>2]>2]=p;if(+g[r+56>>2]>2]=o;d=+g[r+12>>2];if(!(+g[r+60>>2]>2]=d}while(0);j=c[b+72>>2]|0;tc[c[(c[j>>2]|0)+52>>2]&127](j,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 cv(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){Lb[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){gv(x);i=x;return}k=-1;l=0;h=0;f=0;m=0;q=0;while(1){p=c[(c[(c[b+16>>2]|0)+(q<<2)>>2]|0)+192>>2]|0;o=(p+~(p<<15)>>10^p+~(p<<15))*9|0;o=(o>>6^o)+~((o>>6^o)<<11)>>16^(o>>6^o)+~((o>>6^o)<<11);g=o&k;a:do if(g>>>0>>0?(u=c[h+(g<<2)>>2]|0,(u|0)!=-1):0){g=c[x+72>>2]|0;j=u;while(1){if((p|0)==(c[g+(j<<3)>>2]|0))break;j=c[f+(j<<2)>>2]|0;if((j|0)==-1){w=15;break a}}if((j|0)!=-1?((c[x+52>>2]|0)+(j<<2)|0)!=0:0)g=m;else w=15}else w=15;while(0);if((w|0)==15){w=0;g=o&m+-1;b:do if(g>>>0>>0?(v=c[h+(g<<2)>>2]|0,(v|0)!=-1):0){j=c[x+72>>2]|0;e=v;while(1){if((p|0)==(c[j+(e<<3)>>2]|0))break;e=c[f+(e<<2)>>2]|0;if((e|0)==-1){w=22;break b}}if((e|0)!=-1){c[(c[x+52>>2]|0)+(e<<2)>>2]=p;g=m;e=h}else w=22}else w=22;while(0);if((w|0)==22){w=0;n=c[x+44>>2]|0;if((n|0)==(m|0)){f=(m|0)==0?1:m<<1;if((m|0)<(f|0)){if((f|0)!=0?(c[5108]=(c[5108]|0)+1,s=QE((f<<2|3)+16|0)|0,(s|0)!=0):0){c[(s+19&-16)+-4>>2]=s;e=s+19&-16}else e=0;if((m|0)>0){h=0;do{j=e+(h<<2)|0;if(j)c[j>>2]=c[(c[x+52>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(m|0))}h=c[x+52>>2]|0;if(h){if(a[x+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[x+52>>2]=0}a[x+56>>0]=1;c[x+52>>2]=e;c[x+48>>2]=f;f=m}else f=m}else f=n;e=(c[x+52>>2]|0)+(f<<2)|0;if(e)c[e>>2]=p;c[x+44>>2]=f+1;f=c[x+64>>2]|0;if((f|0)==(c[x+68>>2]|0)?(r=(f|0)==0?1:f<<1,(f|0)<(r|0)):0){if((r|0)!=0?(c[5108]=(c[5108]|0)+1,t=QE((r<<3|3)+16|0)|0,(t|0)!=0):0){c[(t+19&-16)+-4>>2]=t;e=t+19&-16}else e=0;if((f|0)>0){h=0;do{j=e+(h<<3)|0;if(j){k=(c[x+72>>2]|0)+(h<<3)|0;l=c[k+4>>2]|0;c[j>>2]=c[k>>2];c[j+4>>2]=l}h=h+1|0}while((h|0)!=(f|0))}f=c[x+72>>2]|0;if(f){if(a[x+76>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[f+-4>>2]|0)}c[x+72>>2]=0}a[x+76>>0]=1;c[x+72>>2]=e;c[x+68>>2]=r;f=c[x+64>>2]|0}e=(c[x+72>>2]|0)+(f<<3)|0;if(e){c[e>>2]=p;c[e+4>>2]=0}c[x+64>>2]=f+1;f=c[x+48>>2]|0;if((m|0)<(f|0)){l=c[x+4>>2]|0;do if((l|0)<(f|0)){if((l|0)<=(f|0)){if((c[x+8>>2]|0)<(f|0)){do if(!f)h=0;else{c[5108]=(c[5108]|0)+1;g=QE((f<<2|3)+16|0)|0;if(!g){h=0;break}c[(g+19&-16)+-4>>2]=g;h=g+19&-16}while(0);g=c[x+12>>2]|0;if((l|0)>0){e=0;do{j=h+(e<<2)|0;if(j)c[j>>2]=c[g+(e<<2)>>2];e=e+1|0}while((e|0)!=(l|0))}if(g){if(a[x+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0)}c[x+12>>2]=0}a[x+16>>0]=1;c[x+12>>2]=h;c[x+8>>2]=f}else h=c[x+12>>2]|0;e=l;do{g=h+(e<<2)|0;if(g)c[g>>2]=0;e=e+1|0}while((e|0)!=(f|0))}c[x+4>>2]=f;k=c[x+24>>2]|0;if((k|0)<(f|0)){if((c[x+28>>2]|0)<(f|0)){do if(!f)j=0;else{c[5108]=(c[5108]|0)+1;g=QE((f<<2|3)+16|0)|0;if(!g){j=0;break}c[(g+19&-16)+-4>>2]=g;j=g+19&-16}while(0);h=c[x+32>>2]|0;if((k|0)>0){e=0;do{g=j+(e<<2)|0;if(g)c[g>>2]=c[h+(e<<2)>>2];e=e+1|0}while((e|0)!=(k|0))}if(h){if(a[x+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[h+-4>>2]|0)}c[x+32>>2]=0}a[x+36>>0]=1;c[x+32>>2]=j;c[x+28>>2]=f}else j=c[x+32>>2]|0;g=k;do{h=j+(g<<2)|0;if(h)c[h>>2]=0;g=g+1|0}while((g|0)!=(f|0))}c[x+24>>2]=f;if((f|0)>0){VE(c[x+12>>2]|0,-1,f<<2|0)|0;VE(c[x+32>>2]|0,-1,f<<2|0)|0}if((l|0)<=0){g=c[x+48>>2]|0;break}j=c[x+72>>2]|0;h=c[x+12>>2]|0;f=c[x+32>>2]|0;g=c[x+48>>2]|0;e=0;do{m=c[j+(e<<3)>>2]|0;m=(m+~(m<<15)>>10^m+~(m<<15))*9|0;m=h+((((m>>6^m)+~((m>>6^m)<<11)>>16^(m>>6^m)+~((m>>6^m)<<11))&g+-1)<<2)|0;c[f+(e<<2)>>2]=c[m>>2];c[m>>2]=e;e=e+1|0}while((e|0)!=(l|0))}else g=f;while(0);f=g;g=o&g+-1}e=c[x+12>>2]|0;g=e+(g<<2)|0;o=c[x+32>>2]|0;c[o+(n<<2)>>2]=c[g>>2];c[g>>2]=n;g=f;f=o}Lb[c[(c[p>>2]|0)+60>>2]&127](p,d);h=e;e=c[b+8>>2]|0}j=q+1|0;if((j|0)>=(e|0))break;k=g+-1|0;l=c[x+4>>2]|0;m=g;q=j}gv(x);i=x;return}function dv(a,b){a=a|0;b=b|0;var d=0;d=i;Jb[c[(c[b>>2]|0)+32>>2]&255](b);cv(a,b);Jb[c[(c[b>>2]|0)+36>>2]&255](b);i=d;return}function ev(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,y=0.0;j=+g[c+48>>2]-+g[b+48>>2];h=+g[c+52>>2]-+g[b+52>>2];e=+g[c+56>>2]-+g[b+56>>2];p=+g[b>>2];y=+g[c>>2];o=+g[b+16>>2];x=+g[c+16>>2];n=+g[b+32>>2];w=+g[c+32>>2];v=+g[c+4>>2];u=+g[c+20>>2];t=+g[c+36>>2];s=+g[c+8>>2];r=+g[c+24>>2];q=+g[c+40>>2];m=+g[b+4>>2];l=+g[b+20>>2];k=+g[b+36>>2];i=+g[b+8>>2];f=+g[b+24>>2];d=+g[b+40>>2];g[a>>2]=p*y+o*x+n*w;g[a+4>>2]=p*v+o*u+n*t;g[a+8>>2]=p*s+o*r+n*q;g[a+12>>2]=0.0;g[a+16>>2]=y*m+x*l+w*k;g[a+20>>2]=v*m+u*l+t*k;g[a+24>>2]=s*m+r*l+q*k;g[a+28>>2]=0.0;g[a+32>>2]=y*i+x*f+w*d;g[a+36>>2]=v*i+u*f+t*d;g[a+40>>2]=s*i+r*f+q*d;g[a+44>>2]=0.0;g[a+48>>2]=j*p+h*o+e*n;g[a+52>>2]=j*m+h*l+e*k;g[a+56>>2]=j*i+h*f+e*d;g[a+60>>2]=0.0;return}function fv(a){a=a|0;return}function gv(b){b=b|0;var d=0,e=0;e=i;d=c[b+72>>2]|0;if(d){if(a[b+76>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+56>>0]|0){c[5110]=(c[5110]|0)+1;RE(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){if(a[b+36>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+8|0;c[d>>2]=0;i=e;return}if(a[b+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(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;d=b+8|0;c[d>>2]=0;i=e;return}function hv(a){a=a|0;return}function iv(a){a=a|0;var b=0;b=i;RE(a+-4|0);i=b;return}function jv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a+-4>>2]|0)+8>>2]&127](a+-4|0,b,d,e);i=f;return}function kv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;tc[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e);i=f;return}function lv(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;e=i;i=i+96|0;l=+g[b>>2];m=+g[a+28>>2];x=+g[b+4>>2];y=+g[a+32>>2];z=+g[b+8>>2];A=+g[a+36>>2];B=+g[a+44>>2];C=+g[a+48>>2];D=+g[a+52>>2];E=+g[a+60>>2];n=+g[a+64>>2];o=+g[a+68>>2];p=+g[a+76>>2];q=+g[a+80>>2];r=+g[a+84>>2];g[e+80>>2]=l*m+x*y+z*A+p;g[e+84>>2]=l*B+x*C+z*D+q;g[e+88>>2]=l*E+x*n+z*o+r;g[e+92>>2]=0.0;s=+g[b+16>>2];t=+g[b+20>>2];u=+g[b+24>>2];g[e+64>>2]=s*m+t*y+u*A+p;g[e+68>>2]=s*B+t*C+u*D+q;g[e+72>>2]=s*E+t*n+u*o+r;g[e+76>>2]=0.0;v=+g[b+32>>2];w=+g[b+36>>2];f=+g[b+40>>2];g[e+48>>2]=v*m+w*y+f*A+p;g[e+52>>2]=v*B+w*C+f*D+q;g[e+56>>2]=v*E+w*n+f*o+r;g[e+60>>2]=0.0;h=(l*m+x*y+z*A+p+(s*m+t*y+u*A+p)+(v*m+w*y+f*A+p))*.3333333432674408;j=(l*B+x*C+z*D+q+(s*B+t*C+u*D+q)+(v*B+w*C+f*D+q))*.3333333432674408;k=(l*E+x*n+z*o+r+(s*E+t*n+u*o+r)+(v*E+w*n+f*o+r))*.3333333432674408;g[e+32>>2]=h;g[e+36>>2]=j;g[e+40>>2]=k;g[e+44>>2]=0.0;d=c[a+8>>2]|0;if(!((Nb[c[(c[d>>2]|0)+48>>2]&127](d)|0)&16384)){b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;d=a+12|0;tc[F&127](b,e+80|0,e+64|0,d);b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;tc[F&127](b,e+64|0,e+48|0,d);b=c[a+8>>2]|0;a=c[b>>2]|0;a=a+8|0;a=c[a>>2]|0;tc[a&127](b,e+48|0,e+80|0,d);i=e;return}H=s*m+t*y+u*A+p-(l*m+x*y+z*A+p);G=s*B+t*C+u*D+q-(l*B+x*C+z*D+q);u=s*E+t*n+u*o+r-(l*E+x*n+z*o+r);A=v*m+w*y+f*A+p-(l*m+x*y+z*A+p);C=v*B+w*C+f*D+q-(l*B+x*C+z*D+q);z=v*E+w*n+f*o+r-(l*E+x*n+z*o+r);B=1.0/+P(+((H*C-G*A)*(H*C-G*A)+((G*z-u*C)*(G*z-u*C)+(u*A-H*z)*(u*A-H*z))));g[e+16>>2]=1.0;g[e+20>>2]=1.0;g[e+24>>2]=0.0;g[e+28>>2]=0.0;b=c[a+8>>2]|0;F=c[(c[b>>2]|0)+8>>2]|0;g[e>>2]=B*(G*z-u*C)+h;g[e+4>>2]=B*(u*A-H*z)+j;g[e+8>>2]=B*(H*C-G*A)+k;g[e+12>>2]=0.0;tc[F&127](b,e+32|0,e,e+16|0);b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;d=a+12|0;tc[F&127](b,e+80|0,e+64|0,d);b=c[a+8>>2]|0;F=c[b>>2]|0;F=F+8|0;F=c[F>>2]|0;tc[F&127](b,e+64|0,e+48|0,d);b=c[a+8>>2]|0;a=c[b>>2]|0;a=a+8|0;a=c[a>>2]|0;tc[a&127](b,e+48|0,e+80|0,d);i=e;return}function mv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function nv(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,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0;u=i;i=i+192|0;p=c[(c[b+4>>2]|0)+740>>2]|0;q=c[(c[b+8>>2]|0)+8>>2]|0;h=+g[e>>2];r=+g[d>>2]*f+h;j=+g[e+4>>2];t=+g[d+4>>2]*f+j;k=+g[e+8>>2];s=+g[d+8>>2]*f+k;o=c[(c[b+12>>2]|0)+8>>2]|0;if((p|0)!=(q|0)){x=r-+g[o+52>>2];n=t-+g[o+56>>2];m=s-+g[o+60>>2];w=h-+g[q+52>>2];v=j-+g[q+56>>2];k=k-+g[q+60>>2];j=w*+g[q+4>>2]+v*+g[q+20>>2]+k*+g[q+36>>2];h=x*+g[o+4>>2]+n*+g[o+20>>2]+m*+g[o+36>>2];l=x*+g[o+8>>2]+n*+g[o+24>>2]+m*+g[o+40>>2];m=x*+g[o+12>>2]+n*+g[o+28>>2]+m*+g[o+44>>2];n=w*+g[q+8>>2]+v*+g[q+24>>2]+k*+g[q+40>>2];k=w*+g[q+12>>2]+v*+g[q+28>>2]+k*+g[q+44>>2]}else{x=r-+g[p+52>>2];n=t-+g[p+56>>2];m=s-+g[p+60>>2];w=h-+g[o+52>>2];v=j-+g[o+56>>2];k=k-+g[o+60>>2];j=w*+g[o+4>>2]+v*+g[o+20>>2]+k*+g[o+36>>2];h=x*+g[p+4>>2]+n*+g[p+20>>2]+m*+g[p+36>>2];l=x*+g[p+8>>2]+n*+g[p+24>>2]+m*+g[p+40>>2];m=x*+g[p+12>>2]+n*+g[p+28>>2]+m*+g[p+44>>2];n=w*+g[o+8>>2]+v*+g[o+24>>2]+k*+g[o+40>>2];k=w*+g[o+12>>2]+v*+g[o+28>>2]+k*+g[o+44>>2]}g[u>>2]=h;g[u+4>>2]=l;g[u+8>>2]=m;g[u+12>>2]=0.0;g[u+16>>2]=j;g[u+20>>2]=n;g[u+24>>2]=k;g[u+28>>2]=0.0;c[u+64>>2]=c[d+0>>2];c[u+68>>2]=c[d+4>>2];c[u+72>>2]=c[d+8>>2];c[u+76>>2]=c[d+12>>2];g[u+80>>2]=f;g[u+84>>2]=0.0;g[u+88>>2]=0.0;g[u+92>>2]=0.0;c[u+112>>2]=0;a[u+116>>0]=0;c[u+120>>2]=0;c[u+124>>2]=0;c[u+128>>2]=0;c[u+132>>2]=0;c[u+136>>2]=0;c[u+140>>2]=0;c[u+144>>2]=0;c[u+148>>2]=0;g[u+48>>2]=r;g[u+52>>2]=t;g[u+56>>2]=s;g[u+60>>2]=0.0;c[u+32>>2]=c[e+0>>2];c[u+36>>2]=c[e+4>>2];c[u+40>>2]=c[e+8>>2];c[u+44>>2]=c[e+12>>2];if((p|0)!=(q|0)){y=c[b+20>>2]|0;c[u+96>>2]=y;d=c[b+16>>2]|0;c[u+100>>2]=d;o=b+24|0;e=c[b+28>>2]|0;z=u+104|0;c[z>>2]=e;o=c[o>>2]|0;z=u+108|0;c[z>>2]=o;z=(p|0)!=(q|0)?b+12|0:b+8|0;z=c[z>>2]|0;p=(p|0)!=(q|0)?b+8|0:b+12|0;p=c[p>>2]|0;q=b+32|0;q=c[q>>2]|0;b=c[q>>2]|0;b=b+12|0;b=c[b>>2]|0;+Tb[b&1](q,u,z,y,e,p,d,o);i=u;return}else{y=c[b+16>>2]|0;c[u+96>>2]=y;d=c[b+20>>2]|0;c[u+100>>2]=d;o=b+28|0;e=c[b+24>>2]|0;z=u+104|0;c[z>>2]=e;o=c[o>>2]|0;z=u+108|0;c[z>>2]=o;z=(p|0)!=(q|0)?b+12|0:b+8|0;z=c[z>>2]|0;p=(p|0)!=(q|0)?b+8|0:b+12|0;p=c[p>>2]|0;q=b+32|0;q=c[q>>2]|0;b=c[q>>2]|0;b=b+12|0;b=c[b>>2]|0;+Tb[b&1](q,u,z,y,e,p,d,o);i=u;return}}function ov(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function pv(a){a=a|0;return}function qv(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){b=0;i=e;return b|0}b=c[b>>2]|0;if(!(ec[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){b=1;i=e;return b|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;Yu(h,a+36|0,a+100|0,e,d,f);b=1;i=e;return b|0}function rv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function sv(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){b=0;i=e;return b|0}b=c[b>>2]|0;if(!(ec[c[(c[d>>2]|0)+8>>2]&31](d,c[b+188>>2]|0)|0)){b=1;i=e;return b|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;Xu(a+68|0,a+132|0,e,d);b=1;i=e;return b|0}function tv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=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;h=c[a+12>>2]|0;f=+fc[c[(c[h>>2]|0)+12>>2]&15](h,b,d);g[a+4>>2]=+g[(c[a+12>>2]|0)+4>>2];i=e;return +f}function vv(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+12>>2]|0;b=ec[c[(c[a>>2]|0)+8>>2]&31](a,b)|0;i=d;return b|0}function wv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function xv(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+52>>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+0>>2];c[j+12>>2]=c[b+4>>2];c[j+16>>2]=c[b+8>>2];c[j+20>>2]=c[b+12>>2];c[j+24>>2]=c[d+0>>2];c[j+28>>2]=c[d+4>>2];c[j+32>>2]=c[d+8>>2];c[j+36>>2]=c[d+12>>2];g[j+40>>2]=e;e=+fc[c[(c[f>>2]|0)+12>>2]&15](f,j,0);i=j;return +e}function yv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function zv(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+52>>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+0>>2];c[j+12>>2]=c[b+4>>2];c[j+16>>2]=c[b+8>>2];c[j+20>>2]=c[b+12>>2];c[j+24>>2]=c[d+0>>2];c[j+28>>2]=c[d+4>>2];c[j+32>>2]=c[d+8>>2];c[j+36>>2]=c[d+12>>2];g[j+40>>2]=e;e=+fc[c[(c[f>>2]|0)+12>>2]&15](f,j,1);i=j;return +e}function Av(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,h=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;h=c[a+20>>2]|0;f=+fc[c[(c[h>>2]|0)+12>>2]&15](h,b,d);g[a+4>>2]=+g[(c[a+20>>2]|0)+4>>2];i=e;return +f}function Cv(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+20>>2]|0;b=ec[c[(c[a>>2]|0)+8>>2]&31](a,b)|0;i=d;return b|0}function Dv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Ev(a,b){a=a|0;b=b|0;return 1}function Fv(a,b){a=a|0;b=b|0;return 1}function Gv(a,b,d){a=a|0;b=b|0;d=+d;var e=0;e=i;Lb[c[(c[a>>2]|0)+12>>2]&127](a,b);i=e;return}function Hv(a,d){a=a|0;d=d|0;var e=0,f=0,h=0;e=i;i=i+128|0;f=c[d+36>>2]|0;d=c[(c[a+8>>2]|0)+24>>2]|0;h=c[d+(f*80|0)+64>>2]|0;ip(e+56|0,c[a+12>>2]|0,d+(f*80|0)|0);d=c[a+4>>2]|0;c[e+32>>2]=0;c[e+36>>2]=h;c[e+40>>2]=d;c[e+44>>2]=e+56;c[e+48>>2]=-1;c[e+52>>2]=f;d=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]=9536;c[e+20>>2]=d;c[e+24>>2]=f;g[e+4>>2]=+g[d+4>>2];c[e+16>>2]=c[d+16>>2];Xu(c[a+16>>2]|0,c[a+20>>2]|0,e+32|0,e);i=e;return}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;return}function Jv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Kv(a){a=a|0;return}function Lv(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+36>>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;b=c[a+44>>2]|0;d=+fc[c[(c[b>>2]|0)+12>>2]&15](b,h,1);i=h;return +d}function Mv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Nv(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+36>>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;b=c[a+44>>2]|0;d=+fc[c[(c[b>>2]|0)+12>>2]&15](b,h,1);i=h;return +d}function Ov(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Pv(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=10312;if(!(a[b+8>>0]|0)){i=e;return}d=c[b+12>>2]|0;if(!d){i=e;return}b=c[b+4>>2]|0;Lb[c[(c[b>>2]|0)+16>>2]&127](b,d);i=e;return}function Qv(b){b=b|0;var d=0,e=0,f=0;e=i;c[b>>2]=10312;if(!(a[b+8>>0]|0)){RE(b);i=e;return}d=c[b+12>>2]|0;if(!d){RE(b);i=e;return}f=c[b+4>>2]|0;Lb[c[(c[f>>2]|0)+16>>2]&127](f,d);RE(b);i=e;return}function Rv(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;k=i;i=i+160|0;j=c[b+12>>2]|0;if(!j){i=k;return}l=(a[b+16>>0]|0)!=0;m=l?e:d;e=l?d:e;o=c[m+4>>2]|0;d=c[e+4>>2]|0;c[h+4>>2]=j;n=+g[j+752>>2];c[k+136>>2]=19824;c[k+140>>2]=o;c[k+144>>2]=d;g[k+148>>2]=n;g[k+128>>2]=999999984306749440.0;d=c[m+12>>2]|0;c[k+0>>2]=c[d+0>>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[k+16>>2]=c[d+16>>2];c[k+20>>2]=c[d+20>>2];c[k+24>>2]=c[d+24>>2];c[k+28>>2]=c[d+28>>2];c[k+32>>2]=c[d+32>>2];c[k+36>>2]=c[d+36>>2];c[k+40>>2]=c[d+40>>2];c[k+44>>2]=c[d+44>>2];c[k+48>>2]=c[d+48>>2];c[k+52>>2]=c[d+52>>2];c[k+56>>2]=c[d+56>>2];c[k+60>>2]=c[d+60>>2];e=c[e+12>>2]|0;c[k+64>>2]=c[e+0>>2];c[k+68>>2]=c[e+4>>2];c[k+72>>2]=c[e+8>>2];c[k+76>>2]=c[e+12>>2];c[k+80>>2]=c[e+16>>2];c[k+84>>2]=c[e+20>>2];c[k+88>>2]=c[e+24>>2];c[k+92>>2]=c[e+28>>2];c[k+96>>2]=c[e+32>>2];c[k+100>>2]=c[e+36>>2];c[k+104>>2]=c[e+40>>2];c[k+108>>2]=c[e+44>>2];c[k+112>>2]=c[e+48>>2];c[k+116>>2]=c[e+52>>2];c[k+120>>2]=c[e+56>>2];c[k+124>>2]=c[e+60>>2];DD(k+136|0,k,h,c[f+20>>2]|0,l);if(!(a[b+8>>0]|0)){i=k;return}d=c[h+4>>2]|0;if(!(c[d+748>>2]|0)){i=k;return}j=c[d+740>>2]|0;e=c[(c[h+8>>2]|0)+8>>2]|0;f=c[(c[h+12>>2]|0)+8>>2]|0;if((j|0)==(e|0)){Fs(d,j+4|0,f+4|0);i=k;return}else{Fs(d,f+4|0,e+4|0);i=k;return}}function Sv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 1.0}function Tv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;if(!(c[b+12>>2]|0)){i=k;return}if(!(a[b+8>>0]|0)){i=k;return}e=c[d+4>>2]|0;if((e|0)==(c[d+8>>2]|0)?(j=(e|0)==0?1:e<<1,(e|0)<(j|0)):0){if(!j)f=0;else{c[5108]=(c[5108]|0)+1;f=QE((j<<2|3)+16|0)|0;if(!f)f=0;else{c[(f+19&-16)+-4>>2]=f;f=f+19&-16}e=c[d+4>>2]|0}if((e|0)>0){h=0;do{g=f+(h<<2)|0;if(g)c[g>>2]=c[(c[d+12>>2]|0)+(h<<2)>>2];h=h+1|0}while((h|0)!=(e|0))}g=c[d+12>>2]|0;if(g){if(a[d+16>>0]|0){c[5110]=(c[5110]|0)+1;RE(c[g+-4>>2]|0);e=c[d+4>>2]|0}c[d+12>>2]=0}a[d+16>>0]=1;c[d+12>>2]=f;c[d+8>>2]=j}f=(c[d+12>>2]|0)+(e<<2)|0;if(f)c[f>>2]=c[b+12>>2];c[d+4>>2]=e+1;i=k;return}function Uv(a){a=a|0;return}function Vv(a){a=a|0;var b=0;b=i;RE(a);i=b;return}function Wv(b){b=b|0;var d=0,e=0;e=i;c[b>>2]=10424;if(!(a[b+16>>0]|0)){i=e;return}d=c[b+20>>2]|0;if(!d){i=e;return}b=c[b+4>>2]|0;Lb[c[(c[b>>2]|0)+16>>2]&127](b,d);i=e;return}function Xv(b){b=b|0;var d=0,e=0,f=0;e=i;c[b>>2]=10424;if(!(a[b+16>>0]|0)){RE(b);i=e;return}d=c[b+20>>2]|0;if(!d){RE(b);i=e;return}f=c[b+4>>2]|0;Lb[c[(c[f>>2]|0)+16>>2]&127](f,d);RE(b);i=e;return} +// EMSCRIPTEN_END_FUNCS +var Hb=[ZF,Ut,bu,Ay,Iu,Rv,Yv,pw,zw,YA,$B,eD,sD,yD,BD,DD,HE,GE,DE,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF,ZF];var Ib=[_F,fq,eq,Vp,Np,Hp,oq,gs,hs,ju,du,Pw,px,Dx,hz,Fz,mA,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F,_F];var Jb=[$F,Po,Qo,Ro,Uo,Vo,$o,ap,ep,fp,jp,kp,op,pp,Ep,Dp,Fp,Gp,Tu,Uu,Ip,Vu,Lp,Jp,dq,Kp,np,vq,yq,xq,Oq,Cq,Hq,Tq,$q,Uq,jr,wr,nr,Hr,zr,Ir,Jr,Zr,cs,ds,_o,ks,ns,os,xs,Ds,Ks,Ls,Os,Ps,Us,Vs,it,kt,mt,nt,ut,tt,wt,yt,At,Ct,Et,Gt,It,Kt,Mt,Nt,Ot,St,Tt,Xt,Yt,_t,$t,Yy,ku,fu,gu,qy,Fu,Gu,Hu,Pu,Ou,Qu,Ru,bv,fv,mv,hv,iv,ov,pv,rv,tv,wv,yv,Av,dp,Dv,Kv,Jv,Mv,Ov,Pv,Qv,Uv,Vv,Wv,Xv,dw,fw,jw,nw,ow,vw,ww,xw,Dw,Fw,Gw,Iw,zy,ix,$w,Yw,rx,tx,ux,Hx,Gx,Jx,Lx,Nx,Ox,Yx,Zy,_x,$x,ay,jy,Xy,Wy,mz,ez,cz,Az,Cz,Vz,Wz,Xz,aA,cA,AA,sA,pA,LA,KA,dB,cB,PA,eB,vB,uB,yB,zB,QB,SB,UB,VB,fC,jC,lC,oC,qC,rC,HC,LC,KC,PC,_C,RC,TC,VC,ZC,dD,gD,fD,zC,vD,wD,xD,CD,ED,GD,HD,MD,ND,QD,RD,mE,nE,qE,tE,rE,sE,uE,vE,PE,$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 Kb=[aG];var Lb=[bG,gp,hp,Cp,zp,sq,Rp,lq,Xp,Yp,Zp,Op,Pp,Tp,Sp,gq,_p,$p,aq,bq,cq,pq,Dq,Eq,Pq,Vq,Wq,dr,er,kr,mr,Ar,Br,is,zs,qs,ss,ts,us,As,Hs,Ys,Xs,ct,Qt,Wt,Zt,iu,Dy,Au,yy,Ku,Wu,dv,Hv,Tv,_v,tw,uw,yw,Bw,Lw,Hw,Vw,ex,Zw,Ww,wx,yx,zx,Qx,ey,Gy,kz,iz,xz,Uz,wC,xC,zA,xA,JA,IA,EA,FA,UA,QA,kB,gB,fB,JB,HB,GB,aC,eC,iC,kC,mC,uD,AD,YD,XD,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG,bG];var Mb=[cG,IC,SC,cG];var Nb=[dG,Cc,xp,rq,hq,iq,qq,Nq,Sq,_q,ir,vr,Gr,$r,ws,ys,Is,ht,ft,et,dt,rt,qt,pt,Du,Bu,yu,uu,su,ru,ou,Rw,Qw,Nw,fx,dx,bx,_w,Xw,qx,Rx,Ex,Bx,Wx,Vx,fy,iy,hy,Vy,Uy,Ly,My,Py,jz,gz,dz,bz,yz,zz,qz,rz,uz,Tz,Pz,Nz,Mz,Jz,_z,yA,wA,rA,oA,HA,UD,GA,TA,SA,qB,pB,oB,mB,hB,NB,MB,LB,KB,IB,bC,cC,KD,oE,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG,dG];var Ob=[eG,Iq,Xq,fr,rr,Dr,eG,eG];var Pb=[fG];var Qb=[gG];var Rb=[hG,Xo,js,Zs,st,vt,xt,zt,Bt,Dt,Ft,Ht,Jt,Lt,$v,vC,Zz,sB,EB,hG,hG,hG,hG,hG,hG,hG,hG,hG,hG,hG,hG,hG];var Sb=[iG,Cu,Kw,gx,nx,Tx,dy,ny,az,Ez,fA,iG,iG,iG,iG,iG];var Tb=[jG,rp];var Ub=[kG];var Vb=[lG,Vt,cu,Ju,Sv,Zv,qw,Aw,tD,zD,lG,lG,lG,lG,lG,lG];var Wb=[mG,br,Wo,yp,Mq,Rq,Zq,hr,ur,Fr,Gs,Ws,$s,_s,ot,xu,Mw,cx,xx,xy,gy,Sy,fz,yC,vA,_D,tB,iB,OB,DB,JD,LD,wE,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG,mG];var Xb=[nG,wq,WA,ZB,KE,JE,IE,nG];var Yb=[oG,mu,Ry,wz,Hz,oG,oG,oG];var Zb=[pG,vy,zu,Ow,ox,Cx,tA,qA,nA,pG,pG,pG,pG,pG,pG,pG];var _b=[qG,QC,UC,cD];var $b=[rG,xv,zv,rG];var ac=[sG];var bc=[tG,Ty];var cc=[uG,Vr];var dc=[vG,SD,TD,vG];var ec=[wG,bp,lp,qp,vp,jq,kq,uq,Js,gt,bt,jt,ky,qv,sv,vv,Cv,Fv,Ev,PB,RB,wG,wG,wG,wG,wG,wG,wG,wG,wG,wG,wG];var fc=[xG,cp,mp,tq,Jq,Yq,gr,sr,Er,Cs,uv,Bv,xG,xG,xG,xG];var gc=[yG,Yr,Ur,yG];var hc=[zG,So];var ic=[AG,Tr,Wr,AG];var jc=[BG,uy];var kc=[CG];var lc=[DG,Lv,Nv,DG];var mc=[EG,Xr];var nc=[FG,bB,WB,FG];var oc=[GG,To,or,Lu,nv,aw,ew,gw,MC,WC,GG,GG,GG,GG,GG,GG];var pc=[HG,Yo,Wp,Qq,tr,bs,as,Ms,Qs,Pt,hu,ty,Fy,wu,tu,pu,Nu,Mu,Iv,cw,bw,iw,hw,Cw,Uw,Sw,ax,lx,jx,Ux,Ax,Fx,Ix,Kx,ly,Ky,Iy,Oy,_y,pz,nz,tz,Sz,Rz,Oz,Kz,Gz,uA,iA,gA,hA,VD,WD,aB,RA,rB,nB,lB,jB,CB,AB,BB,FB,XB,dC,nC,OC,NC,YC,XC,Ts,Cy,By,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG,HG];var qc=[IG,JG,NE,OE];var rc=[KG,ms,Bs,rs,vs,Gv,KG,KG];var sc=[LG,Mp];var tc=[MG,av,Zu,Qp,Up,Sr,ls,Ns,Rs,at,au,eu,Eu,vu,Ey,qu,nu,lu,Su,lv,kv,jv,GC,FC,Jw,hx,Tw,mx,kx,Px,vx,Sx,Xx,Zx,by,cy,my,py,Jy,Ny,Qy,lz,$y,oz,sz,vz,Bz,Dz,Qz,Lz,Iz,$z,bA,eA,jA,lA,kA,ZD,XA,VA,YB,_B,xE,yE,AE,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG,MG];return{_emscripten_bind_btCylinderShape___destroy___0:Ho,_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Qe,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:fd,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:cd,_emscripten_bind_btCollisionObject_isActive_0:bf,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:Oh,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:pf,_emscripten_bind_btAxisSweep3___destroy___0:zd,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:Ki,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:No,_emscripten_bind_btRigidBody_applyCentralForce_1:_m,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:$c,_emscripten_bind_btQuaternion_setZ_1:qj,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:vl,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:Lk,_emscripten_bind_btQuadWord_z_0:lo,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:Fh,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:Nj,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:Hj,_emscripten_bind_btQuaternion_setW_1:rj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:$d,_emscripten_bind_btCollisionDispatcher___destroy___0:Dh,_emscripten_bind_btRigidBody_applyCentralImpulse_1:cn,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:ri,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:yf,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:Af,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:zf,_emscripten_bind_btVector3_op_mul_1:kl,_emscripten_bind_btDynamicsWorld_rayTest_3:Wi,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:wo,_emscripten_bind_btQuadWord_x_0:jo,_emscripten_bind_btCollisionObject_isKinematicObject_0:cf,_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:ek,_emscripten_bind_btSphereShape___destroy___0:ql,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:xm,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:ci,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:Sm,_emscripten_bind_btGhostObject_isKinematicObject_0:$l,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:sm,_emscripten_bind_btCapsuleShape___destroy___0:td,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:$h,_emscripten_bind_btCollisionObject_activate_1:af,_emscripten_bind_btCollisionObject_activate_0:$e,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:yk,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:ad,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:Ah,_emscripten_bind_btVector3_setX_1:gl,_emscripten_bind_btCollisionConfiguration___destroy___0:ud,_emscripten_bind_btHingeConstraint_enableFeedback_1:Bl,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:Lf,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:Ce,_emscripten_bind_btVector3_setZ_1:il,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:Zj,_emscripten_bind_btQuaternion_setValue_4:jj,_emscripten_bind_btDynamicsWorld_getBroadphase_0:aj,_emscripten_bind_LocalShapeInfo___destroy___0:pm,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:bk,_emscripten_bind_btQuadWord_setY_1:oo,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:ge,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:ti,_emscripten_bind_btConeTwistConstraint_setDamping_1:Cg,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Ad,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:Mf,_emscripten_bind_btCollisionWorld___destroy___0:io,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:Lm,_emscripten_bind_btBoxShape_btBoxShape_1:wh,_emscripten_bind_btPersistentManifold_getBody1_0:sh,_emscripten_bind_btRigidBody_isKinematicObject_0:vn,_emscripten_bind_btKinematicCharacterController_setGravity_1:Jk,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:Ol,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:Le,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:Ke,_emscripten_bind_btQuaternion_setY_1:pj,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:Lj,_emscripten_bind_btVector4_setValue_4:mk,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Nc,_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:hg,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Yi,_emscripten_bind_btVector3_length_0:cl,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:Pf,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:Of,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:ei,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:Dj,_emscripten_bind_btPairCachingGhostObject___destroy___0:Wd,_emscripten_bind_btPairCachingGhostObject_activate_0:Gd,_emscripten_bind_btPairCachingGhostObject_activate_1:Hd,_emscripten_bind_btQuaternion_btQuaternion_4:ij,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:Xk,_emscripten_bind_btDynamicsWorld_getDispatcher_0:Vi,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:Fd,_emscripten_bind_btDefaultMotionState___destroy___0:vi,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:Kj,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:ae,_emscripten_bind_btQuadWord_setW_1:qo,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:be,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:ej,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:Xj,_emscripten_bind_btRigidBody_setLinearFactor_1:Xm,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:md,_emscripten_bind_btRigidBody_getAngularVelocity_0:gn,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:uo,_emscripten_bind_btPoint2PointConstraint___destroy___0:kg,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:Pe,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:wf,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:vf,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:ke,_malloc:QE,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:hd,_emscripten_bind_btTransform_btTransform_2:Qn,_emscripten_bind_btTransform_btTransform_0:Pn,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:Qj,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:gd,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:Co,_emscripten_bind_btCollisionObject_setActivationState_1:Ze,_emscripten_bind_btPersistentManifold___destroy___0:vh,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:Nl,_emscripten_bind_btCylinderShapeZ___destroy___0:On,_emscripten_bind_btMatrix3x3___destroy___0:Gc,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Cm,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Gl,_emscripten_bind_ConvexResultCallback_hasHit_0:Tf,_emscripten_bind_btCollisionWorld_convexSweepTest_5:go,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:Li,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:gj,_emscripten_bind_btConstraintSetting_set_m_damping_1:Ml,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:ck,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:En,_emscripten_bind_btRigidBody_applyForce_2:Zm,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:_g,_emscripten_bind_btConstraintSetting_set_m_tau_1:Kl,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:oh,_emscripten_bind_btSphereShape_calculateLocalInertia_2:pl,_emscripten_bind_btConeShape_setLocalScaling_1:Ng,_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:dk,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Ic,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:Em,_emscripten_bind_btGhostObject_setFriction_1:bm,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Nd,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:Ri,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:Fn,_emscripten_bind_btRigidBody_setFriction_1:xn,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:Mm,_emscripten_bind_btGhostObject_setWorldTransform_1:gm,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:uf,_emscripten_bind_btConvexHullShape___destroy___0:ph,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:If,_emscripten_bind_btVector4_setX_1:rk,_emscripten_bind_btKinematicCharacterController_jump_0:Ik,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:Fg,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Qf,_emscripten_bind_btRigidBody_upcast_1:mn,_emscripten_bind_btCollisionObject_getWorldTransform_0:gf,_emscripten_bind_btVector4_setZ_1:tk,_emscripten_bind_btQuadWord_y_0:ko,___cxa_can_catch:LE,_emscripten_bind_btTransform_getBasis_0:Xn,_emscripten_bind_btPairCachingGhostObject_setFriction_1:Ld,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:id,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Bh,_emscripten_bind_btVehicleRaycaster___destroy___0:ml,_emscripten_bind_ClosestRayResultCallback___destroy___0:Si,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:Zh,_emscripten_bind_btQuadWord_w_0:mo,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:im,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:Od,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Oc,_emscripten_bind_btGhostObject_btGhostObject_0:Ql,_strlen:WE,_emscripten_bind_btConeShape_btConeShape_2:Mg,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:ue,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:Ae,_emscripten_bind_btCollisionObject_setCollisionShape_1:lf,_emscripten_bind_btWheelInfo___destroy___0:fk,_emscripten_bind_btTransform_setRotation_1:Un,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:Ud,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:fg,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:Ni,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:vd,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:wd,_emscripten_bind_btBoxShape_calculateLocalInertia_2:yh,_emscripten_bind_btVector3_setY_1:hl,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:xd,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:yd,_emscripten_bind_btQuadWord_setX_1:no,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:pe,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:Gh,_emscripten_bind_btOverlappingPairCache___destroy___0:$k,_emscripten_bind_btConstraintSetting___destroy___0:Pl,_emscripten_bind_RayResultCallback___destroy___0:Gj,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:Xh,_emscripten_bind_btPersistentManifold_getBody0_0:rh,_emscripten_bind_btConeShapeX_btConeShapeX_2:ah,_emscripten_bind_btQuaternion_z_0:mj,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Ig,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Tk,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:uj,_emscripten_bind_btRigidBody_applyTorque_1:Ym,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:rg,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:yg,_emscripten_bind_btConcaveShape___destroy___0:ik,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:zg,_emscripten_bind_btQuaternion_x_0:kj,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Km,_emscripten_bind_btConcaveShape_setLocalScaling_1:gk,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:Ef,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:bj,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Mn,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:kh,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:Yj,_emscripten_bind_btConstraintSetting_get_m_damping_0:Ll,_emscripten_bind_btGhostObject___destroy___0:km,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Vl,_emscripten_bind_btCollisionWorld_getBroadphase_0:fo,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Ch,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:qi,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:mi,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:pi,_emscripten_bind_btKinematicCharacterController_canJump_0:Hk,_emscripten_bind_btRigidBody_isActive_0:un,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:so,_emscripten_bind_btMotionState_setWorldTransform_1:mg,_emscripten_bind_btCylinderShape_setLocalScaling_1:Fo,_emscripten_bind_btCollisionWorld_rayTest_3:_n,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Vh,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:ao,_emscripten_bind_btRigidBody_setCollisionShape_1:Dn,_emscripten_bind_btConeShapeX___destroy___0:dh,_emscripten_bind_btCollisionObject_getCollisionFlags_0:hf,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:ed,_emscripten_bind_btConeTwistConstraint_enableMotor_1:Dg,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:Sj,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:Tg,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Kd,_emscripten_bind_btBroadphaseInterface___destroy___0:Ve,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:vg,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:oe,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Ye,_emscripten_bind_btPersistentManifold_getNumContacts_0:th,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:te,_emscripten_bind_LocalConvexResult___destroy___0:Pm,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Uc,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:qe,_emscripten_bind_btCollisionWorld_addCollisionObject_3:eo,_emscripten_bind_btRigidBody_getCollisionFlags_0:An,_emscripten_bind_btCollisionShape_setLocalScaling_1:Fl,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:ji,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Fm,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Dc,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:nd,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:Ii,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:Cj,_emscripten_bind_btCollisionWorld_getDispatcher_0:Zn,_emscripten_bind_btCollisionObject_setRollingFriction_1:ff,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:Bj,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:fh,_i64Subtract:UE,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:vo,_emscripten_bind_btRigidBody_setDamping_2:Vm,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:Aj,_emscripten_bind_btGhostObject_setCollisionFlags_1:fm,_emscripten_bind_btMatrix3x3_getRotation_1:Ec,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:Eg,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:In,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Qc,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:le,_emscripten_bind_btCompoundShape_setLocalScaling_1:Uh,_emscripten_bind_btOverlappingPairCallback___destroy___0:Qm,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:De,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Go,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:Td,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:pn,_emscripten_bind_btRigidBody_getLinearVelocity_0:fn,_emscripten_bind_btRigidBody_applyImpulse_2:an,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:hk,_emscripten_bind_btRigidBody_setWorldTransform_1:Cn,_emscripten_bind_btRigidBody_setAngularVelocity_1:jn,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:rm,_emscripten_bind_btConvexShape_setLocalScaling_1:Qg,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:xi,_emscripten_bind_btQuaternion_setX_1:oj,_free:RE,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Dd,_emscripten_bind_btCompoundShape___destroy___0:Wh,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Ne,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:Oi,_emscripten_bind_RayResultCallback_hasHit_0:zj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:re,_emscripten_bind_btQuaternion___destroy___0:sj,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:Jj,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Zg,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Ed,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Dm,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Sf,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:Mh,_emscripten_bind_btGhostObject_setRollingFriction_1:cm,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Ln,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:jd,_emscripten_bind_btCompoundShape_btCompoundShape_0:Rh,_emscripten_bind_btCompoundShape_btCompoundShape_1:Sh,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:_k,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:Rk,_emscripten_bind_btRigidBody_btRigidBody_1:Rm,_emscripten_bind_btRigidBody_updateInertiaTensor_0:en,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Bd,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Ee,_emscripten_bind_btTransform_setOrigin_1:Tn,_emscripten_bind_ClosestRayResultCallback_hasHit_0:Di,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:jm,_emscripten_bind_btDispatcher___destroy___0:Bi,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:Hh,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Nf,_emscripten_bind_btConvexShape___destroy___0:Sg,_memmove:ZE,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:fj,_emscripten_bind_btCollisionObject_setRestitution_1:df,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Xd,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:Nm,_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Dl,_emscripten_bind_btQuaternion_w_0:nj,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:Uf,_emscripten_bind_btTransform_getRotation_0:Wn,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:xl,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:yl,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:Jm,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:wl,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:tl,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:ul,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:se,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:bi,_emscripten_bind_btTypedConstraint___destroy___0:Oo,_emscripten_bind_ConvexResultCallback___destroy___0:_f,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Hn,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:zm,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:tf,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:sf,_emscripten_bind_btVector3_z_0:fl,_emscripten_bind_btSphereShape_btSphereShape_1:nl,_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:$j,_emscripten_bind_btQuaternion_y_0:lj,_emscripten_bind_btCollisionWorld_addCollisionObject_1:bo,_emscripten_bind_btCollisionWorld_addCollisionObject_2:co,_emscripten_bind_btRigidBody_setRestitution_1:wn,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:gi,_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Kg,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:Hf,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:fi,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:xj,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:ig,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Tc,_emscripten_bind_btActionInterface___destroy___0:Io,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:si,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:vm,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:Ej,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:dg,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:um,_emscripten_bind_btVector4_setY_1:sk,_emscripten_bind_btGhostObject_setRestitution_1:am,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Zi,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:hi,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:$i,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:_i,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:Bf,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:Ok,_emscripten_bind_btVector4_op_mul_1:uk,_emscripten_bind_btCylinderShape_btCylinderShape_1:Eo,_emscripten_bind_btVector3___destroy___0:ll,_emscripten_bind_btRigidBody_setAngularFactor_1:ln,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Nn,_emscripten_bind_btWheelInfo_set_m_steering_1:Wj,_emscripten_bind_btMotionState_getWorldTransform_1:lg,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:Ui,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:_c,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:od,_emscripten_bind_btVector3_x_0:dl,___cxa_is_pointer_type:ME,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:Rj,_emscripten_bind_btCollisionObject_getCollisionShape_0:Xe,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Yd,_emscripten_bind_btManifoldPoint___destroy___0:Je,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:ee,_emscripten_bind_btVector4_length_0:nk,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:ui,_emscripten_bind_ClosestConvexResultCallback___destroy___0:li,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:Bg,_emscripten_bind_btCollisionObject_setFriction_1:ef,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Vg,_emscripten_bind_btRigidBody_setMassProps_2:Wm,_emscripten_bind_btVector3_setValue_3:jl,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Sd,_emscripten_bind_btGhostObject_getCollisionFlags_0:em,_emscripten_bind_btCapsuleShapeX___destroy___0:hj,_emscripten_bind_btHingeConstraint_setLimit_4:zl,_emscripten_bind_btHingeConstraint_setLimit_5:Al,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:_j,_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:ak,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:Rl,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:Mo,_emscripten_bind_btGhostObject_getCollisionShape_0:Ul,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:We,_emscripten_bind_btBoxShape___destroy___0:zh,_emscripten_bind_btPersistentManifold_getContactPoint_1:uh,_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:Bm,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Vf,_emscripten_bind_btGhostObject_activate_0:Yl,_emscripten_bind_btGhostObject_activate_1:Zl,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:tm,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:xe,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:Fe,_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Am,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:Yg,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:Yk,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:tg,_emscripten_bind_btDynamicsWorld_contactPairTest_3:cj,_emscripten_bind_btCollisionWorld_getPairCache_0:$n,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:Gg,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:_h,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:Mj,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Se,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:rl,_emscripten_bind_btGhostObject_forceActivationState_1:Xl,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:Hc,_emscripten_bind_VoidPtr___destroy___0:Sc,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:sg,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:Fj,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:Ei,_emscripten_bind_btRaycastVehicle_getRigidBody_0:zo,_emscripten_bind_btWheelInfo_get_m_steering_0:Vj,_emscripten_bind_btConstraintSetting_get_m_tau_0:Jl,_emscripten_bind_btSliderConstraint___destroy___0:xg,_emscripten_bind_btCollisionShape___destroy___0:Hl,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:Yf,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:Zc,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:de,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:Rd,_emscripten_bind_btKinematicCharacterController_warp_1:Bk,_emscripten_bind_btContactSolverInfo___destroy___0:Zk,_emscripten_bind_btTriangleMesh___destroy___0:jh,_emscripten_bind_btKinematicCharacterController_preStep_1:Ck,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:to,_emscripten_bind_btRaycastVehicle_setBrake_2:Bo,_emscripten_bind_ConcreteContactResultCallback___destroy___0:Jc,_emscripten_bind_btCollisionObject___destroy___0:of,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:Kh,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:ie,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:Hg,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:Wc,_emscripten_bind_btVector3_btVector3_3:bl,_emscripten_bind_btVector3_btVector3_0:al,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:ce,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:rf,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:di,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:Jh,_emscripten_bind_btConeTwistConstraint___destroy___0:Lg,_emscripten_bind_btQuadWord___destroy___0:ro,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:Fi,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:Tm,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:wg,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Tl,_emscripten_bind_btConstraintSolver___destroy___0:qm,_emscripten_bind_btDbvtBroadphase___destroy___0:Rc,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:qd,_emscripten_bind_btTypedConstraint_enableFeedback_1:Lo,_emscripten_bind_btQuadWord_setZ_1:po,_emscripten_bind_btCapsuleShape_setLocalScaling_1:rd,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:ne,_emscripten_bind_btRigidBody_setAnisotropicFriction_2:nn,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:wi,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:Zf,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:qh,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Wf,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:Ci,_emscripten_bind_btVector4___destroy___0:vk,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Jd,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:Pi,_i64Add:XE,_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:Wk,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:Qh,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:mf,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:xk,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:Ug,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:wk,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:je,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:eg,_emscripten_bind_btKinematicCharacterController_playerStep_2:Dk,_emscripten_bind_btDispatcherInfo___destroy___0:pd,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:Sk,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Rf,_emscripten_bind_ContactResultCallback_addSingleResult_7:Wg,_emscripten_bind_btGhostObject_getWorldTransform_0:dm,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Df,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:Om,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:vj,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:Vc,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:Ih,_emscripten_bind_btDynamicsWorld___destroy___0:dj,_emscripten_bind_btMotionState___destroy___0:ng,_emscripten_bind_btCollisionObject_setCollisionFlags_1:jf,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:Ff,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:Gf,_emscripten_bind_btRigidBody_getMotionState_0:kn,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:Ij,_emscripten_bind_btRaycastVehicle_getNumWheels_0:yo,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Ai,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:om,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:Qd,_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:Cl,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:sl,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:ag,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:$f,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:Fk,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:ch,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Vd,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:ve,_emscripten_bind_btRigidBody_getWorldTransform_0:zn,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:bg,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:ai,_memcpy:YE,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:sd,_emscripten_bind_btVector3_y_0:el,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:Ph,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:Kc,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Mc,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:nm,_emscripten_bind_btGhostObject_setCollisionShape_1:hm,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:kd,_emscripten_bind_btRigidBody_setRollingFriction_1:yn,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Md,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:qf,_emscripten_bind_btGhostObject_isActive_0:_l,_emscripten_bind_btVector4_z_0:qk,_emscripten_bind_btCollisionObject_forceActivationState_1:_e,_emscripten_bind_btKinematicCharacterController_onGround_0:Pk,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:Ao,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:Re,_emscripten_bind_btConeTwistConstraint_setLimit_2:Ag,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:ii,_emscripten_bind_btRigidBody___destroy___0:Gn,_emscripten_bind_btStridingMeshInterface___destroy___0:Ue,_emscripten_bind_btRigidBody_setSleepingThresholds_2:Um,_emscripten_bind_btCollisionObject_setWorldTransform_1:kf,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:Hm,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:ze,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:Zd,_emscripten_bind_btDispatcher_getNumManifolds_0:zi,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:he,_emscripten_bind_btRigidBody_activate_1:tn,_emscripten_bind_btRigidBody_activate_0:sn,_emscripten_bind_btRaycastVehicle___destroy___0:Do,_emscripten_bind_btGhostObject_setActivationState_1:Wl,_emscripten_bind_btCollisionWorld_contactPairTest_3:ho,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:bd,_emscripten_bind_btCylinderShapeX___destroy___0:Kn,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:we,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:Im,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:Yc,_emscripten_bind_btVector4_x_0:ok,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Pd,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:Nk,_emscripten_bind_btTriangleMeshShape___destroy___0:yi,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:zk,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:fe,_emscripten_bind_btTransform_setIdentity_0:Rn,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:Ie,_emscripten_bind_btKinematicCharacterController_getGravity_0:Kk,_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:Jg,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Oe,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:lm,_emscripten_bind_btConeShape_calculateLocalInertia_2:Og,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Jn,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:Xf,_llvm_bswap_i32:_E,_emscripten_bind_btSphereShape_setLocalScaling_1:ol,_emscripten_bind_btVector4_w_0:lk,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:He,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Pc,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:Gi,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:ki,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:xf,_emscripten_bind_btVector4_y_0:pk,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Te,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:Lh,_emscripten_bind_btConvexHullShape_addPoint_1:lh,_emscripten_bind_btConvexHullShape_addPoint_2:mh,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:gg,_emscripten_bind_btTransform_getOrigin_0:Vn,_emscripten_bind_btHingeConstraint___destroy___0:El,_emscripten_bind_btCompoundShape_addChildShape_2:Th,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Rg,_memset:VE,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Me,_emscripten_bind_btConvexHullShape_setLocalScaling_1:nh,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:eh,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:Cd,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:gh,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:Xc,_emscripten_bind_btRigidBody_getCollisionShape_0:on,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:Ge,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:Tj,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:Be,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:Kf,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:qg,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:jg,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:nf,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:Pj,_emscripten_bind_btRigidBody_setLinearVelocity_1:hn,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:Eh,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:Hi,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:Mi,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:Uj,_emscripten_bind_btDynamicsWorld_addAction_1:Ti,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:yj,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:_d,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:me,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:Ek,_emscripten_bind_btRigidBody_setActivationState_1:qn,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Yh,_emscripten_bind_btCapsuleShapeZ___destroy___0:wj,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:mm,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:Qi,_emscripten_bind_btTriangleMesh_addTriangle_3:hh,_emscripten_bind_btGhostObject_getOverlappingObject_1:Sl,_emscripten_bind_btTriangleMesh_addTriangle_4:ih,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:$m,_emscripten_bind_btRigidBody_setCollisionFlags_1:Bn,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:Oj,_emscripten_bind_btConeShape___destroy___0:Pg,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:tj,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:pg,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:og,_emscripten_bind_btTransform___destroy___0:Yn,_emscripten_bind_btConeShapeX_setLocalScaling_1:bh,_emscripten_bind_btRigidBody_forceActivationState_1:rn,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:cg,_emscripten_bind_btManifoldPoint_getDistance_0:ye,_emscripten_bind_btGhostPairCallback___destroy___0:Ko,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:Mk,_emscripten_bind_btSliderConstraint_enableFeedback_1:ug,_emscripten_bind_btRaycastVehicle_addWheel_7:xo,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:Ji,_emscripten_bind_ContactResultCallback___destroy___0:Xg,_emscripten_bind_btStaticPlaneShape___destroy___0:Uk,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:ld,_emscripten_bind_btBoxShape_setLocalScaling_1:xh,_emscripten_bind_btConeShapeZ___destroy___0:$g,_emscripten_bind_btDynamicsWorld_getPairCache_0:Xi,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:Jf,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:Ak,_emscripten_bind_btVector4_btVector4_0:jk,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:dd,_emscripten_bind_btVector4_btVector4_4:kk,_emscripten_bind_btKinematicCharacterController___destroy___0:Qk,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:wm,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:Gm,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:Il,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:ym,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:Cf,_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:Vk,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:Jo,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:Gk,_emscripten_bind_btPairCachingGhostObject_isActive_0:Id,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:Nh,__GLOBAL__sub_I_btQuickprof_cpp:bE,runPostSets:TE,stackAlloc:uc,stackSave:vc,stackRestore:wc,setThrew:xc,setTempRet0:Ac,getTempRet0:Bc,dynCall_viiiii:kF,dynCall_vid:lF,dynCall_vi:mF,dynCall_viiidii:nF,dynCall_vii:oF,dynCall_iiiiiiiiiii:pF,dynCall_ii:qF,dynCall_viidi:rF,dynCall_viddiii:sF,dynCall_vidii:tF,dynCall_iiiii:uF,dynCall_vidi:vF,dynCall_diiiiiiii:wF,dynCall_viiiiddddiid:xF,dynCall_diiiii:yF,dynCall_iiii:zF,dynCall_viiiiii:AF,dynCall_iiid:BF,dynCall_di:CF,dynCall_iiiiiii:DF,dynCall_diiidii:EF,dynCall_viidii:FF,dynCall_viiiiiii:GF,dynCall_viiiiiiiii:HF,dynCall_viiiiiiiiii:IF,dynCall_iii:JF,dynCall_diii:KF,dynCall_diiiiiiiiii:LF,dynCall_viiiid:MF,dynCall_diiiiiiiii:NF,dynCall_did:OF,dynCall_viiiidddddidi:PF,dynCall_diidii:QF,dynCall_diiii:RF,dynCall_iiiiiiiiii:SF,dynCall_viiid:TF,dynCall_viii:UF,dynCall_v:VF,dynCall_viid:WF,dynCall_iidid:XF,dynCall_viiii:YF}}) -// EMSCRIPTEN_END_FUNCS -var Jb=[eG,Vr,Qw,ay,_y,qz,pB,uB,nC,sC,vC,BC,LC,XC,eD,xD,RE,QE,NE,eG,eG,eG,eG,eG,eG,eG,eG,eG,eG,eG,eG,eG];var Kb=[fG,gp,fp,To,Lo,Fo,rp,Sq,Tq,Is,et,At,Av,Pv,bw,xx,xp,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG,fG];var Lb=[gG,Kn,Ln,Mn,Pn,Qn,Vn,Wn,_n,$n,eo,fo,io,jo,xo,yo,po,Eo,Do,tu,uu,Go,vu,Jo,Ho,cp,Io,ep,Dp,Gp,Hp,Yp,Zp,Pp,Vp,iq,jq,cq,nq,mq,xq,oq,Cq,Jq,Kq,Eq,Pq,Oq,Yq,Zq,Nq,_q,kr,jr,Br,Kr,Lr,Rr,Sr,cs,js,ks,ls,ms,Es,Fs,Zs,Ys,it,jt,lt,mt,ot,pt,ut,vt,Dt,Et,Gt,Ht,Mt,Lt,Ut,au,ru,qu,Ku,Ju,Pu,Ou,Su,Hu,Uu,Fu,Wu,Du,Yu,_u,$u,cv,dv,fv,gv,kv,lv,jv,ov,uv,vv,xv,yv,yu,Dv,Gv,Fv,Iv,Xv,Yv,ew,fw,iw,jw,pw,qw,ow,rw,Jw,Kw,ex,fx,Uw,hx,sx,tx,Cx,Dx,Gx,Hx,Rx,Qx,hy,$x,iy,Zx,ky,Ux,my,ry,qy,wy,xy,zy,Ay,Cy,Dy,Fy,Gy,Iy,Jy,Ly,My,Oy,Py,Ry,Sy,Uy,Vy,Xy,Yy,az,bz,ez,dz,iz,hz,nz,oz,Bu,iv,rz,sz,Kt,cu,wz,xz,yz,zz,Ez,Dz,Iz,Jz,Lz,Mz,Rz,Qz,gA,hA,jA,kA,pA,oA,CA,BA,NA,OA,MA,PA,eB,dB,dp,tp,oB,nB,tB,sB,yB,xB,IB,JB,PB,QB,XB,WB,cC,eC,gC,hC,oC,pC,rC,qC,wC,xC,AC,zC,DC,GC,JC,IC,MC,OC,SC,RC,VC,UC,ZC,_C,bD,aD,dD,cD,fD,jD,mD,nD,lD,rD,wD,vD,BD,AD,OD,ND,YD,XD,vE,uE,zE,CE,AE,BE,DE,EE,tE,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG,gG];var Mb=[hG];var Nb=[iG,ao,bo,mo,oo,np,Po,mp,Vo,Wo,Xo,Mo,No,Ro,Qo,hp,Yo,Zo,_o,$o,ap,qp,Qp,Rp,dq,eq,zq,qq,sq,tq,uq,Aq,Fq,Gq,Uq,$q,ir,Gr,Hr,Zr,bs,ws,As,Bs,Gs,wp,ou,$s,bt,ct,xt,zt,Pt,Ot,Wt,wu,Mu,qv,Bv,Lv,Hv,Wv,aw,hw,lw,vw,cx,ux,wx,cy,gy,jy,ly,oy,cz,gu,HA,IA,dA,fA,Zz,Nw,gB,rB,wB,CB,RB,SB,NB,OB,ZB,uC,FC,HC,KC,QC,TC,hD,zD,cE,dE,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG,iG];var Ob=[jG,pz,uz,jG];var Pb=[kG,Ec,zo,op,ip,jp,pp,_p,kq,wq,yq,Lq,gr,Er,Mr,_r,$r,qs,rs,ss,us,zs,up,Hs,zp,Ns,Ps,Qs,Ts,_B,dt,gt,yt,Bt,Bp,Ft,It,Xt,Zt,_t,$t,Nv,Ov,Rv,$v,cw,gw,kw,Lw,Mw,Aw,Bw,Ew,dx,gx,Xw,Yw,$w,vx,yx,Ex,Ix,dy,ey,ty,uy,vy,iu,Gz,$z,aA,bA,cA,eA,SA,VA,XA,YA,$A,vp,DB,EB,FB,TB,$D,UB,dC,pu,SD,wE,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG,kG];var Qb=[lG,uo,Wp,gq,Hq,Ir,lG,lG];var Rb=[mG];var Sb=[nG];var Tb=[oG,Sn,Vq,os,Qt,yy,By,Ey,Hy,Ky,Ny,Qy,Ty,Wy,Zy,GA,Hz,Xz,iD,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG,oG];var Ub=[pG,Ds,aC,tt,Kv,_v,tA,lx,RA,mB,BB,pG,pG,pG,pG,pG];var Vb=[qG,lo];var Wb=[rG];var Xb=[sG,$y,qB,vB,tC,EC,NC,YC,gD,yD,sG,sG,sG,sG,sG,sG];var Yb=[tG,Pr,Rn,Ao,$p,lq,Mq,hr,Nr,ns,ys,Ap,at,Ct,Nt,St,Rt,Mv,dw,Hw,zx,sy,fu,JA,_z,Vz,GB,WD,nu,QD,RD,FE];var Zb=[uG,Ip,Xr,Xx,UE,TE,SE,uG];var _b=[vG,Vs,Gw,bx,bB,vG,vG,vG];var $b=[wG,lu,Js,ft,Qv,Bx,Fx,Jx,yp,wG,wG,wG,wG,wG,wG,wG];var ac=[xG,nw,mz,HB];var bc=[yG,ev,hv,yG];var cc=[zG];var dc=[AG,Iw];var ec=[BG,xr];var fc=[CG,ZD,_D,CG];var gc=[DG,Xn,go,ko,kp,lp,Ep,er,qA,Yt,Vt,bu,Xu,Zu,av,mv,sv,tv,hu,iA,lA,DG,DG,DG,DG,DG,DG,DG,DG,DG,DG,DG];var hc=[EG,Yn,ho,vo,Fp,Xp,hq,Dq,Iq,Jr,bv,nv,EG,EG,EG,EG];var ic=[FG,Ar,wr,FG];var jc=[GG,Nn];var kc=[HG,vr,yr,HG];var lc=[IG,ku];var mc=[JG];var nc=[KG,wv,zv,KG];var oc=[LG,zr];var pc=[MG,Tr,Sx,MG];var qc=[NG,On,qo,Vu,uw,tz,Cz,kD,qD,uD,NG,NG,NG,NG,NG,NG];var rc=[OG,Tn,wo,Uo,Cr,Dr,Ur,as,ps,ts,vs,xs,ju,Ks,Ls,Os,Ss,Ws,bC,ht,kt,nt,qt,Pw,rt,Cp,du,eu,pv,Cv,Vv,Tv,sw,tw,zw,xw,Dw,Ww,Tw,_w,Ax,ox,mx,nx,Vx,fy,ny,fz,jz,Az,Bz,Uz,Sz,Tz,Yz,rA,TA,WA,_A,fB,kB,iB,aE,bE,PC,oD,pD,sD,tD,Jt,Sw,Rw,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG,OG];var sc=[PG,QG,rE,sE];var tc=[RG,Bq,rq,vq,Wq,rv,RG,RG];var uc=[SG,Ko];var vc=[TG,Iu,Cu,Oo,So,Xq,ur,Wr,Yr,Cs,Ms,Ow,Rs,Us,YB,_s,wt,st,Tt,su,Qu,Ru,Tu,LA,KA,Jv,Zv,Uv,vA,yw,Cw,Fw,Vw,Zw,ax,ix,kx,px,rx,qx,Wx,_x,gz,kz,Kz,Nz,sA,QA,UA,ZA,aB,cB,lB,jB,zB,AB,VD,$B,fC,iC,WC,$C,HE,IE,KE,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG,TG];return{_emscripten_bind_btCylinderShape___destroy___0:Fn,_strlen:aF,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:ed,_emscripten_bind_btCollisionObject_isActive_0:Se,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:th,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:af,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:pi,_emscripten_bind_btQuaternion_setX_1:Ui,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:bd,_emscripten_bind_btQuaternion_setZ_1:Wi,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:Yl,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:jk,_emscripten_bind_btQuadWord_z_0:vn,_emscripten_bind_btTransform_setIdentity_0:$m,_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:rj,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:lj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:Zd,_emscripten_bind_btCollisionDispatcher___destroy___0:ih,_emscripten_bind_btRigidBody_applyCentralImpulse_1:rm,_emscripten_bind_btDefaultMotionState_getWorldTransform_1:Yh,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:kf,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:mf,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:lf,_emscripten_bind_btVector3_op_mul_1:Gk,_emscripten_bind_btDynamicsWorld_rayTest_3:Ai,_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:Ll,_emscripten_bind_btQuadWord_x_0:tn,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:_l,_emscripten_bind_btCollisionObject_isKinematicObject_0:Te,_emscripten_bind_ConvexResultCallback___destroy___0:Lf,_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:Jh,_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:fm,_emscripten_bind_btGhostObject_isKinematicObject_0:sl,_emscripten_bind_btCapsuleShape___destroy___0:vd,_emscripten_bind_btCollisionObject_activate_1:Re,_emscripten_bind_btCollisionObject_activate_0:Qe,_emscripten_bind_btKinematicCharacterController_setUpAxis_1:Yj,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:cd,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:fh,_emscripten_bind_btVector3_setX_1:Ck,_emscripten_bind_btCollisionConfiguration___destroy___0:wd,_emscripten_bind_btQuaternion_btQuaternion_4:Oi,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:Be,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:ze,_emscripten_bind_btVector3_setZ_1:Ek,_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:Dj,_emscripten_bind_btQuaternion_setValue_4:Pi,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:ad,_emscripten_bind_LocalShapeInfo___destroy___0:Fl,_emscripten_bind_btQuadWord_setY_1:yn,_emscripten_bind_btRigidBody_isKinematicObject_0:Im,_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:ee,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:_h,_emscripten_bind_btConeTwistConstraint_setDamping_1:jg,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:Cd,_emscripten_bind_btCollisionWorld___destroy___0:sn,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:ej,_emscripten_bind_btBoxShape_btBoxShape_1:bh,_emscripten_bind_btPersistentManifold_getBody1_0:Zg,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:wi,_emscripten_bind_btKinematicCharacterController_setGravity_1:hk,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:gl,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:Ie,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:He,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:Bl,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:pj,_emscripten_bind_btVector4_setValue_4:Mj,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:Pc,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Ci,_emscripten_bind_btVector3_length_0:yk,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:Af,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:zf,_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:Lh,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:hj,_emscripten_bind_btPairCachingGhostObject___destroy___0:Ud,_emscripten_bind_btPairCachingGhostObject_activate_0:Hd,_emscripten_bind_btPairCachingGhostObject_activate_1:Id,_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:Gd,_emscripten_bind_btDefaultMotionState___destroy___0:ai,_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:Zc,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:_d,_emscripten_bind_btQuadWord_setW_1:An,_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:$d,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:Ki,_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:Bj,_emscripten_bind_btRigidBody_setLinearFactor_1:km,_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:od,_emscripten_bind_btRaycastVehicle_setSteeringValue_2:Jl,_emscripten_bind_btPoint2PointConstraint___destroy___0:Vf,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:hf,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:gf,_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:ie,_malloc:XE,_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:jd,_emscripten_bind_btTransform_btTransform_2:_m,_emscripten_bind_btTransform_btTransform_0:Zm,_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:uj,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:id,_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:Rl,_emscripten_bind_btCollisionObject_setActivationState_1:Oe,_emscripten_bind_btPersistentManifold___destroy___0:ah,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:fl,_emscripten_bind_btCylinderShapeZ___destroy___0:Ym,_emscripten_bind_btMatrix3x3___destroy___0:Ic,_emscripten_bind_ConvexResultCallback_hasHit_0:Ef,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:_k,_emscripten_bind_btCollisionWorld_convexSweepTest_5:qn,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:qi,_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Mi,_emscripten_bind_btConstraintSetting_set_m_damping_1:el,_emscripten_bind_btVehicleRaycaster___destroy___0:Ik,_emscripten_bind_btRigidBody_applyForce_2:mm,_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Fg,_emscripten_bind_btConstraintSetting_set_m_tau_1:cl,_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Vg,_emscripten_bind_btSphereShape_calculateLocalInertia_2:Lk,_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:Tf,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:Tl,_emscripten_bind_btGhostObject_setFriction_1:ul,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Nd,_emscripten_bind_btRigidBody_setFriction_1:Km,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:$l,_emscripten_bind_btGhostObject_setWorldTransform_1:yl,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:ff,_emscripten_bind_btConvexHullShape___destroy___0:Wg,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:uf,_emscripten_bind_btVector4_setX_1:Rj,_emscripten_bind_btKinematicCharacterController_jump_0:gk,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:mg,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:Bf,_emscripten_bind_btRigidBody_upcast_1:Am,_emscripten_bind_btCollisionObject_getWorldTransform_0:We,_emscripten_bind_btVector4_setZ_1:Tj,_emscripten_bind_btQuadWord_y_0:un,___cxa_can_catch:VE,_emscripten_bind_btTransform_getBasis_0:fn,_emscripten_bind_btPairCachingGhostObject_setFriction_1:Md,_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:kd,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:gh,_emscripten_bind_ClosestRayResultCallback___destroy___0:xi,_emscripten_bind_btQuadWord_w_0:wn,_emscripten_bind_btCompoundShape___destroy___0:Bh,_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Qc,_emscripten_bind_btGhostObject_btGhostObject_0:il,_emscripten_bind_btConeShape_btConeShape_2:rg,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:se,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:xe,_emscripten_bind_btCollisionObject_setCollisionShape_1:_e,_emscripten_bind_btWheelInfo___destroy___0:Fj,_emscripten_bind_btTransform_setRotation_1:cn,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:Sd,_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Sf,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:si,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:xd,_emscripten_bind_btAxisSweep3_btAxisSweep3_3:yd,_emscripten_bind_btBoxShape_calculateLocalInertia_2:dh,_emscripten_bind_btVector3_setY_1:Dk,_emscripten_bind_btAxisSweep3_btAxisSweep3_4:zd,_emscripten_bind_btAxisSweep3_btAxisSweep3_5:Ad,_emscripten_bind_btQuadWord_setX_1:xn,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:ne,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:lh,_emscripten_bind_btOverlappingPairCache___destroy___0:vk,_emscripten_bind_btConstraintSetting___destroy___0:hl,_emscripten_bind_RayResultCallback___destroy___0:kj,_emscripten_bind_btPersistentManifold_getBody0_0:Yg,_emscripten_bind_btConeShapeX_btConeShapeX_2:Hg,_emscripten_bind_btConeTwistConstraint_enableFeedback_1:pg,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:_i,_emscripten_bind_btRigidBody_applyTorque_1:lm,_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:ag,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:fg,_emscripten_bind_btConcaveShape___destroy___0:Ij,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:gg,_emscripten_bind_btQuaternion_x_0:Qi,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:Zl,_emscripten_bind_btConcaveShape_setLocalScaling_1:Gj,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:qf,_emscripten_bind_btConeShapeX_setLocalScaling_1:Ig,_emscripten_bind_btQuaternion_z_0:Si,_emscripten_bind_btConvexHullShape_btConvexHullShape_0:Rg,_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:Cj,_emscripten_bind_btConstraintSetting_get_m_damping_0:dl,_emscripten_bind_btGhostObject___destroy___0:Al,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:ml,_emscripten_bind_btRigidBody_applyCentralForce_1:nm,_emscripten_bind_btQuaternion___destroy___0:Yi,_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:hh,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:Xh,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:Th,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:Wh,_emscripten_bind_btKinematicCharacterController_canJump_0:fk,_emscripten_bind_btRigidBody_isActive_0:Hm,_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:Hl,_emscripten_bind_btMotionState_setWorldTransform_1:Xf,_emscripten_bind_btCylinderShape_setLocalScaling_1:Dn,_emscripten_bind_btCollisionWorld_rayTest_3:jn,_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Ah,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:ln,_emscripten_bind_btRigidBody_setCollisionShape_1:Pm,_emscripten_bind_btConeShapeX___destroy___0:Kg,_emscripten_bind_btCollisionObject_getCollisionFlags_0:Xe,_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:gd,_emscripten_bind_btConeTwistConstraint_enableMotor_1:kg,_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:wj,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:Xj,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Ld,_emscripten_bind_btBroadphaseInterface___destroy___0:Le,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:me,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Ne,_emscripten_bind_btPersistentManifold_getNumContacts_0:_g,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:re,_emscripten_bind_LocalConvexResult___destroy___0:cm,_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Wc,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:oe,_emscripten_bind_btCollisionWorld_addCollisionObject_3:on,_emscripten_bind_btRigidBody_getCollisionFlags_0:Mm,_emscripten_bind_btCollisionShape_setLocalScaling_1:Zk,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:Qh,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Ul,_emscripten_bind_btMatrix3x3_setEulerZYX_3:Fc,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:pd,_emscripten_bind_btConvexHullShape_setLocalScaling_1:Ug,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:gj,_emscripten_bind_btCollisionWorld_getDispatcher_0:hn,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:fj,_emscripten_bind_btTriangleMesh_btTriangleMesh_1:Mg,_i64Subtract:_E,_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:Kl,_emscripten_bind_btRigidBody_setDamping_2:im,_emscripten_bind_btDynamicsWorld_getDispatcher_0:zi,_emscripten_bind_btGhostObject_setCollisionFlags_1:xl,_emscripten_bind_btMatrix3x3_getRotation_1:Gc,_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:lg,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:Sm,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:Sc,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:je,_emscripten_bind_btCompoundShape_setLocalScaling_1:zh,_emscripten_bind_btOverlappingPairCallback___destroy___0:dm,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:Ae,_emscripten_bind_btVector4_setY_1:Sj,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Cm,_emscripten_bind_btRigidBody_getLinearVelocity_0:um,_emscripten_bind_btRigidBody_applyImpulse_2:pm,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Hj,_emscripten_bind_btRigidBody_setWorldTransform_1:Om,_emscripten_bind_btRigidBody_setAngularVelocity_1:xm,_emscripten_bind_btConvexShape_setLocalScaling_1:vg,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:ci,_free:YE,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Ed,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:ti,_emscripten_bind_RayResultCallback_hasHit_0:dj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:pe,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:Gh,_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:nj,_emscripten_bind_btConeShapeZ_setLocalScaling_1:Eg,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Fd,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Df,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:rh,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:Vm,_emscripten_bind_btRigidBody_getAngularVelocity_0:vm,_emscripten_bind_btCompoundShape_btCompoundShape_0:wh,_emscripten_bind_btCompoundShape_btCompoundShape_1:xh,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:uk,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:pk,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:dd,_emscripten_bind_btRigidBody_updateInertiaTensor_0:tm,_emscripten_bind_btTransform_setOrigin_1:bn,_emscripten_bind_ClosestRayResultCallback_hasHit_0:ii,_emscripten_bind_btCompoundShape_addChildShape_2:yh,_emscripten_bind_btDispatcher___destroy___0:gi,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:mh,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:yf,_emscripten_bind_btConvexShape___destroy___0:xg,_memmove:dF,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:Li,_emscripten_bind_btCollisionObject_setRestitution_1:Ue,_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:vj,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:am,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:hd,_emscripten_bind_btQuaternion_w_0:Ti,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:Ff,_emscripten_bind_btTransform_getRotation_0:en,_emscripten_bind_btHingeConstraint_btHingeConstraint_6:Tk,_emscripten_bind_btHingeConstraint_btHingeConstraint_7:Uk,_emscripten_bind_btHingeConstraint_btHingeConstraint_4:Rk,_emscripten_bind_btHingeConstraint_btHingeConstraint_5:Sk,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:Pk,_emscripten_bind_btHingeConstraint_btHingeConstraint_3:Qk,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:qe,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:Ih,_emscripten_bind_btTypedConstraint___destroy___0:Jn,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:Rm,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:ef,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:df,_emscripten_bind_btVector3_z_0:Bk,_emscripten_bind_btSphereShape_btSphereShape_1:Jk,_emscripten_bind_btQuaternion_y_0:Ri,_emscripten_bind_btCollisionWorld_addCollisionObject_1:mn,_emscripten_bind_btCollisionWorld_addCollisionObject_2:nn,_emscripten_bind_btRigidBody_setRestitution_1:Jm,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Nh,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:Mh,_emscripten_bind_btRigidBody_getMotionState_0:ym,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:bj,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Kc,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:Vc,_emscripten_bind_btActionInterface___destroy___0:tk,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:Zh,_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:cj,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:ij,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:Qf,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:Eh,_emscripten_bind_btCylinderShape_calculateLocalInertia_2:En,_emscripten_bind_btGhostObject_setRestitution_1:tl,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Di,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:Oh,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:Fi,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:Ei,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:nf,_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:mk,_emscripten_bind_btVector4_op_mul_1:Uj,_emscripten_bind_btCylinderShape_btCylinderShape_1:Cn,_emscripten_bind_btVector3___destroy___0:Hk,_emscripten_bind_btRigidBody_setAngularFactor_1:zm,_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Xm,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:El,_emscripten_bind_btMotionState_getWorldTransform_1:Wf,_emscripten_bind_btDynamicsWorld_getBroadphase_0:Gi,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:qd,_emscripten_bind_btVector3_x_0:zk,___cxa_is_pointer_type:WE,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:Vd,_emscripten_bind_btCollisionObject_getCollisionShape_0:Me,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:Wd,_emscripten_bind_btManifoldPoint___destroy___0:Ge,_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:ce,_emscripten_bind_btVector4_length_0:Nj,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:$h,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:Wm,_emscripten_bind_ClosestConvexResultCallback___destroy___0:Sh,_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:Ok,_emscripten_bind_btCollisionObject_setFriction_1:Ve,_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Ag,_emscripten_bind_btRigidBody_setMassProps_2:jm,_emscripten_bind_btVector3_setValue_3:Fk,_emscripten_bind_btGhostObject_getCollisionFlags_0:wl,_emscripten_bind_btCapsuleShapeX___destroy___0:Ni,_emscripten_bind_btHingeConstraint_setLimit_4:Vk,_emscripten_bind_btHingeConstraint_setLimit_5:Wk,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:Ej,_emscripten_bind_btConeShape_setLocalScaling_1:sg,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:jl,_emscripten_bind_btGhostObject_getCollisionShape_0:ll,_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:ae,_emscripten_bind_btPersistentManifold_getContactPoint_1:$g,_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Jg,_emscripten_bind_btGhostObject_activate_0:pl,_emscripten_bind_btGhostObject_activate_1:ql,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:ve,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:Ce,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:Dg,_emscripten_bind_btSphereShape___destroy___0:Mk,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:cg,_emscripten_bind_btDynamicsWorld_contactPairTest_3:Ii,_emscripten_bind_btCollisionWorld_getPairCache_0:kn,_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:ng,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:Fh,_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:qj,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:Nk,_emscripten_bind_btGhostObject_forceActivationState_1:ol,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:Jc,_emscripten_bind_VoidPtr___destroy___0:Uc,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:bg,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:Ch,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:ji,_emscripten_bind_btRaycastVehicle_getRigidBody_0:Ol,_emscripten_bind_btWheelInfo_get_m_steering_0:zj,_emscripten_bind_btConstraintSetting_get_m_tau_0:bl,_emscripten_bind_btSliderConstraint___destroy___0:eg,_emscripten_bind_btCollisionShape___destroy___0:$k,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:Jf,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:$c,_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:be,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:Rd,_emscripten_bind_btKinematicCharacterController_warp_1:$j,_emscripten_bind_btAxisSweep3___destroy___0:Bd,_emscripten_bind_btTriangleMesh___destroy___0:Qg,_emscripten_bind_btKinematicCharacterController_preStep_1:ak,_emscripten_bind_btRaycastVehicle_applyEngineForce_2:Il,_emscripten_bind_btRaycastVehicle_setBrake_2:Ql,_emscripten_bind_ConcreteContactResultCallback___destroy___0:Lc,_emscripten_bind_btCollisionObject___destroy___0:$e,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:ph,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:ge,_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:og,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:Yc,_emscripten_bind_btVector3_btVector3_3:xk,_emscripten_bind_btVector3_btVector3_0:wk,_emscripten_bind_btBoxShape___destroy___0:eh,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:cf,_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:Kh,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:oh,_emscripten_bind_btConeTwistConstraint___destroy___0:qg,_emscripten_bind_btQuadWord___destroy___0:Bn,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:ki,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:gm,_emscripten_bind_btConstraintSolver___destroy___0:Gl,_emscripten_bind_btDbvtBroadphase___destroy___0:Tc,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:sd,_emscripten_bind_btTypedConstraint_enableFeedback_1:In,_emscripten_bind_btQuadWord_setZ_1:zn,_emscripten_bind_btCapsuleShape_setLocalScaling_1:td,_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:le,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:bi,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:Kf,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:Xg,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Hf,_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:hi,_emscripten_bind_btVector4___destroy___0:Vj,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:Kd,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:ui,_i64Add:bF,_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:rk,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:vh,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:yg,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:zg,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:Wj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:he,_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:Rf,_emscripten_bind_btKinematicCharacterController_playerStep_2:bk,_emscripten_bind_btDispatcherInfo___destroy___0:rd,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:qk,_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Cf,_emscripten_bind_ContactResultCallback_addSingleResult_7:Bg,_emscripten_bind_btGhostObject_getWorldTransform_0:vl,_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:pf,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:bm,_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:$i,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:Xc,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:nh,_emscripten_bind_btDynamicsWorld___destroy___0:Ji,_emscripten_bind_btMotionState___destroy___0:Yf,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Ye,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:rf,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:sf,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:tf,_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:mj,_emscripten_bind_btRaycastVehicle_getNumWheels_0:Nl,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:fi,_emscripten_bind_btWheelInfo_set_m_steering_1:Aj,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:Qd,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:ig,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:Nf,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:Mf,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:dk,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Gf,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Td,_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:te,_emscripten_bind_btRigidBody_getWorldTransform_0:Lm,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:Of,_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:Hh,_memcpy:cF,_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:ud,_emscripten_bind_btVector3_y_0:Ak,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:uh,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:Mc,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:Oc,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:Dl,_emscripten_bind_btGhostObject_setCollisionShape_1:zl,_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:md,_emscripten_bind_btQuaternion_setW_1:Xi,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:bf,_emscripten_bind_btGhostObject_isActive_0:rl,_emscripten_bind_btVector4_z_0:Qj,_emscripten_bind_btCollisionObject_forceActivationState_1:Pe,_emscripten_bind_btKinematicCharacterController_onGround_0:nk,_emscripten_bind_btRaycastVehicle_getWheelInfo_1:Pl,_emscripten_bind_btConeTwistConstraint_setLimit_2:hg,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:Ph,_emscripten_bind_btRigidBody___destroy___0:Qm,_emscripten_bind_btStridingMeshInterface___destroy___0:Ke,_emscripten_bind_btRigidBody_setSleepingThresholds_2:hm,_emscripten_bind_btCollisionObject_setWorldTransform_1:Ze,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:Wl,_emscripten_bind_btManifoldPoint_get_m_localPointA_0:we,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:Xd,_emscripten_bind_btCollisionWorld_getBroadphase_0:pn,_emscripten_bind_btDispatcher_getNumManifolds_0:ei,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:fe,_emscripten_bind_btRigidBody_activate_1:Gm,_emscripten_bind_btRigidBody_activate_0:Fm,_emscripten_bind_btRaycastVehicle___destroy___0:Sl,_emscripten_bind_btGhostObject_setActivationState_1:nl,_emscripten_bind_btCollisionWorld_contactPairTest_3:rn,_emscripten_bind_btCylinderShapeX___destroy___0:Um,_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:ue,_emscripten_bind_ContactResultCallback___destroy___0:Cg,_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:_c,_emscripten_bind_btVector4_x_0:Oj,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Pd,_emscripten_bind_btKinematicCharacterController_getGhostObject_0:lk,_emscripten_bind_btRigidBody_btRigidBody_1:em,_emscripten_bind_btTriangleMeshShape___destroy___0:di,_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:Zj,_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:de,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:kh,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:Fe,_emscripten_bind_btKinematicCharacterController_getGravity_0:ik,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:xf,_emscripten_bind_btQuaternion_setY_1:Vi,_emscripten_bind_btConeShape_calculateLocalInertia_2:tg,_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Tm,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:If,_llvm_bswap_i32:eF,_emscripten_bind_btSphereShape_setLocalScaling_1:Kk,_emscripten_bind_btVector4_w_0:Lj,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:Ee,_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Rc,_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:li,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:Rh,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:jf,_emscripten_bind_btVector4_y_0:Pj,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Je,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:qh,_emscripten_bind_btConvexHullShape_addPoint_1:Sg,_emscripten_bind_btConvexHullShape_addPoint_2:Tg,_emscripten_bind_btTransform_getOrigin_0:dn,_emscripten_bind_btHingeConstraint___destroy___0:Yk,_emscripten_bind_btHingeConstraint_enableFeedback_1:Xk,_emscripten_bind_btConvexShape_calculateLocalInertia_2:wg,_memset:$E,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:ni,_emscripten_bind_btTriangleMesh_btTriangleMesh_0:Lg,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:Dd,_emscripten_bind_btTriangleMesh_btTriangleMesh_2:Ng,_emscripten_bind_btTransform___destroy___0:gn,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:oj,_emscripten_bind_btRigidBody_getCollisionShape_0:Bm,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:De,_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:xj,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:ye,_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:wf,_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:$f,_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:Uf,_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:tj,_emscripten_bind_btRigidBody_setLinearVelocity_1:wm,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:jh,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:jj,_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:mi,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:ri,_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:yj,_emscripten_bind_btDynamicsWorld_addAction_1:yi,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:Od,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:Yd,_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:ke,_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:ck,_emscripten_bind_btRigidBody_setActivationState_1:Dm,_emscripten_bind_ClosestConvexResultCallback_hasHit_0:Dh,_emscripten_bind_btCapsuleShapeZ___destroy___0:aj,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:Cl,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:vi,_emscripten_bind_btTriangleMesh_addTriangle_3:Og,_emscripten_bind_btGhostObject_getOverlappingObject_1:kl,_emscripten_bind_btTriangleMesh_addTriangle_4:Pg,_emscripten_bind_btRigidBody_applyTorqueImpulse_1:om,_emscripten_bind_btRigidBody_setCollisionFlags_1:Nm,_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:sj,_emscripten_bind_btConeShape___destroy___0:ug,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:Zi,_emscripten_bind_btSliderConstraint_btSliderConstraint_5:_f,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:Zf,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:ld,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:Hi,_emscripten_bind_btRigidBody_forceActivationState_1:Em,_emscripten_bind_btPoint2PointConstraint_setPivotB_1:Pf,_emscripten_bind_btGhostPairCallback___destroy___0:Hn,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:kk,_emscripten_bind_btSliderConstraint_enableFeedback_1:dg,_emscripten_bind_btRaycastVehicle_addWheel_7:Ml,_emscripten_bind_btPairCachingGhostObject_isActive_0:Jd,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:Xl,_emscripten_bind_btStaticPlaneShape___destroy___0:sk,_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:nd,_emscripten_bind_btBoxShape_setLocalScaling_1:ch,_emscripten_bind_btConeShapeZ___destroy___0:Gg,_emscripten_bind_btDynamicsWorld_getPairCache_0:Bi,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:vf,_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:_j,_emscripten_bind_btVector4_btVector4_0:Jj,_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:fd,_emscripten_bind_btVector4_btVector4_4:Kj,_emscripten_bind_btKinematicCharacterController___destroy___0:ok,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:Vl,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:al,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:of,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:Gn,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:ek,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:oi,_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:sh,__GLOBAL__I_a:pE,runPostSets:ZE,stackAlloc:wc,stackSave:xc,stackRestore:yc,setThrew:zc,setTempRet0:Cc,getTempRet0:Dc,dynCall_viiiii:rF,dynCall_vid:sF,dynCall_vi:tF,dynCall_viiidii:uF,dynCall_vii:vF,dynCall_iiiiiiiiiii:wF,dynCall_ii:xF,dynCall_viidi:yF,dynCall_viddiii:zF,dynCall_vidii:AF,dynCall_iiiii:BF,dynCall_vidi:CF,dynCall_diiiiiiii:DF,dynCall_viiiiddddiid:EF,dynCall_diiiii:FF,dynCall_iiii:GF,dynCall_viiiiii:HF,dynCall_iiid:IF,dynCall_di:JF,dynCall_iiiiiii:KF,dynCall_diiidii:LF,dynCall_viidii:MF,dynCall_viiiiiii:NF,dynCall_viiiiiiiii:OF,dynCall_viiiiiiiiii:PF,dynCall_iii:QF,dynCall_diii:RF,dynCall_diiiiiiiiii:SF,dynCall_viiiid:TF,dynCall_diiiiiiiii:UF,dynCall_did:VF,dynCall_viiiidddddidi:WF,dynCall_diidii:XF,dynCall_diiii:YF,dynCall_iiiiiiiiii:ZF,dynCall_viiid:_F,dynCall_viii:$F,dynCall_v:aG,dynCall_viid:bG,dynCall_iidid:cG,dynCall_viiii:dG} // EMSCRIPTEN_END_ASM - -})({"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array},{"abort":abort,"assert":assert,"min":Math_min,"invoke_viiiii":invoke_viiiii,"invoke_vid":invoke_vid,"invoke_vi":invoke_vi,"invoke_viiidii":invoke_viiidii,"invoke_vii":invoke_vii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_ii":invoke_ii,"invoke_viidi":invoke_viidi,"invoke_viddiii":invoke_viddiii,"invoke_vidii":invoke_vidii,"invoke_iiiii":invoke_iiiii,"invoke_vidi":invoke_vidi,"invoke_diiiiiiii":invoke_diiiiiiii,"invoke_viiiiddddiid":invoke_viiiiddddiid,"invoke_diiiii":invoke_diiiii,"invoke_iiii":invoke_iiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iiid":invoke_iiid,"invoke_di":invoke_di,"invoke_iiiiiii":invoke_iiiiiii,"invoke_diiidii":invoke_diiidii,"invoke_viidii":invoke_viidii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_viiiiiiiiii":invoke_viiiiiiiiii,"invoke_iii":invoke_iii,"invoke_diii":invoke_diii,"invoke_diiiiiiiiii":invoke_diiiiiiiiii,"invoke_viiiid":invoke_viiiid,"invoke_diiiiiiiii":invoke_diiiiiiiii,"invoke_did":invoke_did,"invoke_viiiidddddidi":invoke_viiiidddddidi,"invoke_diidii":invoke_diidii,"invoke_diiii":invoke_diiii,"invoke_iiiiiiiiii":invoke_iiiiiiiiii,"invoke_viiid":invoke_viiid,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viid":invoke_viid,"invoke_iidid":invoke_iidid,"invoke_viiii":invoke_viiii,"_emscripten_asm_const_double":_emscripten_asm_const_double,"_cosf":_cosf,"_send":_send,"_sqrtf":_sqrtf,"_fmod":_fmod,"___cxa_guard_acquire":___cxa_guard_acquire,"___setErrNo":___setErrNo,"_vfprintf":_vfprintf,"_atan2f":_atan2f,"_fmodf":_fmodf,"___cxa_guard_release":___cxa_guard_release,"_pwrite":_pwrite,"_acosf":_acosf,"_asinf":_asinf,"_fabsf":_fabsf,"_sbrk":_sbrk,"_llvm_pow_f32":_llvm_pow_f32,"___cxa_begin_catch":___cxa_begin_catch,"_sinf":_sinf,"_fileno":_fileno,"___resumeException":___resumeException,"___cxa_find_matching_catch":___cxa_find_matching_catch,"_sysconf":_sysconf,"__reallyNegative":__reallyNegative,"_pthread_getspecific":_pthread_getspecific,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_pthread_once":_pthread_once,"_pthread_key_create":_pthread_key_create,"_write":_write,"___errno_location":___errno_location,"_pthread_setspecific":_pthread_setspecific,"_fputc":_fputc,"___cxa_throw":___cxa_throw,"_abort":_abort,"___cxa_allocate_exception":___cxa_allocate_exception,"_fwrite":_fwrite,"_time":_time,"_fprintf":_fprintf,"_gettimeofday":_gettimeofday,"__formatString":__formatString,"_llvm_trap":_llvm_trap,"___cxa_pure_virtual":___cxa_pure_virtual,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"ctlz_i8":ctlz_i8,"NaN":NaN,"Infinity":Infinity,"_stderr":_stderr},buffer);var _emscripten_bind_btCylinderShape___destroy___0=Module["_emscripten_bind_btCylinderShape___destroy___0"]=asm["_emscripten_bind_btCylinderShape___destroy___0"];var _strlen=Module["_strlen"]=asm["_strlen"];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_ClosestRayResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0"];var _emscripten_bind_btQuaternion_setX_1=Module["_emscripten_bind_btQuaternion_setX_1"]=asm["_emscripten_bind_btQuaternion_setX_1"];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_LocalConvexResult_get_m_hitNormalLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_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_btTransform_setIdentity_0=Module["_emscripten_bind_btTransform_setIdentity_0"]=asm["_emscripten_bind_btTransform_setIdentity_0"];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_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_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_btVector3_op_mul_1=Module["_emscripten_bind_btVector3_op_mul_1"]=asm["_emscripten_bind_btVector3_op_mul_1"];var _emscripten_bind_btDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDynamicsWorld_rayTest_3"];var _emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"];var _emscripten_bind_btQuadWord_x_0=Module["_emscripten_bind_btQuadWord_x_0"]=asm["_emscripten_bind_btQuadWord_x_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_btCollisionObject_isKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isKinematicObject_0"];var _emscripten_bind_ConvexResultCallback___destroy___0=Module["_emscripten_bind_ConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ConvexResultCallback___destroy___0"];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_btRigidBody_getCenterOfMassTransform_0=Module["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"]=asm["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"];var _emscripten_bind_btGhostObject_isKinematicObject_0=Module["_emscripten_bind_btGhostObject_isKinematicObject_0"]=asm["_emscripten_bind_btGhostObject_isKinematicObject_0"];var _emscripten_bind_btCapsuleShape___destroy___0=Module["_emscripten_bind_btCapsuleShape___destroy___0"]=asm["_emscripten_bind_btCapsuleShape___destroy___0"];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_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_btQuaternion_btQuaternion_4=Module["_emscripten_bind_btQuaternion_btQuaternion_4"]=asm["_emscripten_bind_btQuaternion_btQuaternion_4"];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_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_btWheelInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"];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_LocalShapeInfo___destroy___0=Module["_emscripten_bind_LocalShapeInfo___destroy___0"]=asm["_emscripten_bind_LocalShapeInfo___destroy___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_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_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_btCollisionWorld___destroy___0=Module["_emscripten_bind_btCollisionWorld___destroy___0"]=asm["_emscripten_bind_btCollisionWorld___destroy___0"];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_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_btKinematicCharacterController_setGravity_1=Module["_emscripten_bind_btKinematicCharacterController_setGravity_1"]=asm["_emscripten_bind_btKinematicCharacterController_setGravity_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_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_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_btDynamicsWorld_getDispatchInfo_0=Module["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatchInfo_0"];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_btPairCachingGhostObject___destroy___0=Module["_emscripten_bind_btPairCachingGhostObject___destroy___0"]=asm["_emscripten_bind_btPairCachingGhostObject___destroy___0"];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_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_btWheelInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btRigidBody_setLinearFactor_1=Module["_emscripten_bind_btRigidBody_setLinearFactor_1"]=asm["_emscripten_bind_btRigidBody_setLinearFactor_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_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_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 _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_btWheelInfo_set_m_wheelsRadius_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_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_btRaycastVehicle_setCoordinateSystem_3=Module["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"]=asm["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"];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_btCollisionWorld_convexSweepTest_5=Module["_emscripten_bind_btCollisionWorld_convexSweepTest_5"]=asm["_emscripten_bind_btCollisionWorld_convexSweepTest_5"];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_btVehicleRaycaster___destroy___0=Module["_emscripten_bind_btVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btVehicleRaycaster___destroy___0"];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_btSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btSphereShape_calculateLocalInertia_2"];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_LocalConvexResult_LocalConvexResult_5=Module["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"]=asm["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"];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_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_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_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_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_btCollisionObject_getWorldTransform_0=Module["_emscripten_bind_btCollisionObject_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObject_getWorldTransform_0"];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 ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_btDispatcherInfo_set_m_useEpa_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"];var _emscripten_bind_btCollisionDispatcher_getNumManifolds_0=Module["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btCollisionDispatcher_getNumManifolds_0"];var _emscripten_bind_ClosestRayResultCallback___destroy___0=Module["_emscripten_bind_ClosestRayResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestRayResultCallback___destroy___0"];var _emscripten_bind_btQuadWord_w_0=Module["_emscripten_bind_btQuadWord_w_0"]=asm["_emscripten_bind_btQuadWord_w_0"];var _emscripten_bind_btCompoundShape___destroy___0=Module["_emscripten_bind_btCompoundShape___destroy___0"]=asm["_emscripten_bind_btCompoundShape___destroy___0"];var _emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"];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_btCollisionObject_setCollisionShape_1=Module["_emscripten_bind_btCollisionObject_setCollisionShape_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionShape_1"];var _emscripten_bind_btWheelInfo___destroy___0=Module["_emscripten_bind_btWheelInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfo___destroy___0"];var _emscripten_bind_btTransform_setRotation_1=Module["_emscripten_bind_btTransform_setRotation_1"]=asm["_emscripten_bind_btTransform_setRotation_1"];var _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"];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_btBoxShape_calculateLocalInertia_2=Module["_emscripten_bind_btBoxShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBoxShape_calculateLocalInertia_2"];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_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"];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_btOverlappingPairCache___destroy___0=Module["_emscripten_bind_btOverlappingPairCache___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCache___destroy___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_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_btConeTwistConstraint_enableFeedback_1=Module["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"];var _emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"];var _emscripten_bind_btRigidBody_applyTorque_1=Module["_emscripten_bind_btRigidBody_applyTorque_1"]=asm["_emscripten_bind_btRigidBody_applyTorque_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_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_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_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_btGhostObject___destroy___0=Module["_emscripten_bind_btGhostObject___destroy___0"]=asm["_emscripten_bind_btGhostObject___destroy___0"];var _emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btRigidBody_applyCentralForce_1=Module["_emscripten_bind_btRigidBody_applyCentralForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralForce_1"];var _emscripten_bind_btQuaternion___destroy___0=Module["_emscripten_bind_btQuaternion___destroy___0"]=asm["_emscripten_bind_btQuaternion___destroy___0"];var _emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"];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_btKinematicCharacterController_canJump_0=Module["_emscripten_bind_btKinematicCharacterController_canJump_0"]=asm["_emscripten_bind_btKinematicCharacterController_canJump_0"];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_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_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_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4"];var _emscripten_bind_btPairCachingGhostObject_setRestitution_1=Module["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setRestitution_1"];var _emscripten_bind_btBroadphaseInterface___destroy___0=Module["_emscripten_bind_btBroadphaseInterface___destroy___0"]=asm["_emscripten_bind_btBroadphaseInterface___destroy___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_btCollisionObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"];var _emscripten_bind_btPersistentManifold_getNumContacts_0=Module["_emscripten_bind_btPersistentManifold_getNumContacts_0"]=asm["_emscripten_bind_btPersistentManifold_getNumContacts_0"];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_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"];var _emscripten_bind_btCollisionWorld_addCollisionObject_3=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_3"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_3"];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_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Module["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"];var _emscripten_bind_btConvexHullShape_setLocalScaling_1=Module["_emscripten_bind_btConvexHullShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexHullShape_setLocalScaling_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_RayResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_1=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Module["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"];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_btConeTwistConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"];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_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_btVector4_setY_1=Module["_emscripten_bind_btVector4_setY_1"]=asm["_emscripten_bind_btVector4_setY_1"];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_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_btConvexShape_setLocalScaling_1=Module["_emscripten_bind_btConvexShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexShape_setLocalScaling_1"];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_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_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"];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_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_btPairCachingGhostObject_setActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"];var _emscripten_bind_btConvexTriangleMeshShape___destroy___0=Module["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btConvexTriangleMeshShape___destroy___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_btCylinderShapeZ_btCylinderShapeZ_1=Module["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"]=asm["_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1"];var _emscripten_bind_btRigidBody_getAngularVelocity_0=Module["_emscripten_bind_btRigidBody_getAngularVelocity_0"]=asm["_emscripten_bind_btRigidBody_getAngularVelocity_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 _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_btRigidBody_updateInertiaTensor_0=Module["_emscripten_bind_btRigidBody_updateInertiaTensor_0"]=asm["_emscripten_bind_btRigidBody_updateInertiaTensor_0"];var _emscripten_bind_btTransform_setOrigin_1=Module["_emscripten_bind_btTransform_setOrigin_1"]=asm["_emscripten_bind_btTransform_setOrigin_1"];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_btCollisionObject_setRestitution_1=Module["_emscripten_bind_btCollisionObject_setRestitution_1"]=asm["_emscripten_bind_btCollisionObject_setRestitution_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_LocalConvexResult_get_m_hitFraction_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitFraction_0"];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_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_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_btHingeConstraint_btHingeConstraint_4=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_5=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_2=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"];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_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_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_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_btVector3_z_0=Module["_emscripten_bind_btVector3_z_0"]=asm["_emscripten_bind_btVector3_z_0"];var _emscripten_bind_btSphereShape_btSphereShape_1=Module["_emscripten_bind_btSphereShape_btSphereShape_1"]=asm["_emscripten_bind_btSphereShape_btSphereShape_1"];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_btRigidBody_setRestitution_1=Module["_emscripten_bind_btRigidBody_setRestitution_1"]=asm["_emscripten_bind_btRigidBody_setRestitution_1"];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_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0"];var _emscripten_bind_btRigidBody_getMotionState_0=Module["_emscripten_bind_btRigidBody_getMotionState_0"]=asm["_emscripten_bind_btRigidBody_getMotionState_0"];var _emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=Module["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"]=asm["_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1"];var _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"];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_btDefaultMotionState_setWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"];var _emscripten_bind_btDefaultVehicleRaycaster___destroy___0=Module["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"];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_ClosestConvexResultCallback_get_m_convexFromWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0"];var _emscripten_bind_btCylinderShape_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"];var _emscripten_bind_btGhostObject_setRestitution_1=Module["_emscripten_bind_btGhostObject_setRestitution_1"]=asm["_emscripten_bind_btGhostObject_setRestitution_1"];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 _emscripten_bind_btDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"];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_btKinematicCharacterController_setUseGhostSweepTest_1=Module["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"];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_btVector3___destroy___0=Module["_emscripten_bind_btVector3___destroy___0"]=asm["_emscripten_bind_btVector3___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_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_getBroadphase_0=Module["_emscripten_bind_btDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDynamicsWorld_getBroadphase_0"];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_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_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"];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_btDefaultMotionState_set_m_graphicsWorldTrans_1=Module["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"]=asm["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"];var _emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"];var _emscripten_bind_ClosestConvexResultCallback___destroy___0=Module["_emscripten_bind_ClosestConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestConvexResultCallback___destroy___0"];var _emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0"];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_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_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_btWheelInfo_set_m_maxSuspensionTravelCm_1=Module["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"]=asm["_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1"];var _emscripten_bind_btConeShape_setLocalScaling_1=Module["_emscripten_bind_btConeShape_setLocalScaling_1"]=asm["_emscripten_bind_btConeShape_setLocalScaling_1"];var _emscripten_bind_btGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"];var _emscripten_bind_btGhostObject_getCollisionShape_0=Module["_emscripten_bind_btGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btGhostObject_getCollisionShape_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_btPersistentManifold_getContactPoint_1=Module["_emscripten_bind_btPersistentManifold_getContactPoint_1"]=asm["_emscripten_bind_btPersistentManifold_getContactPoint_1"];var _emscripten_bind_btConeShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"];var _emscripten_bind_btGhostObject_activate_0=Module["_emscripten_bind_btGhostObject_activate_0"]=asm["_emscripten_bind_btGhostObject_activate_0"];var _emscripten_bind_btGhostObject_activate_1=Module["_emscripten_bind_btGhostObject_activate_1"]=asm["_emscripten_bind_btGhostObject_activate_1"];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_btConeShapeZ_btConeShapeZ_2=Module["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"]=asm["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"];var _emscripten_bind_btSphereShape___destroy___0=Module["_emscripten_bind_btSphereShape___destroy___0"]=asm["_emscripten_bind_btSphereShape___destroy___0"];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_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"];var _emscripten_bind_btGhostObject_forceActivationState_1=Module["_emscripten_bind_btGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btGhostObject_forceActivationState_1"];var _emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Module["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"]=asm["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerAngLimit_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_btRaycastVehicle_getRigidBody_0=Module["_emscripten_bind_btRaycastVehicle_getRigidBody_0"]=asm["_emscripten_bind_btRaycastVehicle_getRigidBody_0"];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_btConstraintSetting_get_m_tau_0=Module["_emscripten_bind_btConstraintSetting_get_m_tau_0"]=asm["_emscripten_bind_btConstraintSetting_get_m_tau_0"];var _emscripten_bind_btSliderConstraint___destroy___0=Module["_emscripten_bind_btSliderConstraint___destroy___0"]=asm["_emscripten_bind_btSliderConstraint___destroy___0"];var _emscripten_bind_btCollisionShape___destroy___0=Module["_emscripten_bind_btCollisionShape___destroy___0"]=asm["_emscripten_bind_btCollisionShape___destroy___0"];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_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_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_btAxisSweep3___destroy___0=Module["_emscripten_bind_btAxisSweep3___destroy___0"]=asm["_emscripten_bind_btAxisSweep3___destroy___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_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_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_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"];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_btBoxShape___destroy___0=Module["_emscripten_bind_btBoxShape___destroy___0"]=asm["_emscripten_bind_btBoxShape___destroy___0"];var _emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=Module["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_getGravity_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_btVehicleTuning_get_m_suspensionDamping_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_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_ClosestRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Module["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"]=asm["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"];var _emscripten_bind_btConstraintSolver___destroy___0=Module["_emscripten_bind_btConstraintSolver___destroy___0"]=asm["_emscripten_bind_btConstraintSolver___destroy___0"];var _emscripten_bind_btDbvtBroadphase___destroy___0=Module["_emscripten_bind_btDbvtBroadphase___destroy___0"]=asm["_emscripten_bind_btDbvtBroadphase___destroy___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_btQuadWord_setZ_1=Module["_emscripten_bind_btQuadWord_setZ_1"]=asm["_emscripten_bind_btQuadWord_setZ_1"];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_btTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"];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_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 _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_btVehicleTuning_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0"];var _emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"];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_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_ContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ContactResultCallback_addSingleResult_7"];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_btVehicleTuning_set_m_suspensionCompression_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"];var _emscripten_bind_btDynamicsWorld___destroy___0=Module["_emscripten_bind_btDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDynamicsWorld___destroy___0"];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_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_btRaycastVehicle_getNumWheels_0=Module["_emscripten_bind_btRaycastVehicle_getNumWheels_0"]=asm["_emscripten_bind_btRaycastVehicle_getNumWheels_0"];var _emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"];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_btPairCachingGhostObject_setWorldTransform_1=Module["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1"];var _emscripten_bind_btConeTwistConstraint_setAngularOnly_1=Module["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"]=asm["_emscripten_bind_btConeTwistConstraint_setAngularOnly_1"];var _emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"];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_ConvexResultCallback_set_m_collisionFilterGroup_1=Module["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"]=asm["_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1"];var _emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"];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_btCapsuleShape_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"];var _emscripten_bind_btVector3_y_0=Module["_emscripten_bind_btVector3_y_0"]=asm["_emscripten_bind_btVector3_y_0"];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_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_btQuaternion_setW_1=Module["_emscripten_bind_btQuaternion_setW_1"]=asm["_emscripten_bind_btQuaternion_setW_1"];var _emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1"];var _emscripten_bind_btGhostObject_isActive_0=Module["_emscripten_bind_btGhostObject_isActive_0"]=asm["_emscripten_bind_btGhostObject_isActive_0"];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_btConeTwistConstraint_setLimit_2=Module["_emscripten_bind_btConeTwistConstraint_setLimit_2"]=asm["_emscripten_bind_btConeTwistConstraint_setLimit_2"];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_btRigidBody___destroy___0=Module["_emscripten_bind_btRigidBody___destroy___0"]=asm["_emscripten_bind_btRigidBody___destroy___0"];var _emscripten_bind_btStridingMeshInterface___destroy___0=Module["_emscripten_bind_btStridingMeshInterface___destroy___0"]=asm["_emscripten_bind_btStridingMeshInterface___destroy___0"];var _emscripten_bind_btRigidBody_setSleepingThresholds_2=Module["_emscripten_bind_btRigidBody_setSleepingThresholds_2"]=asm["_emscripten_bind_btRigidBody_setSleepingThresholds_2"];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_btManifoldPoint_get_m_localPointA_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointA_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_btCollisionWorld_getBroadphase_0=Module["_emscripten_bind_btCollisionWorld_getBroadphase_0"]=asm["_emscripten_bind_btCollisionWorld_getBroadphase_0"];var _emscripten_bind_btDispatcher_getNumManifolds_0=Module["_emscripten_bind_btDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btDispatcher_getNumManifolds_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_btGhostObject_setActivationState_1=Module["_emscripten_bind_btGhostObject_setActivationState_1"]=asm["_emscripten_bind_btGhostObject_setActivationState_1"];var _emscripten_bind_btCollisionWorld_contactPairTest_3=Module["_emscripten_bind_btCollisionWorld_contactPairTest_3"]=asm["_emscripten_bind_btCollisionWorld_contactPairTest_3"];var _emscripten_bind_btCylinderShapeX___destroy___0=Module["_emscripten_bind_btCylinderShapeX___destroy___0"]=asm["_emscripten_bind_btCylinderShapeX___destroy___0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"];var _emscripten_bind_ContactResultCallback___destroy___0=Module["_emscripten_bind_ContactResultCallback___destroy___0"]=asm["_emscripten_bind_ContactResultCallback___destroy___0"];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_btVector4_x_0=Module["_emscripten_bind_btVector4_x_0"]=asm["_emscripten_bind_btVector4_x_0"];var _emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"];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_btRigidBodyConstructionInfo_get_m_restitution_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_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_btKinematicCharacterController_getGravity_0=Module["_emscripten_bind_btKinematicCharacterController_getGravity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGravity_0"];var _emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"];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_btSphereShape_setLocalScaling_1=Module["_emscripten_bind_btSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btSphereShape_setLocalScaling_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_ClosestRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"];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_btVector4_y_0=Module["_emscripten_bind_btVector4_y_0"]=asm["_emscripten_bind_btVector4_y_0"];var _emscripten_bind_btGeneric6DofConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofConstraint___destroy___0"];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_btTransform_getOrigin_0=Module["_emscripten_bind_btTransform_getOrigin_0"]=asm["_emscripten_bind_btTransform_getOrigin_0"];var _emscripten_bind_btHingeConstraint___destroy___0=Module["_emscripten_bind_btHingeConstraint___destroy___0"]=asm["_emscripten_bind_btHingeConstraint___destroy___0"];var _emscripten_bind_btHingeConstraint_enableFeedback_1=Module["_emscripten_bind_btHingeConstraint_enableFeedback_1"]=asm["_emscripten_bind_btHingeConstraint_enableFeedback_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_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_btPairCachingGhostObject_getCollisionShape_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_2=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"];var _emscripten_bind_btTransform___destroy___0=Module["_emscripten_bind_btTransform___destroy___0"]=asm["_emscripten_bind_btTransform___destroy___0"];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_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_btPoint2PointConstraint_set_m_setting_1=Module["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"]=asm["_emscripten_bind_btPoint2PointConstraint_set_m_setting_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_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_btPairCachingGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"];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_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"];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_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_LocalShapeInfo_set_m_shapePart_1=Module["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_shapePart_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_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_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_set_m_suspensionRestLength1_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"];var _emscripten_bind_btConeShape___destroy___0=Module["_emscripten_bind_btConeShape___destroy___0"]=asm["_emscripten_bind_btConeShape___destroy___0"];var _emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Module["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"]=asm["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_5=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_3=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_3"];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_btDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"];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_btGhostPairCallback___destroy___0=Module["_emscripten_bind_btGhostPairCallback___destroy___0"]=asm["_emscripten_bind_btGhostPairCallback___destroy___0"];var _emscripten_bind_btKinematicCharacterController_getMaxSlope_0=Module["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"]=asm["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"];var _emscripten_bind_btSliderConstraint_enableFeedback_1=Module["_emscripten_bind_btSliderConstraint_enableFeedback_1"]=asm["_emscripten_bind_btSliderConstraint_enableFeedback_1"];var _emscripten_bind_btRaycastVehicle_addWheel_7=Module["_emscripten_bind_btRaycastVehicle_addWheel_7"]=asm["_emscripten_bind_btRaycastVehicle_addWheel_7"];var _emscripten_bind_btPairCachingGhostObject_isActive_0=Module["_emscripten_bind_btPairCachingGhostObject_isActive_0"]=asm["_emscripten_bind_btPairCachingGhostObject_isActive_0"];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_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=Module["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0"];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_btDiscreteDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Module["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"]=asm["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"];var _emscripten_bind_btVector4_btVector4_0=Module["_emscripten_bind_btVector4_btVector4_0"]=asm["_emscripten_bind_btVector4_btVector4_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_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_LocalConvexResult_set_m_hitCollisionObject_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"];var _emscripten_bind_btConstraintSetting_btConstraintSetting_0=Module["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"]=asm["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"];var _emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"];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_ClosestRayResultCallback_set_m_hitNormalWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1"];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 __GLOBAL__I_a=Module["__GLOBAL__I_a"]=asm["__GLOBAL__I_a"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];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_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];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.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<>>32-numBits)}else{return goog.math.Long.fromBits(0,low<>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<>this.DB-sh}else this[this.t-1]|=x<=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<0){if(p>p)>0){m=true;r=int2char(d)}while(i>=0){if(p>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<>bs;for(var i=ds+1;i>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i=0)r[i]=0;for(i=0;i=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");Browser.asyncLoad(memoryInitializer,(function(data){HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")}),(function(data){throw"could not load memory initializer "+memoryInitializer}))}}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"]&&shouldRunNow)run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){Module.printErr("run() called, but dependencies remain, so not running");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(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}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){if(Module["noExitRuntime"]){return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;function abort(text){if(text){Module.print(text);Module.printErr(text)}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw"abort() at "+stackTrace()+extra}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;function ensureString(value){if(typeof value=="string")return allocate(intArrayFromString(value),"i8",ALLOC_STACK);return value}function btMatrix3x3(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}btMatrix3x3.prototype=Object.create(WrapperObject.prototype);btMatrix3x3.prototype.constructor=btMatrix3x3;btMatrix3x3.prototype.__class__=btMatrix3x3;btMatrix3x3.__cache__={};Module["btMatrix3x3"]=btMatrix3x3;btMatrix3x3.prototype["setEulerZYX"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btMatrix3x3_setEulerZYX_3(self,arg0,arg1,arg2)});btMatrix3x3.prototype["getRotation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMatrix3x3_getRotation_1(self,arg0)});btMatrix3x3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btMatrix3x3___destroy___0(self)});function ConcreteContactResultCallback(){this.ptr=_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0();getCache(ConcreteContactResultCallback)[this.ptr]=this}ConcreteContactResultCallback.prototype=Object.create(ContactResultCallback.prototype);ConcreteContactResultCallback.prototype.constructor=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype.__class__=ConcreteContactResultCallback;ConcreteContactResultCallback.__cache__={};Module["ConcreteContactResultCallback"]=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype["addSingleResult"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ConcreteContactResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ConcreteContactResultCallback___destroy___0(self)});function btBvhTriangleMeshShape(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg2===undefined){this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2(arg0,arg1);getCache(btBvhTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3(arg0,arg1,arg2);getCache(btBvhTriangleMeshShape)[this.ptr]=this}btBvhTriangleMeshShape.prototype=Object.create(btTriangleMeshShape.prototype);btBvhTriangleMeshShape.prototype.constructor=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype.__class__=btBvhTriangleMeshShape;btBvhTriangleMeshShape.__cache__={};Module["btBvhTriangleMeshShape"]=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1(self,arg0)});btBvhTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btBvhTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBvhTriangleMeshShape___destroy___0(self)});function btDbvtBroadphase(){this.ptr=_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0();getCache(btDbvtBroadphase)[this.ptr]=this}btDbvtBroadphase.prototype=Object.create(WrapperObject.prototype);btDbvtBroadphase.prototype.constructor=btDbvtBroadphase;btDbvtBroadphase.prototype.__class__=btDbvtBroadphase;btDbvtBroadphase.__cache__={};Module["btDbvtBroadphase"]=btDbvtBroadphase;btDbvtBroadphase.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDbvtBroadphase___destroy___0(self)});function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)});function btSequentialImpulseConstraintSolver(){this.ptr=_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0();getCache(btSequentialImpulseConstraintSolver)[this.ptr]=this}btSequentialImpulseConstraintSolver.prototype=Object.create(WrapperObject.prototype);btSequentialImpulseConstraintSolver.prototype.constructor=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype.__class__=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.__cache__={};Module["btSequentialImpulseConstraintSolver"]=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0(self)});function btDispatcherInfo(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}btDispatcherInfo.prototype=Object.create(WrapperObject.prototype);btDispatcherInfo.prototype.constructor=btDispatcherInfo;btDispatcherInfo.prototype.__class__=btDispatcherInfo;btDispatcherInfo.__cache__={};Module["btDispatcherInfo"]=btDispatcherInfo;btDispatcherInfo.prototype["get_m_timeStep"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeStep_0(self)});btDispatcherInfo.prototype["set_m_timeStep"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_timeStep_1(self,arg0)});btDispatcherInfo.prototype["get_m_stepCount"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_stepCount_0(self)});btDispatcherInfo.prototype["set_m_stepCount"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_stepCount_1(self,arg0)});btDispatcherInfo.prototype["get_m_dispatchFunc"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0(self)});btDispatcherInfo.prototype["set_m_dispatchFunc"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1(self,arg0)});btDispatcherInfo.prototype["get_m_timeOfImpact"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0(self)});btDispatcherInfo.prototype["set_m_timeOfImpact"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1(self,arg0)});btDispatcherInfo.prototype["get_m_useContinuous"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useContinuous_0(self)});btDispatcherInfo.prototype["set_m_useContinuous"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSatConvex"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0(self)});btDispatcherInfo.prototype["set_m_enableSatConvex"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSPU"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_enableSPU_0(self)});btDispatcherInfo.prototype["set_m_enableSPU"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1(self,arg0)});btDispatcherInfo.prototype["get_m_useEpa"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useEpa_0(self)});btDispatcherInfo.prototype["set_m_useEpa"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useEpa_1(self,arg0)});btDispatcherInfo.prototype["get_m_allowedCcdPenetration"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0(self)});btDispatcherInfo.prototype["set_m_allowedCcdPenetration"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1(self,arg0)});btDispatcherInfo.prototype["get_m_useConvexConservativeDistanceUtil"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0(self)});btDispatcherInfo.prototype["set_m_useConvexConservativeDistanceUtil"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1(self,arg0)});btDispatcherInfo.prototype["get_m_convexConservativeDistanceThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0(self)});btDispatcherInfo.prototype["set_m_convexConservativeDistanceThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1(self,arg0)});btDispatcherInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDispatcherInfo___destroy___0(self)});function btCapsuleShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShape_btCapsuleShape_2(arg0,arg1);getCache(btCapsuleShape)[this.ptr]=this}btCapsuleShape.prototype=Object.create(btCollisionShape.prototype);btCapsuleShape.prototype.constructor=btCapsuleShape;btCapsuleShape.prototype.__class__=btCapsuleShape;btCapsuleShape.__cache__={};Module["btCapsuleShape"]=btCapsuleShape;btCapsuleShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShape_setLocalScaling_1(self,arg0)});btCapsuleShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShape_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShape___destroy___0(self)});function btCollisionConfiguration(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}btCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btCollisionConfiguration.prototype.constructor=btCollisionConfiguration;btCollisionConfiguration.prototype.__class__=btCollisionConfiguration;btCollisionConfiguration.__cache__={};Module["btCollisionConfiguration"]=btCollisionConfiguration;btCollisionConfiguration.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionConfiguration___destroy___0(self)});function btAxisSweep3(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg2===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_2(arg0,arg1);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_3(arg0,arg1,arg2);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_4(arg0,arg1,arg2,arg3);getCache(btAxisSweep3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_5(arg0,arg1,arg2,arg3,arg4);getCache(btAxisSweep3)[this.ptr]=this}btAxisSweep3.prototype=Object.create(WrapperObject.prototype);btAxisSweep3.prototype.constructor=btAxisSweep3;btAxisSweep3.prototype.__class__=btAxisSweep3;btAxisSweep3.__cache__={};Module["btAxisSweep3"]=btAxisSweep3;btAxisSweep3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btAxisSweep3___destroy___0(self)});function btPairCachingGhostObject(){this.ptr=_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0();getCache(btPairCachingGhostObject)[this.ptr]=this}btPairCachingGhostObject.prototype=Object.create(btGhostObject.prototype);btPairCachingGhostObject.prototype.constructor=btPairCachingGhostObject;btPairCachingGhostObject.prototype.__class__=btPairCachingGhostObject;btPairCachingGhostObject.__cache__={};Module["btPairCachingGhostObject"]=btPairCachingGhostObject;btPairCachingGhostObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0(self),btCollisionShape)});btPairCachingGhostObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1(self,arg0)});btPairCachingGhostObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_forceActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btPairCachingGhostObject_activate_0(self);return}_emscripten_bind_btPairCachingGhostObject_activate_1(self,arg0)});btPairCachingGhostObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_isActive_0(self)});btPairCachingGhostObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_isKinematicObject_0(self)});btPairCachingGhostObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setRestitution_1(self,arg0)});btPairCachingGhostObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setFriction_1(self,arg0)});btPairCachingGhostObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0(self),btTransform)});btPairCachingGhostObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0(self)});btPairCachingGhostObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1(self,arg0)});btPairCachingGhostObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1(self,arg0)});btPairCachingGhostObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1(self,arg0)});btPairCachingGhostObject.prototype["getNumOverlappingObjects"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0(self)});btPairCachingGhostObject.prototype["getOverlappingObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btPairCachingGhostObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPairCachingGhostObject___destroy___0(self)});function btRigidBodyConstructionInfo(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3(arg0,arg1,arg2);getCache(btRigidBodyConstructionInfo)[this.ptr]=this;return}this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4(arg0,arg1,arg2,arg3);getCache(btRigidBodyConstructionInfo)[this.ptr]=this}btRigidBodyConstructionInfo.prototype=Object.create(WrapperObject.prototype);btRigidBodyConstructionInfo.prototype.constructor=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype.__class__=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.__cache__={};Module["btRigidBodyConstructionInfo"]=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype["get_m_linearDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_friction"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_friction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_rollingFriction"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_rollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_restitution"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0(self)});btRigidBodyConstructionInfo.prototype["set_m_restitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_linearSleepingThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearSleepingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularSleepingThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularSleepingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDampingFactor"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDampingFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalLinearDampingThresholdSqr"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalLinearDampingThresholdSqr"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingThresholdSqr"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingThresholdSqr"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingFactor"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBodyConstructionInfo___destroy___0(self)});function btManifoldPoint(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}btManifoldPoint.prototype=Object.create(WrapperObject.prototype);btManifoldPoint.prototype.constructor=btManifoldPoint;btManifoldPoint.prototype.__class__=btManifoldPoint;btManifoldPoint.__cache__={};Module["btManifoldPoint"]=btManifoldPoint;btManifoldPoint.prototype["getPositionWorldOnA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["getPositionWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["get_m_localPointA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointA_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_localPointA_1(self,arg0)});btManifoldPoint.prototype["get_m_localPointB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointB_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_localPointB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1(self,arg0)});btManifoldPoint.prototype["get_m_normalWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_normalWorldOnB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1(self,arg0)});btManifoldPoint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btManifoldPoint___destroy___0(self)});function btGeneric6DofConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg3===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3(arg0,arg1,arg2);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(arg0,arg1,arg2,arg3);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btGeneric6DofConstraint)[this.ptr]=this}btGeneric6DofConstraint.prototype=Object.create(WrapperObject.prototype);btGeneric6DofConstraint.prototype.constructor=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype.__class__=btGeneric6DofConstraint;btGeneric6DofConstraint.__cache__={};Module["btGeneric6DofConstraint"]=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGeneric6DofConstraint___destroy___0(self)});function btStridingMeshInterface(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}btStridingMeshInterface.prototype=Object.create(WrapperObject.prototype);btStridingMeshInterface.prototype.constructor=btStridingMeshInterface;btStridingMeshInterface.prototype.__class__=btStridingMeshInterface;btStridingMeshInterface.__cache__={};Module["btStridingMeshInterface"]=btStridingMeshInterface;btStridingMeshInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btStridingMeshInterface___destroy___0(self)});function btBroadphaseInterface(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}btBroadphaseInterface.prototype=Object.create(WrapperObject.prototype);btBroadphaseInterface.prototype.constructor=btBroadphaseInterface;btBroadphaseInterface.prototype.__class__=btBroadphaseInterface;btBroadphaseInterface.__cache__={};Module["btBroadphaseInterface"]=btBroadphaseInterface;btBroadphaseInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBroadphaseInterface___destroy___0(self)});function btCollisionObject(){throw"cannot construct a btCollisionObject, no constructor in IDL"}btCollisionObject.prototype=Object.create(WrapperObject.prototype);btCollisionObject.prototype.constructor=btCollisionObject;btCollisionObject.prototype.__class__=btCollisionObject;btCollisionObject.__cache__={};Module["btCollisionObject"]=btCollisionObject;btCollisionObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getCollisionShape_0(self),btCollisionShape)});btCollisionObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1(self,arg0)});btCollisionObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setActivationState_1(self,arg0)});btCollisionObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_forceActivationState_1(self,arg0)});btCollisionObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btCollisionObject_activate_0(self);return}_emscripten_bind_btCollisionObject_activate_1(self,arg0)});btCollisionObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_isActive_0(self)});btCollisionObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_isKinematicObject_0(self)});btCollisionObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setRestitution_1(self,arg0)});btCollisionObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setFriction_1(self,arg0)});btCollisionObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getWorldTransform_0(self),btTransform)});btCollisionObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_getCollisionFlags_0(self)});btCollisionObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCollisionFlags_1(self,arg0)});btCollisionObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setWorldTransform_1(self,arg0)});btCollisionObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCollisionShape_1(self,arg0)});btCollisionObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionObject___destroy___0(self)});function btDiscreteDynamicsWorld(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);this.ptr=_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4(arg0,arg1,arg2,arg3);getCache(btDiscreteDynamicsWorld)[this.ptr]=this}btDiscreteDynamicsWorld.prototype=Object.create(btDynamicsWorld.prototype);btDiscreteDynamicsWorld.prototype.constructor=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype.__class__=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.__cache__={};Module["btDiscreteDynamicsWorld"]=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype["setGravity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getGravity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0(self),btVector3)});btDiscreteDynamicsWorld.prototype["addRigidBody"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["removeRigidBody"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1(self,arg0)});btDiscreteDynamicsWorld.prototype["addConstraint"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1(self,arg0);return}_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2(self,arg0,arg1)});btDiscreteDynamicsWorld.prototype["removeConstraint"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1(self,arg0)});btDiscreteDynamicsWorld.prototype["stepSimulation"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1(self,arg0)}if(arg2===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2(self,arg0,arg1)}return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDiscreteDynamicsWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDiscreteDynamicsWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDiscreteDynamicsWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDiscreteDynamicsWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDiscreteDynamicsWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["addAction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_addAction_1(self,arg0)});btDiscreteDynamicsWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDiscreteDynamicsWorld___destroy___0(self)});function btConvexTriangleMeshShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1(arg0);getCache(btConvexTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2(arg0,arg1);getCache(btConvexTriangleMeshShape)[this.ptr]=this}btConvexTriangleMeshShape.prototype=Object.create(btConvexShape.prototype);btConvexTriangleMeshShape.prototype.constructor=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype.__class__=btConvexTriangleMeshShape;btConvexTriangleMeshShape.__cache__={};Module["btConvexTriangleMeshShape"]=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1(self,arg0)});btConvexTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexTriangleMeshShape___destroy___0(self)});function ConvexResultCallback(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}ConvexResultCallback.prototype=Object.create(WrapperObject.prototype);ConvexResultCallback.prototype.constructor=ConvexResultCallback;ConvexResultCallback.prototype.__class__=ConvexResultCallback;ConvexResultCallback.__cache__={};Module["ConvexResultCallback"]=ConvexResultCallback;ConvexResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_hasHit_0(self)});ConvexResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ConvexResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ConvexResultCallback.prototype["get_m_closestHitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0(self)});ConvexResultCallback.prototype["set_m_closestHitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ConvexResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ConvexResultCallback___destroy___0(self)});function btPoint2PointConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg2===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2(arg0,arg1);getCache(btPoint2PointConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(arg0,arg1,arg2);getCache(btPoint2PointConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4(arg0,arg1,arg2,arg3);getCache(btPoint2PointConstraint)[this.ptr]=this}btPoint2PointConstraint.prototype=Object.create(btTypedConstraint.prototype);btPoint2PointConstraint.prototype.constructor=btPoint2PointConstraint;btPoint2PointConstraint.prototype.__class__=btPoint2PointConstraint;btPoint2PointConstraint.__cache__={};Module["btPoint2PointConstraint"]=btPoint2PointConstraint;btPoint2PointConstraint.prototype["setPivotA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_setPivotA_1(self,arg0)});btPoint2PointConstraint.prototype["setPivotB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_setPivotB_1(self,arg0)});btPoint2PointConstraint.prototype["getPivotInA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInA_0(self),btVector3)});btPoint2PointConstraint.prototype["getPivotInB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInB_0(self),btVector3)});btPoint2PointConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_enableFeedback_1(self,arg0)});btPoint2PointConstraint.prototype["get_m_setting"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_get_m_setting_0(self),btConstraintSetting)});btPoint2PointConstraint.prototype["set_m_setting"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_set_m_setting_1(self,arg0)});btPoint2PointConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPoint2PointConstraint___destroy___0(self)});function btMotionState(){throw"cannot construct a btMotionState, no constructor in IDL"}btMotionState.prototype=Object.create(WrapperObject.prototype);btMotionState.prototype.constructor=btMotionState;btMotionState.prototype.__class__=btMotionState;btMotionState.__cache__={};Module["btMotionState"]=btMotionState;btMotionState.prototype["getWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMotionState_getWorldTransform_1(self,arg0)});btMotionState.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMotionState_setWorldTransform_1(self,arg0)});btMotionState.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btMotionState___destroy___0(self)});function btSliderConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg3===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_3(arg0,arg1,arg2);getCache(btSliderConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_4(arg0,arg1,arg2,arg3);getCache(btSliderConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btSliderConstraint)[this.ptr]=this}btSliderConstraint.prototype=Object.create(btTypedConstraint.prototype);btSliderConstraint.prototype.constructor=btSliderConstraint;btSliderConstraint.prototype.__class__=btSliderConstraint;btSliderConstraint.__cache__={};Module["btSliderConstraint"]=btSliderConstraint;btSliderConstraint.prototype["setLowerLinLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setLowerLinLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperLinLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setUpperLinLimit_1(self,arg0)});btSliderConstraint.prototype["setLowerAngLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setLowerAngLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperAngLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setUpperAngLimit_1(self,arg0)});btSliderConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_enableFeedback_1(self,arg0)});btSliderConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSliderConstraint___destroy___0(self)});function btConeTwistConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg2===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2(arg0,arg1);getCache(btConeTwistConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(arg0,arg1,arg2);getCache(btConeTwistConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4(arg0,arg1,arg2,arg3);getCache(btConeTwistConstraint)[this.ptr]=this}btConeTwistConstraint.prototype=Object.create(btTypedConstraint.prototype);btConeTwistConstraint.prototype.constructor=btConeTwistConstraint;btConeTwistConstraint.prototype.__class__=btConeTwistConstraint;btConeTwistConstraint.__cache__={};Module["btConeTwistConstraint"]=btConeTwistConstraint;btConeTwistConstraint.prototype["setLimit"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeTwistConstraint_setLimit_2(self,arg0,arg1)});btConeTwistConstraint.prototype["setAngularOnly"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setAngularOnly_1(self,arg0)});btConeTwistConstraint.prototype["setDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setDamping_1(self,arg0)});btConeTwistConstraint.prototype["enableMotor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_enableMotor_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulseNormalized"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTarget"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMotorTarget_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTargetInConstraintSpace"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1(self,arg0)});btConeTwistConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_enableFeedback_1(self,arg0)});btConeTwistConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeTwistConstraint___destroy___0(self)});function btConeShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShape_btConeShape_2(arg0,arg1);getCache(btConeShape)[this.ptr]=this}btConeShape.prototype=Object.create(btCollisionShape.prototype);btConeShape.prototype.constructor=btConeShape;btConeShape.prototype.__class__=btConeShape;btConeShape.__cache__={};Module["btConeShape"]=btConeShape;btConeShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShape_setLocalScaling_1(self,arg0)});btConeShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShape_calculateLocalInertia_2(self,arg0,arg1)});btConeShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShape___destroy___0(self)});function btConvexShape(){throw"cannot construct a btConvexShape, no constructor in IDL"}btConvexShape.prototype=Object.create(btCollisionShape.prototype);btConvexShape.prototype.constructor=btConvexShape;btConvexShape.prototype.__class__=btConvexShape;btConvexShape.__cache__={};Module["btConvexShape"]=btConvexShape;btConvexShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexShape_setLocalScaling_1(self,arg0)});btConvexShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexShape___destroy___0(self)});function btDefaultCollisionConfiguration(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0();getCache(btDefaultCollisionConfiguration)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1(arg0);getCache(btDefaultCollisionConfiguration)[this.ptr]=this}btDefaultCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConfiguration.prototype.constructor=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype.__class__=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.__cache__={};Module["btDefaultCollisionConfiguration"]=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConfiguration___destroy___0(self)});function ContactResultCallback(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}ContactResultCallback.prototype=Object.create(WrapperObject.prototype);ContactResultCallback.prototype.constructor=ContactResultCallback;ContactResultCallback.prototype.__class__=ContactResultCallback;ContactResultCallback.__cache__={};Module["ContactResultCallback"]=ContactResultCallback;ContactResultCallback.prototype["addSingleResult"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return _emscripten_bind_ContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ContactResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ContactResultCallback___destroy___0(self)});function btConeShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShapeZ_btConeShapeZ_2(arg0,arg1);getCache(btConeShapeZ)[this.ptr]=this}btConeShapeZ.prototype=Object.create(btConeShape.prototype);btConeShapeZ.prototype.constructor=btConeShapeZ;btConeShapeZ.prototype.__class__=btConeShapeZ;btConeShapeZ.__cache__={};Module["btConeShapeZ"]=btConeShapeZ;btConeShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShapeZ_setLocalScaling_1(self,arg0)});btConeShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShapeZ___destroy___0(self)});function btConeShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShapeX_btConeShapeX_2(arg0,arg1);getCache(btConeShapeX)[this.ptr]=this}btConeShapeX.prototype=Object.create(btConeShape.prototype);btConeShapeX.prototype.constructor=btConeShapeX;btConeShapeX.prototype.__class__=btConeShapeX;btConeShapeX.__cache__={};Module["btConeShapeX"]=btConeShapeX;btConeShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShapeX_setLocalScaling_1(self,arg0)});btConeShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShapeX_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShapeX___destroy___0(self)});function btTriangleMesh(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_0();getCache(btTriangleMesh)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_1(arg0);getCache(btTriangleMesh)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_2(arg0,arg1);getCache(btTriangleMesh)[this.ptr]=this}btTriangleMesh.prototype=Object.create(btStridingMeshInterface.prototype);btTriangleMesh.prototype.constructor=btTriangleMesh;btTriangleMesh.prototype.__class__=btTriangleMesh;btTriangleMesh.__cache__={};Module["btTriangleMesh"]=btTriangleMesh;btTriangleMesh.prototype["addTriangle"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){_emscripten_bind_btTriangleMesh_addTriangle_3(self,arg0,arg1,arg2);return}_emscripten_bind_btTriangleMesh_addTriangle_4(self,arg0,arg1,arg2,arg3)});btTriangleMesh.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTriangleMesh___destroy___0(self)});function btConvexHullShape(){this.ptr=_emscripten_bind_btConvexHullShape_btConvexHullShape_0();getCache(btConvexHullShape)[this.ptr]=this}btConvexHullShape.prototype=Object.create(btCollisionShape.prototype);btConvexHullShape.prototype.constructor=btConvexHullShape;btConvexHullShape.prototype.__class__=btConvexHullShape;btConvexHullShape.__cache__={};Module["btConvexHullShape"]=btConvexHullShape;btConvexHullShape.prototype["addPoint"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){_emscripten_bind_btConvexHullShape_addPoint_1(self,arg0);return}_emscripten_bind_btConvexHullShape_addPoint_2(self,arg0,arg1)});btConvexHullShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexHullShape_setLocalScaling_1(self,arg0)});btConvexHullShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexHullShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexHullShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexHullShape___destroy___0(self)});function btPersistentManifold(){this.ptr=_emscripten_bind_btPersistentManifold_btPersistentManifold_0();getCache(btPersistentManifold)[this.ptr]=this}btPersistentManifold.prototype=Object.create(WrapperObject.prototype);btPersistentManifold.prototype.constructor=btPersistentManifold;btPersistentManifold.prototype.__class__=btPersistentManifold;btPersistentManifold.__cache__={};Module["btPersistentManifold"]=btPersistentManifold;btPersistentManifold.prototype["getBody0"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody0_0(self),btCollisionObject)});btPersistentManifold.prototype["getBody1"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody1_0(self),btCollisionObject)});btPersistentManifold.prototype["getNumContacts"]=(function(){var self=this.ptr;return _emscripten_bind_btPersistentManifold_getNumContacts_0(self)});btPersistentManifold.prototype["getContactPoint"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btPersistentManifold_getContactPoint_1(self,arg0),btManifoldPoint)});btPersistentManifold.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPersistentManifold___destroy___0(self)});function btBoxShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btBoxShape_btBoxShape_1(arg0);getCache(btBoxShape)[this.ptr]=this}btBoxShape.prototype=Object.create(btCollisionShape.prototype);btBoxShape.prototype.constructor=btBoxShape;btBoxShape.prototype.__class__=btBoxShape;btBoxShape.__cache__={};Module["btBoxShape"]=btBoxShape;btBoxShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btBoxShape_setLocalScaling_1(self,arg0)});btBoxShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btBoxShape_calculateLocalInertia_2(self,arg0,arg1)});btBoxShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBoxShape___destroy___0(self)});function btCollisionDispatcher(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1(arg0);getCache(btCollisionDispatcher)[this.ptr]=this}btCollisionDispatcher.prototype=Object.create(btDispatcher.prototype);btCollisionDispatcher.prototype.constructor=btCollisionDispatcher;btCollisionDispatcher.prototype.__class__=btCollisionDispatcher;btCollisionDispatcher.__cache__={};Module["btCollisionDispatcher"]=btCollisionDispatcher;btCollisionDispatcher.prototype["getNumManifolds"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionDispatcher_getNumManifolds_0(self)});btCollisionDispatcher.prototype["getManifoldByIndexInternal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btCollisionDispatcher.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionDispatcher___destroy___0(self)});function btVehicleTuning(){this.ptr=_emscripten_bind_btVehicleTuning_btVehicleTuning_0();getCache(btVehicleTuning)[this.ptr]=this}btVehicleTuning.prototype=Object.create(WrapperObject.prototype);btVehicleTuning.prototype.constructor=btVehicleTuning;btVehicleTuning.prototype.__class__=btVehicleTuning;btVehicleTuning.__cache__={};Module["btVehicleTuning"]=btVehicleTuning;btVehicleTuning.prototype["get_m_suspensionStiffness"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0(self)});btVehicleTuning.prototype["set_m_suspensionStiffness"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionCompression"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0(self)});btVehicleTuning.prototype["set_m_suspensionCompression"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0(self)});btVehicleTuning.prototype["set_m_suspensionDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionTravelCm"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionTravelCm"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1(self,arg0)});btVehicleTuning.prototype["get_m_frictionSlip"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0(self)});btVehicleTuning.prototype["set_m_frictionSlip"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionForce"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1(self,arg0)});function btCompoundShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_0();getCache(btCompoundShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_1(arg0);getCache(btCompoundShape)[this.ptr]=this}btCompoundShape.prototype=Object.create(btCollisionShape.prototype);btCompoundShape.prototype.constructor=btCompoundShape;btCompoundShape.prototype.__class__=btCompoundShape;btCompoundShape.__cache__={};Module["btCompoundShape"]=btCompoundShape;btCompoundShape.prototype["addChildShape"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCompoundShape_addChildShape_2(self,arg0,arg1)});btCompoundShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCompoundShape_setLocalScaling_1(self,arg0)});btCompoundShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCompoundShape_calculateLocalInertia_2(self,arg0,arg1)});btCompoundShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCompoundShape___destroy___0(self)});function btCollisionObjectWrapper(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}btCollisionObjectWrapper.prototype=Object.create(WrapperObject.prototype);btCollisionObjectWrapper.prototype.constructor=btCollisionObjectWrapper;btCollisionObjectWrapper.prototype.__class__=btCollisionObjectWrapper;btCollisionObjectWrapper.__cache__={};Module["btCollisionObjectWrapper"]=btCollisionObjectWrapper;function ClosestConvexResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2(arg0,arg1);getCache(ClosestConvexResultCallback)[this.ptr]=this}ClosestConvexResultCallback.prototype=Object.create(ConvexResultCallback.prototype);ClosestConvexResultCallback.prototype.constructor=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype.__class__=ClosestConvexResultCallback;ClosestConvexResultCallback.__cache__={};Module["ClosestConvexResultCallback"]=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_hasHit_0(self)});ClosestConvexResultCallback.prototype["get_m_convexFromWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexFromWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_convexToWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexToWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitNormalWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitNormalWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitPointWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitPointWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_closestHitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0(self)});ClosestConvexResultCallback.prototype["set_m_closestHitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ClosestConvexResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ClosestConvexResultCallback___destroy___0(self)});function btDefaultMotionState(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0();getCache(btDefaultMotionState)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1(arg0);getCache(btDefaultMotionState)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2(arg0,arg1);getCache(btDefaultMotionState)[this.ptr]=this}btDefaultMotionState.prototype=Object.create(btMotionState.prototype);btDefaultMotionState.prototype.constructor=btDefaultMotionState;btDefaultMotionState.prototype.__class__=btDefaultMotionState;btDefaultMotionState.__cache__={};Module["btDefaultMotionState"]=btDefaultMotionState;btDefaultMotionState.prototype["getWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_getWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_setWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["get_m_graphicsWorldTrans"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0(self),btTransform)});btDefaultMotionState.prototype["set_m_graphicsWorldTrans"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1(self,arg0)});btDefaultMotionState.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultMotionState___destroy___0(self)});function btTriangleMeshShape(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}btTriangleMeshShape.prototype=Object.create(btConcaveShape.prototype);btTriangleMeshShape.prototype.constructor=btTriangleMeshShape;btTriangleMeshShape.prototype.__class__=btTriangleMeshShape;btTriangleMeshShape.__cache__={};Module["btTriangleMeshShape"]=btTriangleMeshShape;btTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTriangleMeshShape_setLocalScaling_1(self,arg0)});btTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTriangleMeshShape___destroy___0(self)});function btDispatcher(){throw"cannot construct a btDispatcher, no constructor in IDL"}btDispatcher.prototype=Object.create(WrapperObject.prototype);btDispatcher.prototype.constructor=btDispatcher;btDispatcher.prototype.__class__=btDispatcher;btDispatcher.__cache__={};Module["btDispatcher"]=btDispatcher;btDispatcher.prototype["getNumManifolds"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcher_getNumManifolds_0(self)});btDispatcher.prototype["getManifoldByIndexInternal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btDispatcher.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDispatcher___destroy___0(self)});function ClosestRayResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2(arg0,arg1);getCache(ClosestRayResultCallback)[this.ptr]=this}ClosestRayResultCallback.prototype=Object.create(RayResultCallback.prototype);ClosestRayResultCallback.prototype.constructor=ClosestRayResultCallback;ClosestRayResultCallback.prototype.__class__=ClosestRayResultCallback;ClosestRayResultCallback.__cache__={};Module["ClosestRayResultCallback"]=ClosestRayResultCallback;ClosestRayResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_hasHit_0(self)});ClosestRayResultCallback.prototype["get_m_rayFromWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayFromWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_rayToWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayToWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitNormalWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitNormalWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitPointWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitPointWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});ClosestRayResultCallback.prototype["set_m_collisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1(self,arg0)});ClosestRayResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ClosestRayResultCallback___destroy___0(self)});function btDynamicsWorld(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}btDynamicsWorld.prototype=Object.create(btCollisionWorld.prototype);btDynamicsWorld.prototype.constructor=btDynamicsWorld;btDynamicsWorld.prototype.__class__=btDynamicsWorld;btDynamicsWorld.__cache__={};Module["btDynamicsWorld"]=btDynamicsWorld;btDynamicsWorld.prototype["addAction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDynamicsWorld_addAction_1(self,arg0)});btDynamicsWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDynamicsWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDynamicsWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDynamicsWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDynamicsWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDynamicsWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDynamicsWorld___destroy___0(self)});function btCapsuleShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2(arg0,arg1);getCache(btCapsuleShapeX)[this.ptr]=this}btCapsuleShapeX.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeX.prototype.constructor=btCapsuleShapeX;btCapsuleShapeX.prototype.__class__=btCapsuleShapeX;btCapsuleShapeX.__cache__={};Module["btCapsuleShapeX"]=btCapsuleShapeX;btCapsuleShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShapeX_setLocalScaling_1(self,arg0)});btCapsuleShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeX___destroy___0(self)});function btQuaternion(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);this.ptr=_emscripten_bind_btQuaternion_btQuaternion_4(arg0,arg1,arg2,arg3);getCache(btQuaternion)[this.ptr]=this}btQuaternion.prototype=Object.create(btQuadWord.prototype);btQuaternion.prototype.constructor=btQuaternion;btQuaternion.prototype.__class__=btQuaternion;btQuaternion.__cache__={};Module["btQuaternion"]=btQuaternion;btQuaternion.prototype["setValue"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);_emscripten_bind_btQuaternion_setValue_4(self,arg0,arg1,arg2,arg3)});btQuaternion.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_x_0(self)});btQuaternion.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_y_0(self)});btQuaternion.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_z_0(self)});btQuaternion.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_w_0(self)});btQuaternion.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setX_1(self,arg0)});btQuaternion.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setY_1(self,arg0)});btQuaternion.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setZ_1(self,arg0)});btQuaternion.prototype["setW"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setW_1(self,arg0)});btQuaternion.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btQuaternion___destroy___0(self)});function btCapsuleShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2(arg0,arg1);getCache(btCapsuleShapeZ)[this.ptr]=this}btCapsuleShapeZ.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeZ.prototype.constructor=btCapsuleShapeZ;btCapsuleShapeZ.prototype.__class__=btCapsuleShapeZ;btCapsuleShapeZ.__cache__={};Module["btCapsuleShapeZ"]=btCapsuleShapeZ;btCapsuleShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1(self,arg0)});btCapsuleShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeZ___destroy___0(self)});function btDefaultVehicleRaycaster(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1(arg0);getCache(btDefaultVehicleRaycaster)[this.ptr]=this}btDefaultVehicleRaycaster.prototype=Object.create(btVehicleRaycaster.prototype);btDefaultVehicleRaycaster.prototype.constructor=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype.__class__=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.__cache__={};Module["btDefaultVehicleRaycaster"]=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultVehicleRaycaster___destroy___0(self)});function RayResultCallback(){throw"cannot construct a RayResultCallback, no constructor in IDL"}RayResultCallback.prototype=Object.create(WrapperObject.prototype);RayResultCallback.prototype.constructor=RayResultCallback;RayResultCallback.prototype.__class__=RayResultCallback;RayResultCallback.__cache__={};Module["RayResultCallback"]=RayResultCallback;RayResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_hasHit_0(self)});RayResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0(self)});RayResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});RayResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0(self)});RayResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1(self,arg0)});RayResultCallback.prototype["get_m_collisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});RayResultCallback.prototype["set_m_collisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionObject_1(self,arg0)});RayResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_RayResultCallback___destroy___0(self)});function btWheelInfo(){throw"cannot construct a btWheelInfo, no constructor in IDL"}btWheelInfo.prototype=Object.create(WrapperObject.prototype);btWheelInfo.prototype.constructor=btWheelInfo;btWheelInfo.prototype.__class__=btWheelInfo;btWheelInfo.__cache__={};Module["btWheelInfo"]=btWheelInfo;btWheelInfo.prototype["get_m_suspensionStiffness"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0(self)});btWheelInfo.prototype["set_m_suspensionStiffness"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1(self,arg0)});btWheelInfo.prototype["get_m_frictionSlip"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_frictionSlip_0(self)});btWheelInfo.prototype["set_m_frictionSlip"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_frictionSlip_1(self,arg0)});btWheelInfo.prototype["get_m_rollInfluence"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_rollInfluence_0(self)});btWheelInfo.prototype["set_m_rollInfluence"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_rollInfluence_1(self,arg0)});btWheelInfo.prototype["get_m_suspensionRestLength1"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0(self)});btWheelInfo.prototype["set_m_suspensionRestLength1"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsRadius"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0(self)});btWheelInfo.prototype["set_m_wheelsRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingCompression"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0(self)});btWheelInfo.prototype["set_m_wheelsDampingCompression"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingRelaxation"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0(self)});btWheelInfo.prototype["set_m_wheelsDampingRelaxation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1(self,arg0)});btWheelInfo.prototype["get_m_steering"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_steering_0(self)});btWheelInfo.prototype["set_m_steering"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_steering_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionForce"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0(self)});btWheelInfo.prototype["set_m_maxSuspensionForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionTravelCm"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0(self)});btWheelInfo.prototype["set_m_maxSuspensionTravelCm"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1(self,arg0)});btWheelInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btWheelInfo___destroy___0(self)});function btConcaveShape(){throw"cannot construct a btConcaveShape, no constructor in IDL"}btConcaveShape.prototype=Object.create(btCollisionShape.prototype);btConcaveShape.prototype.constructor=btConcaveShape;btConcaveShape.prototype.__class__=btConcaveShape;btConcaveShape.__cache__={};Module["btConcaveShape"]=btConcaveShape;btConcaveShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConcaveShape_setLocalScaling_1(self,arg0)});btConcaveShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConcaveShape_calculateLocalInertia_2(self,arg0,arg1)});btConcaveShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConcaveShape___destroy___0(self)});function btVector4(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg0===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_0();getCache(btVector4)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_1(arg0);getCache(btVector4)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_2(arg0,arg1);getCache(btVector4)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_3(arg0,arg1,arg2);getCache(btVector4)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector4_btVector4_4(arg0,arg1,arg2,arg3);getCache(btVector4)[this.ptr]=this}btVector4.prototype=Object.create(btVector3.prototype);btVector4.prototype.constructor=btVector4;btVector4.prototype.__class__=btVector4;btVector4.__cache__={};Module["btVector4"]=btVector4;btVector4.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_w_0(self)});btVector4.prototype["setValue"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);_emscripten_bind_btVector4_setValue_4(self,arg0,arg1,arg2,arg3)});btVector4.prototype["length"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_length_0(self)});btVector4.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_x_0(self)});btVector4.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_y_0(self)});btVector4.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_z_0(self)});btVector4.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setX_1(self,arg0)});btVector4.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setY_1(self,arg0)});btVector4.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setZ_1(self,arg0)});btVector4.prototype["op_mul"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btVector4_op_mul_1(self,arg0),btVector3)});btVector4.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVector4___destroy___0(self)});function btKinematicCharacterController(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3(arg0,arg1,arg2);getCache(btKinematicCharacterController)[this.ptr]=this;return}this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4(arg0,arg1,arg2,arg3);getCache(btKinematicCharacterController)[this.ptr]=this}btKinematicCharacterController.prototype=Object.create(btActionInterface.prototype);btKinematicCharacterController.prototype.constructor=btKinematicCharacterController;btKinematicCharacterController.prototype.__class__=btKinematicCharacterController;btKinematicCharacterController.__cache__={};Module["btKinematicCharacterController"]=btKinematicCharacterController;btKinematicCharacterController.prototype["setUpAxis"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setUpAxis_1(self,arg0)});btKinematicCharacterController.prototype["setWalkDirection"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setWalkDirection_1(self,arg0)});btKinematicCharacterController.prototype["setVelocityForTimeInterval"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2(self,arg0,arg1)});btKinematicCharacterController.prototype["warp"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_warp_1(self,arg0)});btKinematicCharacterController.prototype["preStep"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_preStep_1(self,arg0)});btKinematicCharacterController.prototype["playerStep"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btKinematicCharacterController_playerStep_2(self,arg0,arg1)});btKinematicCharacterController.prototype["setFallSpeed"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setFallSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setJumpSpeed"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setMaxJumpHeight"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1(self,arg0)});btKinematicCharacterController.prototype["canJump"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_canJump_0(self)});btKinematicCharacterController.prototype["jump"]=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController_jump_0(self)});btKinematicCharacterController.prototype["setGravity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setGravity_1(self,arg0)});btKinematicCharacterController.prototype["getGravity"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_getGravity_0(self)});btKinematicCharacterController.prototype["setMaxSlope"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setMaxSlope_1(self,arg0)});btKinematicCharacterController.prototype["getMaxSlope"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_getMaxSlope_0(self)});btKinematicCharacterController.prototype["getGhostObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btKinematicCharacterController_getGhostObject_0(self),btPairCachingGhostObject)});btKinematicCharacterController.prototype["setUseGhostSweepTest"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1(self,arg0)});btKinematicCharacterController.prototype["onGround"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_onGround_0(self)});btKinematicCharacterController.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController___destroy___0(self)});function btStaticPlaneShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2(arg0,arg1);getCache(btStaticPlaneShape)[this.ptr]=this}btStaticPlaneShape.prototype=Object.create(btConcaveShape.prototype);btStaticPlaneShape.prototype.constructor=btStaticPlaneShape;btStaticPlaneShape.prototype.__class__=btStaticPlaneShape;btStaticPlaneShape.__cache__={};Module["btStaticPlaneShape"]=btStaticPlaneShape;btStaticPlaneShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btStaticPlaneShape_setLocalScaling_1(self,arg0)});btStaticPlaneShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2(self,arg0,arg1)});btStaticPlaneShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btStaticPlaneShape___destroy___0(self)});function btActionInterface(){throw"cannot construct a btActionInterface, no constructor in IDL"}btActionInterface.prototype=Object.create(WrapperObject.prototype);btActionInterface.prototype.constructor=btActionInterface;btActionInterface.prototype.__class__=btActionInterface;btActionInterface.__cache__={};Module["btActionInterface"]=btActionInterface;btActionInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btActionInterface___destroy___0(self)});function btOverlappingPairCache(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}btOverlappingPairCache.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCache.prototype.constructor=btOverlappingPairCache;btOverlappingPairCache.prototype.__class__=btOverlappingPairCache;btOverlappingPairCache.__cache__={};Module["btOverlappingPairCache"]=btOverlappingPairCache;btOverlappingPairCache.prototype["setInternalGhostPairCallback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1(self,arg0)});btOverlappingPairCache.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCache___destroy___0(self)});function btVector3(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg0===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_0();getCache(btVector3)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_1(arg0);getCache(btVector3)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_2(arg0,arg1);getCache(btVector3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector3_btVector3_3(arg0,arg1,arg2);getCache(btVector3)[this.ptr]=this}btVector3.prototype=Object.create(WrapperObject.prototype);btVector3.prototype.constructor=btVector3;btVector3.prototype.__class__=btVector3;btVector3.__cache__={};Module["btVector3"]=btVector3;btVector3.prototype["length"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_length_0(self)});btVector3.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_x_0(self)});btVector3.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_y_0(self)});btVector3.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_z_0(self)});btVector3.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setX_1(self,arg0)});btVector3.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setY_1(self,arg0)});btVector3.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setZ_1(self,arg0)});btVector3.prototype["setValue"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btVector3_setValue_3(self,arg0,arg1,arg2)});btVector3.prototype["op_mul"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btVector3_op_mul_1(self,arg0),btVector3)});btVector3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVector3___destroy___0(self)});function btVehicleRaycaster(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}btVehicleRaycaster.prototype=Object.create(WrapperObject.prototype);btVehicleRaycaster.prototype.constructor=btVehicleRaycaster;btVehicleRaycaster.prototype.__class__=btVehicleRaycaster;btVehicleRaycaster.__cache__={};Module["btVehicleRaycaster"]=btVehicleRaycaster;btVehicleRaycaster.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVehicleRaycaster___destroy___0(self)});function btSphereShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btSphereShape_btSphereShape_1(arg0);getCache(btSphereShape)[this.ptr]=this}btSphereShape.prototype=Object.create(btCollisionShape.prototype);btSphereShape.prototype.constructor=btSphereShape;btSphereShape.prototype.__class__=btSphereShape;btSphereShape.__cache__={};Module["btSphereShape"]=btSphereShape;btSphereShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSphereShape_setLocalScaling_1(self,arg0)});btSphereShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btSphereShape_calculateLocalInertia_2(self,arg0,arg1)});btSphereShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSphereShape___destroy___0(self)});function btDefaultCollisionConstructionInfo(){this.ptr=_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0();getCache(btDefaultCollisionConstructionInfo)[this.ptr]=this}btDefaultCollisionConstructionInfo.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConstructionInfo.prototype.constructor=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype.__class__=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.__cache__={};Module["btDefaultCollisionConstructionInfo"]=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0(self)});function btHingeConstraint(arg0,arg1,arg2,arg3,arg4,arg5,arg6){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);if(arg2===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_2(arg0,arg1);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_3(arg0,arg1,arg2);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_4(arg0,arg1,arg2,arg3);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg5===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg6===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_6(arg0,arg1,arg2,arg3,arg4,arg5);getCache(btHingeConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_7(arg0,arg1,arg2,arg3,arg4,arg5,arg6);getCache(btHingeConstraint)[this.ptr]=this}btHingeConstraint.prototype=Object.create(btTypedConstraint.prototype);btHingeConstraint.prototype.constructor=btHingeConstraint;btHingeConstraint.prototype.__class__=btHingeConstraint;btHingeConstraint.__cache__={};Module["btHingeConstraint"]=btHingeConstraint;btHingeConstraint.prototype["setLimit"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg4===undefined){_emscripten_bind_btHingeConstraint_setLimit_4(self,arg0,arg1,arg2,arg3);return}_emscripten_bind_btHingeConstraint_setLimit_5(self,arg0,arg1,arg2,arg3,arg4)});btHingeConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btHingeConstraint_enableFeedback_1(self,arg0)});btHingeConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btHingeConstraint___destroy___0(self)});function btCollisionShape(){throw"cannot construct a btCollisionShape, no constructor in IDL"}btCollisionShape.prototype=Object.create(WrapperObject.prototype);btCollisionShape.prototype.constructor=btCollisionShape;btCollisionShape.prototype.__class__=btCollisionShape;btCollisionShape.__cache__={};Module["btCollisionShape"]=btCollisionShape;btCollisionShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionShape_setLocalScaling_1(self,arg0)});btCollisionShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCollisionShape_calculateLocalInertia_2(self,arg0,arg1)});btCollisionShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionShape___destroy___0(self)});function btConstraintSetting(){this.ptr=_emscripten_bind_btConstraintSetting_btConstraintSetting_0();getCache(btConstraintSetting)[this.ptr]=this}btConstraintSetting.prototype=Object.create(WrapperObject.prototype);btConstraintSetting.prototype.constructor=btConstraintSetting;btConstraintSetting.prototype.__class__=btConstraintSetting;btConstraintSetting.__cache__={};Module["btConstraintSetting"]=btConstraintSetting;btConstraintSetting.prototype["get_m_tau"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_tau_0(self)});btConstraintSetting.prototype["set_m_tau"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_tau_1(self,arg0)});btConstraintSetting.prototype["get_m_damping"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_damping_0(self)});btConstraintSetting.prototype["set_m_damping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_damping_1(self,arg0)});btConstraintSetting.prototype["get_m_impulseClamp"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0(self)});btConstraintSetting.prototype["set_m_impulseClamp"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1(self,arg0)});btConstraintSetting.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConstraintSetting___destroy___0(self)});function btGhostObject(){this.ptr=_emscripten_bind_btGhostObject_btGhostObject_0();getCache(btGhostObject)[this.ptr]=this}btGhostObject.prototype=Object.create(btCollisionObject.prototype);btGhostObject.prototype.constructor=btGhostObject;btGhostObject.prototype.__class__=btGhostObject;btGhostObject.__cache__={};Module["btGhostObject"]=btGhostObject;btGhostObject.prototype["getNumOverlappingObjects"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getNumOverlappingObjects_0(self)});btGhostObject.prototype["getOverlappingObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btGhostObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getCollisionShape_0(self),btCollisionShape)});btGhostObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setContactProcessingThreshold_1(self,arg0)});btGhostObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setActivationState_1(self,arg0)});btGhostObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_forceActivationState_1(self,arg0)});btGhostObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btGhostObject_activate_0(self);return}_emscripten_bind_btGhostObject_activate_1(self,arg0)});btGhostObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_isActive_0(self)});btGhostObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_isKinematicObject_0(self)});btGhostObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setRestitution_1(self,arg0)});btGhostObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setFriction_1(self,arg0)});btGhostObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getWorldTransform_0(self),btTransform)});btGhostObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getCollisionFlags_0(self)});btGhostObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCollisionFlags_1(self,arg0)});btGhostObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setWorldTransform_1(self,arg0)});btGhostObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCollisionShape_1(self,arg0)});btGhostObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGhostObject___destroy___0(self)});function LocalShapeInfo(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}LocalShapeInfo.prototype=Object.create(WrapperObject.prototype);LocalShapeInfo.prototype.constructor=LocalShapeInfo;LocalShapeInfo.prototype.__class__=LocalShapeInfo;LocalShapeInfo.__cache__={};Module["LocalShapeInfo"]=LocalShapeInfo;LocalShapeInfo.prototype["get_m_shapePart"]=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_shapePart_0(self)});LocalShapeInfo.prototype["set_m_shapePart"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalShapeInfo_set_m_shapePart_1(self,arg0)});LocalShapeInfo.prototype["get_m_triangleIndex"]=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0(self)});LocalShapeInfo.prototype["set_m_triangleIndex"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1(self,arg0)});LocalShapeInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_LocalShapeInfo___destroy___0(self)});function btConstraintSolver(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}btConstraintSolver.prototype=Object.create(WrapperObject.prototype);btConstraintSolver.prototype.constructor=btConstraintSolver;btConstraintSolver.prototype.__class__=btConstraintSolver;btConstraintSolver.__cache__={};Module["btConstraintSolver"]=btConstraintSolver;btConstraintSolver.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConstraintSolver___destroy___0(self)});function btRaycastVehicle(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);this.ptr=_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3(arg0,arg1,arg2);getCache(btRaycastVehicle)[this.ptr]=this}btRaycastVehicle.prototype=Object.create(btActionInterface.prototype);btRaycastVehicle.prototype.constructor=btRaycastVehicle;btRaycastVehicle.prototype.__class__=btRaycastVehicle;btRaycastVehicle.__cache__={};Module["btRaycastVehicle"]=btRaycastVehicle;btRaycastVehicle.prototype["applyEngineForce"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_applyEngineForce_2(self,arg0,arg1)});btRaycastVehicle.prototype["setSteeringValue"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_setSteeringValue_2(self,arg0,arg1)});btRaycastVehicle.prototype["getWheelTransformWS"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1(self,arg0),btTransform)});btRaycastVehicle.prototype["updateWheelTransform"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_updateWheelTransform_2(self,arg0,arg1)});btRaycastVehicle.prototype["addWheel"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return wrapPointer(_emscripten_bind_btRaycastVehicle_addWheel_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6),btWheelInfo)});btRaycastVehicle.prototype["getNumWheels"]=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getNumWheels_0(self)});btRaycastVehicle.prototype["getRigidBody"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getRigidBody_0(self),btRigidBody)});btRaycastVehicle.prototype["getWheelInfo"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelInfo_1(self,arg0),btWheelInfo)});btRaycastVehicle.prototype["setBrake"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_setBrake_2(self,arg0,arg1)});btRaycastVehicle.prototype["setCoordinateSystem"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3(self,arg0,arg1,arg2)});btRaycastVehicle.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRaycastVehicle___destroy___0(self)});function LocalConvexResult(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);this.ptr=_emscripten_bind_LocalConvexResult_LocalConvexResult_5(arg0,arg1,arg2,arg3,arg4);getCache(LocalConvexResult)[this.ptr]=this}LocalConvexResult.prototype=Object.create(WrapperObject.prototype);LocalConvexResult.prototype.constructor=LocalConvexResult;LocalConvexResult.prototype.__class__=LocalConvexResult;LocalConvexResult.__cache__={};Module["LocalConvexResult"]=LocalConvexResult;LocalConvexResult.prototype["get_m_hitCollisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0(self),btCollisionObject)});LocalConvexResult.prototype["set_m_hitCollisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1(self,arg0)});LocalConvexResult.prototype["get_m_localShapeInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0(self),LocalShapeInfo)});LocalConvexResult.prototype["set_m_localShapeInfo"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1(self,arg0)});LocalConvexResult.prototype["get_m_hitNormalLocal"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitNormalLocal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitPointLocal"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitPointLocal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_LocalConvexResult_get_m_hitFraction_0(self)});LocalConvexResult.prototype["set_m_hitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitFraction_1(self,arg0)});LocalConvexResult.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_LocalConvexResult___destroy___0(self)});function btOverlappingPairCallback(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}btOverlappingPairCallback.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCallback.prototype.constructor=btOverlappingPairCallback;btOverlappingPairCallback.prototype.__class__=btOverlappingPairCallback;btOverlappingPairCallback.__cache__={};Module["btOverlappingPairCallback"]=btOverlappingPairCallback;btOverlappingPairCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCallback___destroy___0(self)});function btRigidBody(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btRigidBody_btRigidBody_1(arg0);getCache(btRigidBody)[this.ptr]=this}btRigidBody.prototype=Object.create(btCollisionObject.prototype);btRigidBody.prototype.constructor=btRigidBody;btRigidBody.prototype.__class__=btRigidBody;btRigidBody.__cache__={};Module["btRigidBody"]=btRigidBody;btRigidBody.prototype["getCenterOfMassTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCenterOfMassTransform_0(self),btTransform)});btRigidBody.prototype["setCenterOfMassTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCenterOfMassTransform_1(self,arg0)});btRigidBody.prototype["setSleepingThresholds"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setSleepingThresholds_2(self,arg0,arg1)});btRigidBody.prototype["setDamping"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setDamping_2(self,arg0,arg1)});btRigidBody.prototype["setMassProps"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setMassProps_2(self,arg0,arg1)});btRigidBody.prototype["setLinearFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setLinearFactor_1(self,arg0)});btRigidBody.prototype["applyTorque"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyTorque_1(self,arg0)});btRigidBody.prototype["applyForce"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_applyForce_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyCentralForce_1(self,arg0)});btRigidBody.prototype["applyTorqueImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyTorqueImpulse_1(self,arg0)});btRigidBody.prototype["applyImpulse"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_applyImpulse_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyCentralImpulse_1(self,arg0)});btRigidBody.prototype["updateInertiaTensor"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBody_updateInertiaTensor_0(self)});btRigidBody.prototype["getLinearVelocity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getLinearVelocity_0(self),btVector3)});btRigidBody.prototype["getAngularVelocity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getAngularVelocity_0(self),btVector3)});btRigidBody.prototype["setLinearVelocity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setLinearVelocity_1(self,arg0)});btRigidBody.prototype["setAngularVelocity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setAngularVelocity_1(self,arg0)});btRigidBody.prototype["getMotionState"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getMotionState_0(self),btMotionState)});btRigidBody.prototype["setAngularFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setAngularFactor_1(self,arg0)});btRigidBody.prototype["upcast"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRigidBody_upcast_1(self,arg0),btRigidBody)});btRigidBody.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCollisionShape_0(self),btCollisionShape)});btRigidBody.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setContactProcessingThreshold_1(self,arg0)});btRigidBody.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setActivationState_1(self,arg0)});btRigidBody.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_forceActivationState_1(self,arg0)});btRigidBody.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btRigidBody_activate_0(self);return}_emscripten_bind_btRigidBody_activate_1(self,arg0)});btRigidBody.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_isActive_0(self)});btRigidBody.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_isKinematicObject_0(self)});btRigidBody.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setRestitution_1(self,arg0)});btRigidBody.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setFriction_1(self,arg0)});btRigidBody.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getWorldTransform_0(self),btTransform)});btRigidBody.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_getCollisionFlags_0(self)});btRigidBody.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCollisionFlags_1(self,arg0)});btRigidBody.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setWorldTransform_1(self,arg0)});btRigidBody.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCollisionShape_1(self,arg0)});btRigidBody.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBody___destroy___0(self)});function btCylinderShapeX(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1(arg0);getCache(btCylinderShapeX)[this.ptr]=this}btCylinderShapeX.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeX.prototype.constructor=btCylinderShapeX;btCylinderShapeX.prototype.__class__=btCylinderShapeX;btCylinderShapeX.__cache__={};Module["btCylinderShapeX"]=btCylinderShapeX;btCylinderShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShapeX_setLocalScaling_1(self,arg0)});btCylinderShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeX___destroy___0(self)});function btCylinderShapeZ(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1(arg0);getCache(btCylinderShapeZ)[this.ptr]=this}btCylinderShapeZ.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeZ.prototype.constructor=btCylinderShapeZ;btCylinderShapeZ.prototype.__class__=btCylinderShapeZ;btCylinderShapeZ.__cache__={};Module["btCylinderShapeZ"]=btCylinderShapeZ;btCylinderShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShapeZ_setLocalScaling_1(self,arg0)});btCylinderShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeZ___destroy___0(self)});function btTransform(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_0();getCache(btTransform)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_1(arg0);getCache(btTransform)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTransform_btTransform_2(arg0,arg1);getCache(btTransform)[this.ptr]=this}btTransform.prototype=Object.create(WrapperObject.prototype);btTransform.prototype.constructor=btTransform;btTransform.prototype.__class__=btTransform;btTransform.__cache__={};Module["btTransform"]=btTransform;btTransform.prototype["setIdentity"]=(function(){var self=this.ptr;_emscripten_bind_btTransform_setIdentity_0(self)});btTransform.prototype["setOrigin"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTransform_setOrigin_1(self,arg0)});btTransform.prototype["setRotation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTransform_setRotation_1(self,arg0)});btTransform.prototype["getOrigin"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getOrigin_0(self),btVector3)});btTransform.prototype["getRotation"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getRotation_0(self),btQuaternion)});btTransform.prototype["getBasis"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getBasis_0(self),btMatrix3x3)});btTransform.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTransform___destroy___0(self)});function btCollisionWorld(){throw"cannot construct a btCollisionWorld, no constructor in IDL"}btCollisionWorld.prototype=Object.create(WrapperObject.prototype);btCollisionWorld.prototype.constructor=btCollisionWorld;btCollisionWorld.prototype.__class__=btCollisionWorld;btCollisionWorld.__cache__={};Module["btCollisionWorld"]=btCollisionWorld;btCollisionWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatcher_0(self),btDispatcher)});btCollisionWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btCollisionWorld_rayTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getPairCache_0(self),btOverlappingPairCache)});btCollisionWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatchInfo_0(self),btDispatcherInfo)});btCollisionWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btCollisionWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getBroadphase_0(self),btBroadphaseInterface)});btCollisionWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btCollisionWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btCollisionWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btCollisionWorld_contactPairTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionWorld___destroy___0(self)});function btQuadWord(){throw"cannot construct a btQuadWord, no constructor in IDL"}btQuadWord.prototype=Object.create(WrapperObject.prototype);btQuadWord.prototype.constructor=btQuadWord;btQuadWord.prototype.__class__=btQuadWord;btQuadWord.__cache__={};Module["btQuadWord"]=btQuadWord;btQuadWord.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_x_0(self)});btQuadWord.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_y_0(self)});btQuadWord.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_z_0(self)});btQuadWord.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_w_0(self)});btQuadWord.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setX_1(self,arg0)});btQuadWord.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setY_1(self,arg0)});btQuadWord.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setZ_1(self,arg0)});btQuadWord.prototype["setW"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setW_1(self,arg0)});btQuadWord.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btQuadWord___destroy___0(self)});function btCylinderShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShape_btCylinderShape_1(arg0);getCache(btCylinderShape)[this.ptr]=this}btCylinderShape.prototype=Object.create(btCollisionShape.prototype);btCylinderShape.prototype.constructor=btCylinderShape;btCylinderShape.prototype.__class__=btCylinderShape;btCylinderShape.__cache__={};Module["btCylinderShape"]=btCylinderShape;btCylinderShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShape_setLocalScaling_1(self,arg0)});btCylinderShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShape_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShape___destroy___0(self)});function btGhostPairCallback(){this.ptr=_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0();getCache(btGhostPairCallback)[this.ptr]=this}btGhostPairCallback.prototype=Object.create(WrapperObject.prototype);btGhostPairCallback.prototype.constructor=btGhostPairCallback;btGhostPairCallback.prototype.__class__=btGhostPairCallback;btGhostPairCallback.__cache__={};Module["btGhostPairCallback"]=btGhostPairCallback;btGhostPairCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGhostPairCallback___destroy___0(self)});function btTypedConstraint(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}btTypedConstraint.prototype=Object.create(WrapperObject.prototype);btTypedConstraint.prototype.constructor=btTypedConstraint;btTypedConstraint.prototype.__class__=btTypedConstraint;btTypedConstraint.__cache__={};Module["btTypedConstraint"]=btTypedConstraint;btTypedConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTypedConstraint_enableFeedback_1(self,arg0)});btTypedConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTypedConstraint___destroy___0(self)});this["Ammo"]=Module +(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_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_btAxisSweep3___destroy___0=Module["_emscripten_bind_btAxisSweep3___destroy___0"]=asm["_emscripten_bind_btAxisSweep3___destroy___0"];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_btRigidBody_applyCentralForce_1=Module["_emscripten_bind_btRigidBody_applyCentralForce_1"]=asm["_emscripten_bind_btRigidBody_applyCentralForce_1"];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_btHingeConstraint_btHingeConstraint_4=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_4"];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_btVehicleTuning_get_m_suspensionStiffness_0=Module["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"]=asm["_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0"];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_btQuaternion_setW_1=Module["_emscripten_bind_btQuaternion_setW_1"]=asm["_emscripten_bind_btQuaternion_setW_1"];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_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_btVector3_op_mul_1=Module["_emscripten_bind_btVector3_op_mul_1"]=asm["_emscripten_bind_btVector3_op_mul_1"];var _emscripten_bind_btDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDynamicsWorld_rayTest_3"];var _emscripten_bind_btRaycastVehicle_updateWheelTransform_2=Module["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"]=asm["_emscripten_bind_btRaycastVehicle_updateWheelTransform_2"];var _emscripten_bind_btQuadWord_x_0=Module["_emscripten_bind_btQuadWord_x_0"]=asm["_emscripten_bind_btQuadWord_x_0"];var _emscripten_bind_btCollisionObject_isKinematicObject_0=Module["_emscripten_bind_btCollisionObject_isKinematicObject_0"]=asm["_emscripten_bind_btCollisionObject_isKinematicObject_0"];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_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_btRigidBody_getCenterOfMassTransform_0=Module["_emscripten_bind_btRigidBody_getCenterOfMassTransform_0"]=asm["_emscripten_bind_btRigidBody_getCenterOfMassTransform_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_ClosestConvexResultCallback_get_m_convexToWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0"];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_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_btHingeConstraint_enableFeedback_1=Module["_emscripten_bind_btHingeConstraint_enableFeedback_1"]=asm["_emscripten_bind_btHingeConstraint_enableFeedback_1"];var _emscripten_bind_btDiscreteDynamicsWorld_addAction_1=Module["_emscripten_bind_btDiscreteDynamicsWorld_addAction_1"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addAction_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_btWheelInfo_get_m_maxSuspensionTravelCm_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0"];var _emscripten_bind_btQuaternion_setValue_4=Module["_emscripten_bind_btQuaternion_setValue_4"]=asm["_emscripten_bind_btQuaternion_setValue_4"];var _emscripten_bind_btDynamicsWorld_getBroadphase_0=Module["_emscripten_bind_btDynamicsWorld_getBroadphase_0"]=asm["_emscripten_bind_btDynamicsWorld_getBroadphase_0"];var _emscripten_bind_LocalShapeInfo___destroy___0=Module["_emscripten_bind_LocalShapeInfo___destroy___0"]=asm["_emscripten_bind_LocalShapeInfo___destroy___0"];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_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_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_btCollisionWorld___destroy___0=Module["_emscripten_bind_btCollisionWorld___destroy___0"]=asm["_emscripten_bind_btCollisionWorld___destroy___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_btRigidBody_isKinematicObject_0=Module["_emscripten_bind_btRigidBody_isKinematicObject_0"]=asm["_emscripten_bind_btRigidBody_isKinematicObject_0"];var _emscripten_bind_btKinematicCharacterController_setGravity_1=Module["_emscripten_bind_btKinematicCharacterController_setGravity_1"]=asm["_emscripten_bind_btKinematicCharacterController_setGravity_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_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_btQuaternion_setY_1=Module["_emscripten_bind_btQuaternion_setY_1"]=asm["_emscripten_bind_btQuaternion_setY_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_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_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_btPairCachingGhostObject___destroy___0=Module["_emscripten_bind_btPairCachingGhostObject___destroy___0"]=asm["_emscripten_bind_btPairCachingGhostObject___destroy___0"];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_btQuaternion_btQuaternion_4=Module["_emscripten_bind_btQuaternion_btQuaternion_4"]=asm["_emscripten_bind_btQuaternion_btQuaternion_4"];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_btDynamicsWorld_getDispatcher_0=Module["_emscripten_bind_btDynamicsWorld_getDispatcher_0"]=asm["_emscripten_bind_btDynamicsWorld_getDispatcher_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_btWheelInfo_set_m_frictionSlip_1=Module["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"]=asm["_emscripten_bind_btWheelInfo_set_m_frictionSlip_1"];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_btWheelInfo_get_m_maxSuspensionForce_0=Module["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"]=asm["_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0"];var _emscripten_bind_btRigidBody_setLinearFactor_1=Module["_emscripten_bind_btRigidBody_setLinearFactor_1"]=asm["_emscripten_bind_btRigidBody_setLinearFactor_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_btRigidBody_getAngularVelocity_0=Module["_emscripten_bind_btRigidBody_getAngularVelocity_0"]=asm["_emscripten_bind_btRigidBody_getAngularVelocity_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_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 _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_btWheelInfo_set_m_wheelsRadius_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsRadius_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_btRaycastVehicle_setCoordinateSystem_3=Module["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"]=asm["_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3"];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_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btCollisionShape_calculateLocalInertia_2=Module["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCollisionShape_calculateLocalInertia_2"];var _emscripten_bind_ConvexResultCallback_hasHit_0=Module["_emscripten_bind_ConvexResultCallback_hasHit_0"]=asm["_emscripten_bind_ConvexResultCallback_hasHit_0"];var _emscripten_bind_btCollisionWorld_convexSweepTest_5=Module["_emscripten_bind_btCollisionWorld_convexSweepTest_5"]=asm["_emscripten_bind_btCollisionWorld_convexSweepTest_5"];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_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_btSphereShape_calculateLocalInertia_2=Module["_emscripten_bind_btSphereShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btSphereShape_calculateLocalInertia_2"];var _emscripten_bind_btConeShape_setLocalScaling_1=Module["_emscripten_bind_btConeShape_setLocalScaling_1"]=asm["_emscripten_bind_btConeShape_setLocalScaling_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_ConcreteContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7"];var _emscripten_bind_LocalConvexResult_LocalConvexResult_5=Module["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"]=asm["_emscripten_bind_LocalConvexResult_LocalConvexResult_5"];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_ClosestRayResultCallback_set_m_collisionObject_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1"];var _emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_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_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_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_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_btCollisionObject_getWorldTransform_0=Module["_emscripten_bind_btCollisionObject_getWorldTransform_0"]=asm["_emscripten_bind_btCollisionObject_getWorldTransform_0"];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 ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_btDispatcherInfo_set_m_useEpa_1=Module["_emscripten_bind_btDispatcherInfo_set_m_useEpa_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_useEpa_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_btQuadWord_w_0=Module["_emscripten_bind_btQuadWord_w_0"]=asm["_emscripten_bind_btQuadWord_w_0"];var _emscripten_bind_btGhostObject_setCcdMotionThreshold_1=Module["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"]=asm["_emscripten_bind_btGhostObject_setCcdMotionThreshold_1"];var _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0"];var _emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btGhostObject_btGhostObject_0=Module["_emscripten_bind_btGhostObject_btGhostObject_0"]=asm["_emscripten_bind_btGhostObject_btGhostObject_0"];var _strlen=Module["_strlen"]=asm["_strlen"];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_btCollisionObject_setCollisionShape_1=Module["_emscripten_bind_btCollisionObject_setCollisionShape_1"]=asm["_emscripten_bind_btCollisionObject_setCollisionShape_1"];var _emscripten_bind_btWheelInfo___destroy___0=Module["_emscripten_bind_btWheelInfo___destroy___0"]=asm["_emscripten_bind_btWheelInfo___destroy___0"];var _emscripten_bind_btTransform_setRotation_1=Module["_emscripten_bind_btTransform_setRotation_1"]=asm["_emscripten_bind_btTransform_setRotation_1"];var _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0"];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_btBoxShape_calculateLocalInertia_2=Module["_emscripten_bind_btBoxShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btBoxShape_calculateLocalInertia_2"];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_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0"];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_btOverlappingPairCache___destroy___0=Module["_emscripten_bind_btOverlappingPairCache___destroy___0"]=asm["_emscripten_bind_btOverlappingPairCache___destroy___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_ClosestConvexResultCallback_ClosestConvexResultCallback_2=Module["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"]=asm["_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2"];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_btQuaternion_z_0=Module["_emscripten_bind_btQuaternion_z_0"]=asm["_emscripten_bind_btQuaternion_z_0"];var _emscripten_bind_btConeTwistConstraint_enableFeedback_1=Module["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"]=asm["_emscripten_bind_btConeTwistConstraint_enableFeedback_1"];var _emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=Module["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2"];var _emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1"];var _emscripten_bind_btRigidBody_applyTorque_1=Module["_emscripten_bind_btRigidBody_applyTorque_1"]=asm["_emscripten_bind_btRigidBody_applyTorque_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_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_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_btDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btCylinderShapeZ_setLocalScaling_1=Module["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"]=asm["_emscripten_bind_btCylinderShapeZ_setLocalScaling_1"];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_btGhostObject___destroy___0=Module["_emscripten_bind_btGhostObject___destroy___0"]=asm["_emscripten_bind_btGhostObject___destroy___0"];var _emscripten_bind_btGhostObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btGhostObject_setContactProcessingThreshold_1"];var _emscripten_bind_btCollisionWorld_getBroadphase_0=Module["_emscripten_bind_btCollisionWorld_getBroadphase_0"]=asm["_emscripten_bind_btCollisionWorld_getBroadphase_0"];var _emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1"];var _emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=Module["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"]=asm["_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2"];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_btKinematicCharacterController_canJump_0=Module["_emscripten_bind_btKinematicCharacterController_canJump_0"]=asm["_emscripten_bind_btKinematicCharacterController_canJump_0"];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_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_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_wheelsDampingCompression_1=Module["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"]=asm["_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1"];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_btBroadphaseInterface___destroy___0=Module["_emscripten_bind_btBroadphaseInterface___destroy___0"]=asm["_emscripten_bind_btBroadphaseInterface___destroy___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_btCollisionObject_setContactProcessingThreshold_1=Module["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"]=asm["_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1"];var _emscripten_bind_btPersistentManifold_getNumContacts_0=Module["_emscripten_bind_btPersistentManifold_getNumContacts_0"]=asm["_emscripten_bind_btPersistentManifold_getNumContacts_0"];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_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1"];var _emscripten_bind_btCollisionWorld_addCollisionObject_3=Module["_emscripten_bind_btCollisionWorld_addCollisionObject_3"]=asm["_emscripten_bind_btCollisionWorld_addCollisionObject_3"];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_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=Module["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0"];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_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_btCollisionObject_setRollingFriction_1=Module["_emscripten_bind_btCollisionObject_setRollingFriction_1"]=asm["_emscripten_bind_btCollisionObject_setRollingFriction_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_btTriangleMesh_btTriangleMesh_1=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_1"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=Module["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"]=asm["_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1"];var _emscripten_bind_btRigidBody_setDamping_2=Module["_emscripten_bind_btRigidBody_setDamping_2"]=asm["_emscripten_bind_btRigidBody_setDamping_2"];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_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_btConeTwistConstraint_setMaxMotorImpulse_1=Module["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"]=asm["_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1"];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_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_btCylinderShape_calculateLocalInertia_2=Module["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCylinderShape_calculateLocalInertia_2"];var _emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1"];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_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_btConvexShape_setLocalScaling_1=Module["_emscripten_bind_btConvexShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexShape_setLocalScaling_1"];var _emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=Module["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2"];var _emscripten_bind_btQuaternion_setX_1=Module["_emscripten_bind_btQuaternion_setX_1"]=asm["_emscripten_bind_btQuaternion_setX_1"];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_btCompoundShape___destroy___0=Module["_emscripten_bind_btCompoundShape___destroy___0"]=asm["_emscripten_bind_btCompoundShape___destroy___0"];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_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_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_btPairCachingGhostObject_setActivationState_1=Module["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setActivationState_1"];var _emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0"];var _emscripten_bind_btConvexTriangleMeshShape___destroy___0=Module["_emscripten_bind_btConvexTriangleMeshShape___destroy___0"]=asm["_emscripten_bind_btConvexTriangleMeshShape___destroy___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_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_btDispatcherInfo_get_m_allowedCcdPenetration_0=Module["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0"]=asm["_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_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 _emscripten_bind_btRigidBody_btRigidBody_1=Module["_emscripten_bind_btRigidBody_btRigidBody_1"]=asm["_emscripten_bind_btRigidBody_btRigidBody_1"];var _emscripten_bind_btRigidBody_updateInertiaTensor_0=Module["_emscripten_bind_btRigidBody_updateInertiaTensor_0"]=asm["_emscripten_bind_btRigidBody_updateInertiaTensor_0"];var _emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=Module["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"]=asm["_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2"];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_btTransform_setOrigin_1=Module["_emscripten_bind_btTransform_setOrigin_1"]=asm["_emscripten_bind_btTransform_setOrigin_1"];var _emscripten_bind_ClosestRayResultCallback_hasHit_0=Module["_emscripten_bind_ClosestRayResultCallback_hasHit_0"]=asm["_emscripten_bind_ClosestRayResultCallback_hasHit_0"];var _emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=Module["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"]=asm["_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1"];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_btCollisionObject_setRestitution_1=Module["_emscripten_bind_btCollisionObject_setRestitution_1"]=asm["_emscripten_bind_btCollisionObject_setRestitution_1"];var _emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=Module["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3"];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_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_LocalConvexResult_get_m_hitNormalLocal_0=Module["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"]=asm["_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_5=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_5"];var _emscripten_bind_btHingeConstraint_btHingeConstraint_2=Module["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"]=asm["_emscripten_bind_btHingeConstraint_btHingeConstraint_2"];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_ClosestConvexResultCallback_get_m_hitNormalWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0"];var _emscripten_bind_btTypedConstraint___destroy___0=Module["_emscripten_bind_btTypedConstraint___destroy___0"]=asm["_emscripten_bind_btTypedConstraint___destroy___0"];var _emscripten_bind_ConvexResultCallback___destroy___0=Module["_emscripten_bind_ConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ConvexResultCallback___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_btVector3_z_0=Module["_emscripten_bind_btVector3_z_0"]=asm["_emscripten_bind_btVector3_z_0"];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_btRigidBody_setRestitution_1=Module["_emscripten_bind_btRigidBody_setRestitution_1"]=asm["_emscripten_bind_btRigidBody_setRestitution_1"];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_btDiscreteDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3"];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_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_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_btDefaultMotionState_setWorldTransform_1=Module["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"]=asm["_emscripten_bind_btDefaultMotionState_setWorldTransform_1"];var _emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2"];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_btGeneric6DofSpringConstraint_setStiffness_2=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2"];var _emscripten_bind_btVector4_setY_1=Module["_emscripten_bind_btVector4_setY_1"]=asm["_emscripten_bind_btVector4_setY_1"];var _emscripten_bind_btGhostObject_setRestitution_1=Module["_emscripten_bind_btGhostObject_setRestitution_1"]=asm["_emscripten_bind_btGhostObject_setRestitution_1"];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 _emscripten_bind_btDynamicsWorld_addCollisionObject_3=Module["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"]=asm["_emscripten_bind_btDynamicsWorld_addCollisionObject_3"];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_btKinematicCharacterController_setUseGhostSweepTest_1=Module["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"]=asm["_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1"];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_btVector3___destroy___0=Module["_emscripten_bind_btVector3___destroy___0"]=asm["_emscripten_bind_btVector3___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_btWheelInfo_set_m_steering_1=Module["_emscripten_bind_btWheelInfo_set_m_steering_1"]=asm["_emscripten_bind_btWheelInfo_set_m_steering_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_btDispatcherInfo_set_m_dispatchFunc_1=Module["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1"];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_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_btWheelInfo_get_m_wheelsDampingCompression_0=Module["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0"]=asm["_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_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_btDefaultMotionState_set_m_graphicsWorldTrans_1=Module["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"]=asm["_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1"];var _emscripten_bind_ClosestConvexResultCallback___destroy___0=Module["_emscripten_bind_ClosestConvexResultCallback___destroy___0"]=asm["_emscripten_bind_ClosestConvexResultCallback___destroy___0"];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_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_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_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_btGhostObject_getNumOverlappingObjects_0=Module["_emscripten_bind_btGhostObject_getNumOverlappingObjects_0"]=asm["_emscripten_bind_btGhostObject_getNumOverlappingObjects_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_btGhostObject_activate_0=Module["_emscripten_bind_btGhostObject_activate_0"]=asm["_emscripten_bind_btGhostObject_activate_0"];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_btGeneric6DofSpringConstraint_enableFeedback_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1"];var _emscripten_bind_btConeShapeZ_btConeShapeZ_2=Module["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"]=asm["_emscripten_bind_btConeShapeZ_btConeShapeZ_2"];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_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1"];var _emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=Module["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"]=asm["_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0"];var _emscripten_bind_btGhostObject_forceActivationState_1=Module["_emscripten_bind_btGhostObject_forceActivationState_1"]=asm["_emscripten_bind_btGhostObject_forceActivationState_1"];var _emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=Module["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"]=asm["_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _emscripten_bind_btSliderConstraint_setLowerAngLimit_1=Module["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"]=asm["_emscripten_bind_btSliderConstraint_setLowerAngLimit_1"];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_ClosestRayResultCallback_get_m_rayFromWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_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_steering_0=Module["_emscripten_bind_btWheelInfo_get_m_steering_0"]=asm["_emscripten_bind_btWheelInfo_get_m_steering_0"];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_btSliderConstraint___destroy___0=Module["_emscripten_bind_btSliderConstraint___destroy___0"]=asm["_emscripten_bind_btSliderConstraint___destroy___0"];var _emscripten_bind_btCollisionShape___destroy___0=Module["_emscripten_bind_btCollisionShape___destroy___0"]=asm["_emscripten_bind_btCollisionShape___destroy___0"];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_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_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_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_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_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_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1"];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_ClosestConvexResultCallback_get_m_hitPointWorld_0=Module["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0"]=asm["_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_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_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_ClosestRayResultCallback_set_m_rayFromWorld_1=Module["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"]=asm["_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1"];var _emscripten_bind_btRigidBody_setCenterOfMassTransform_1=Module["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"]=asm["_emscripten_bind_btRigidBody_setCenterOfMassTransform_1"];var _emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=Module["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1"]=asm["_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_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_btDbvtBroadphase___destroy___0=Module["_emscripten_bind_btDbvtBroadphase___destroy___0"]=asm["_emscripten_bind_btDbvtBroadphase___destroy___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_btQuadWord_setZ_1=Module["_emscripten_bind_btQuadWord_setZ_1"]=asm["_emscripten_bind_btQuadWord_setZ_1"];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_btTriangleMeshShape_setLocalScaling_1=Module["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"]=asm["_emscripten_bind_btTriangleMeshShape_setLocalScaling_1"];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_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 _i64Add=Module["_i64Add"]=asm["_i64Add"];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_btVehicleTuning_set_m_maxSuspensionForce_1=Module["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1"];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_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=Module["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"]=asm["_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1"];var _emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=Module["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"]=asm["_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3"];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_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_ContactResultCallback_addSingleResult_7=Module["_emscripten_bind_ContactResultCallback_addSingleResult_7"]=asm["_emscripten_bind_ContactResultCallback_addSingleResult_7"];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_btVehicleTuning_set_m_suspensionCompression_1=Module["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"]=asm["_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1"];var _emscripten_bind_btDynamicsWorld___destroy___0=Module["_emscripten_bind_btDynamicsWorld___destroy___0"]=asm["_emscripten_bind_btDynamicsWorld___destroy___0"];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_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_btRigidBody_getMotionState_0=Module["_emscripten_bind_btRigidBody_getMotionState_0"]=asm["_emscripten_bind_btRigidBody_getMotionState_0"];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_btRaycastVehicle_getNumWheels_0=Module["_emscripten_bind_btRaycastVehicle_getNumWheels_0"]=asm["_emscripten_bind_btRaycastVehicle_getNumWheels_0"];var _emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=Module["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"]=asm["_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1"];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_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_btPoint2PointConstraint_btPoint2PointConstraint_4=Module["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"]=asm["_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4"];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_btConeShapeX_calculateLocalInertia_2=Module["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"]=asm["_emscripten_bind_btConeShapeX_calculateLocalInertia_2"];var _emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=Module["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"]=asm["_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1"];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_btCapsuleShape_calculateLocalInertia_2=Module["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"]=asm["_emscripten_bind_btCapsuleShape_calculateLocalInertia_2"];var _emscripten_bind_btVector3_y_0=Module["_emscripten_bind_btVector3_y_0"]=asm["_emscripten_bind_btVector3_y_0"];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_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_btGhostObject_isActive_0=Module["_emscripten_bind_btGhostObject_isActive_0"]=asm["_emscripten_bind_btGhostObject_isActive_0"];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_btConeTwistConstraint_setLimit_2=Module["_emscripten_bind_btConeTwistConstraint_setLimit_2"]=asm["_emscripten_bind_btConeTwistConstraint_setLimit_2"];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_btRigidBody___destroy___0=Module["_emscripten_bind_btRigidBody___destroy___0"]=asm["_emscripten_bind_btRigidBody___destroy___0"];var _emscripten_bind_btStridingMeshInterface___destroy___0=Module["_emscripten_bind_btStridingMeshInterface___destroy___0"]=asm["_emscripten_bind_btStridingMeshInterface___destroy___0"];var _emscripten_bind_btRigidBody_setSleepingThresholds_2=Module["_emscripten_bind_btRigidBody_setSleepingThresholds_2"]=asm["_emscripten_bind_btRigidBody_setSleepingThresholds_2"];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_btManifoldPoint_get_m_localPointA_0=Module["_emscripten_bind_btManifoldPoint_get_m_localPointA_0"]=asm["_emscripten_bind_btManifoldPoint_get_m_localPointA_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_btDispatcher_getNumManifolds_0=Module["_emscripten_bind_btDispatcher_getNumManifolds_0"]=asm["_emscripten_bind_btDispatcher_getNumManifolds_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_btGhostObject_setActivationState_1=Module["_emscripten_bind_btGhostObject_setActivationState_1"]=asm["_emscripten_bind_btGhostObject_setActivationState_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_btCylinderShapeX___destroy___0=Module["_emscripten_bind_btCylinderShapeX___destroy___0"]=asm["_emscripten_bind_btCylinderShapeX___destroy___0"];var _emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=Module["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"]=asm["_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0"];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_btDispatcherInfo_set_m_stepCount_1=Module["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"]=asm["_emscripten_bind_btDispatcherInfo_set_m_stepCount_1"];var _emscripten_bind_btVector4_x_0=Module["_emscripten_bind_btVector4_x_0"]=asm["_emscripten_bind_btVector4_x_0"];var _emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=Module["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"]=asm["_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1"];var _emscripten_bind_btKinematicCharacterController_getGhostObject_0=Module["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGhostObject_0"];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_btRigidBodyConstructionInfo_get_m_restitution_0=Module["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0"];var _emscripten_bind_btTransform_setIdentity_0=Module["_emscripten_bind_btTransform_setIdentity_0"]=asm["_emscripten_bind_btTransform_setIdentity_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_btKinematicCharacterController_getGravity_0=Module["_emscripten_bind_btKinematicCharacterController_getGravity_0"]=asm["_emscripten_bind_btKinematicCharacterController_getGravity_0"];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_LocalShapeInfo_get_m_shapePart_0=Module["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"]=asm["_emscripten_bind_LocalShapeInfo_get_m_shapePart_0"];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_btSphereShape_setLocalScaling_1=Module["_emscripten_bind_btSphereShape_setLocalScaling_1"]=asm["_emscripten_bind_btSphereShape_setLocalScaling_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_ClosestRayResultCallback_get_m_rayToWorld_0=Module["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"]=asm["_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0"];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_btVector4_y_0=Module["_emscripten_bind_btVector4_y_0"]=asm["_emscripten_bind_btVector4_y_0"];var _emscripten_bind_btGeneric6DofConstraint___destroy___0=Module["_emscripten_bind_btGeneric6DofConstraint___destroy___0"]=asm["_emscripten_bind_btGeneric6DofConstraint___destroy___0"];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_btTransform_getOrigin_0=Module["_emscripten_bind_btTransform_getOrigin_0"]=asm["_emscripten_bind_btTransform_getOrigin_0"];var _emscripten_bind_btHingeConstraint___destroy___0=Module["_emscripten_bind_btHingeConstraint___destroy___0"]=asm["_emscripten_bind_btHingeConstraint___destroy___0"];var _emscripten_bind_btCompoundShape_addChildShape_2=Module["_emscripten_bind_btCompoundShape_addChildShape_2"]=asm["_emscripten_bind_btCompoundShape_addChildShape_2"];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_btConvexHullShape_setLocalScaling_1=Module["_emscripten_bind_btConvexHullShape_setLocalScaling_1"]=asm["_emscripten_bind_btConvexHullShape_setLocalScaling_1"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_0=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_0"];var _emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=Module["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"]=asm["_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0"];var _emscripten_bind_btTriangleMesh_btTriangleMesh_2=Module["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"]=asm["_emscripten_bind_btTriangleMesh_btTriangleMesh_2"];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_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_btPoint2PointConstraint_set_m_setting_1=Module["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"]=asm["_emscripten_bind_btPoint2PointConstraint_set_m_setting_1"];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_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_btDefaultVehicleRaycaster___destroy___0=Module["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"]=asm["_emscripten_bind_btDefaultVehicleRaycaster___destroy___0"];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_btRigidBodyConstructionInfo_set_m_additionalDamping_1=Module["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"]=asm["_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1"];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_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_LocalShapeInfo_set_m_shapePart_1=Module["_emscripten_bind_LocalShapeInfo_set_m_shapePart_1"]=asm["_emscripten_bind_LocalShapeInfo_set_m_shapePart_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_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_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_set_m_suspensionRestLength1_1=Module["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"]=asm["_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1"];var _emscripten_bind_btConeShape___destroy___0=Module["_emscripten_bind_btConeShape___destroy___0"]=asm["_emscripten_bind_btConeShape___destroy___0"];var _emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=Module["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"]=asm["_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2"];var _emscripten_bind_btSliderConstraint_btSliderConstraint_5=Module["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"]=asm["_emscripten_bind_btSliderConstraint_btSliderConstraint_5"];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_btConeShapeX_setLocalScaling_1=Module["_emscripten_bind_btConeShapeX_setLocalScaling_1"]=asm["_emscripten_bind_btConeShapeX_setLocalScaling_1"];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_btKinematicCharacterController_getMaxSlope_0=Module["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"]=asm["_emscripten_bind_btKinematicCharacterController_getMaxSlope_0"];var _emscripten_bind_btSliderConstraint_enableFeedback_1=Module["_emscripten_bind_btSliderConstraint_enableFeedback_1"]=asm["_emscripten_bind_btSliderConstraint_enableFeedback_1"];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_ContactResultCallback___destroy___0=Module["_emscripten_bind_ContactResultCallback___destroy___0"]=asm["_emscripten_bind_ContactResultCallback___destroy___0"];var _emscripten_bind_btStaticPlaneShape___destroy___0=Module["_emscripten_bind_btStaticPlaneShape___destroy___0"]=asm["_emscripten_bind_btStaticPlaneShape___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_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_btDiscreteDynamicsWorld_convexSweepTest_5=Module["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5"];var _emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=Module["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"]=asm["_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2"];var _emscripten_bind_btVector4_btVector4_0=Module["_emscripten_bind_btVector4_btVector4_0"]=asm["_emscripten_bind_btVector4_btVector4_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_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_LocalConvexResult_set_m_hitCollisionObject_1=Module["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"]=asm["_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1"];var _emscripten_bind_btConstraintSetting_btConstraintSetting_0=Module["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"]=asm["_emscripten_bind_btConstraintSetting_btConstraintSetting_0"];var _emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=Module["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"]=asm["_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1"];var _emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=Module["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"]=asm["_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3"];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_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 __GLOBAL__sub_I_btQuickprof_cpp=Module["__GLOBAL__sub_I_btQuickprof_cpp"]=asm["__GLOBAL__sub_I_btQuickprof_cpp"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];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_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];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.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];if(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<>>32-numBits)}else{return goog.math.Long.fromBits(0,low<>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){if(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}if(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else if(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else if(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<>this.DB-sh}else this[this.t-1]|=x<=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<0){if(p>p)>0){m=true;r=int2char(d)}while(i>=0){if(p>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<>bs;for(var i=ds+1;i>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i=0)r[i]=0;for(i=0;i=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<>=this.DB}if(a.t>=this.DB}c+=this.s}else{c+=this.s;while(i>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();if(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");function applyMemoryInitializer(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")}var request=Module["memoryInitializerRequest"];if(request){if(request.response){setTimeout((function(){applyMemoryInitializer(request.response)}),0)}else{request.addEventListener("load",(function(){if(request.status!==200&&request.status!==0){console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status)}if(!request.response||typeof request.response!=="object"||!request.response.byteLength){console.warn("a problem seems to have happened with Module.memoryInitializerRequest response (expected ArrayBuffer): "+request.response)}applyMemoryInitializer(request.response)}))}}else{Browser.asyncLoad(memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}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){if(Module["noExitRuntime"]){return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status);if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;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 ensureString=(function(){var stringCache={};function ensureString(value){if(typeof value=="string"){var cachedVal=stringCache[value];if(cachedVal)return cachedVal;var ret=allocate(intArrayFromString(value),"i8",ALLOC_STACK);stringCache[value]=ret;return ret}return value}return ensureString})();function btMatrix3x3(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}btMatrix3x3.prototype=Object.create(WrapperObject.prototype);btMatrix3x3.prototype.constructor=btMatrix3x3;btMatrix3x3.prototype.__class__=btMatrix3x3;btMatrix3x3.__cache__={};Module["btMatrix3x3"]=btMatrix3x3;btMatrix3x3.prototype["setEulerZYX"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btMatrix3x3_setEulerZYX_3(self,arg0,arg1,arg2)});btMatrix3x3.prototype["getRotation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMatrix3x3_getRotation_1(self,arg0)});btMatrix3x3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btMatrix3x3___destroy___0(self)});function ConcreteContactResultCallback(){this.ptr=_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0();getCache(ConcreteContactResultCallback)[this.ptr]=this}ConcreteContactResultCallback.prototype=Object.create(ContactResultCallback.prototype);ConcreteContactResultCallback.prototype.constructor=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype.__class__=ConcreteContactResultCallback;ConcreteContactResultCallback.__cache__={};Module["ConcreteContactResultCallback"]=ConcreteContactResultCallback;ConcreteContactResultCallback.prototype["addSingleResult"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return _emscripten_bind_ConcreteContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ConcreteContactResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ConcreteContactResultCallback___destroy___0(self)});function btBvhTriangleMeshShape(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg2===undefined){this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2(arg0,arg1);getCache(btBvhTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3(arg0,arg1,arg2);getCache(btBvhTriangleMeshShape)[this.ptr]=this}btBvhTriangleMeshShape.prototype=Object.create(btTriangleMeshShape.prototype);btBvhTriangleMeshShape.prototype.constructor=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype.__class__=btBvhTriangleMeshShape;btBvhTriangleMeshShape.__cache__={};Module["btBvhTriangleMeshShape"]=btBvhTriangleMeshShape;btBvhTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1(self,arg0)});btBvhTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btBvhTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBvhTriangleMeshShape___destroy___0(self)});function btDbvtBroadphase(){this.ptr=_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0();getCache(btDbvtBroadphase)[this.ptr]=this}btDbvtBroadphase.prototype=Object.create(WrapperObject.prototype);btDbvtBroadphase.prototype.constructor=btDbvtBroadphase;btDbvtBroadphase.prototype.__class__=btDbvtBroadphase;btDbvtBroadphase.__cache__={};Module["btDbvtBroadphase"]=btDbvtBroadphase;btDbvtBroadphase.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDbvtBroadphase___destroy___0(self)});function VoidPtr(){throw"cannot construct a VoidPtr, no constructor in IDL"}VoidPtr.prototype=Object.create(WrapperObject.prototype);VoidPtr.prototype.constructor=VoidPtr;VoidPtr.prototype.__class__=VoidPtr;VoidPtr.__cache__={};Module["VoidPtr"]=VoidPtr;VoidPtr.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_VoidPtr___destroy___0(self)});function btSequentialImpulseConstraintSolver(){this.ptr=_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0();getCache(btSequentialImpulseConstraintSolver)[this.ptr]=this}btSequentialImpulseConstraintSolver.prototype=Object.create(WrapperObject.prototype);btSequentialImpulseConstraintSolver.prototype.constructor=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype.__class__=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.__cache__={};Module["btSequentialImpulseConstraintSolver"]=btSequentialImpulseConstraintSolver;btSequentialImpulseConstraintSolver.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0(self)});function btDispatcherInfo(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}btDispatcherInfo.prototype=Object.create(WrapperObject.prototype);btDispatcherInfo.prototype.constructor=btDispatcherInfo;btDispatcherInfo.prototype.__class__=btDispatcherInfo;btDispatcherInfo.__cache__={};Module["btDispatcherInfo"]=btDispatcherInfo;btDispatcherInfo.prototype["get_m_timeStep"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeStep_0(self)});btDispatcherInfo.prototype["set_m_timeStep"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_timeStep_1(self,arg0)});btDispatcherInfo.prototype["get_m_stepCount"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_stepCount_0(self)});btDispatcherInfo.prototype["set_m_stepCount"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_stepCount_1(self,arg0)});btDispatcherInfo.prototype["get_m_dispatchFunc"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0(self)});btDispatcherInfo.prototype["set_m_dispatchFunc"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1(self,arg0)});btDispatcherInfo.prototype["get_m_timeOfImpact"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0(self)});btDispatcherInfo.prototype["set_m_timeOfImpact"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1(self,arg0)});btDispatcherInfo.prototype["get_m_useContinuous"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useContinuous_0(self)});btDispatcherInfo.prototype["set_m_useContinuous"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSatConvex"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0(self)});btDispatcherInfo.prototype["set_m_enableSatConvex"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1(self,arg0)});btDispatcherInfo.prototype["get_m_enableSPU"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_enableSPU_0(self)});btDispatcherInfo.prototype["set_m_enableSPU"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1(self,arg0)});btDispatcherInfo.prototype["get_m_useEpa"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useEpa_0(self)});btDispatcherInfo.prototype["set_m_useEpa"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useEpa_1(self,arg0)});btDispatcherInfo.prototype["get_m_allowedCcdPenetration"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0(self)});btDispatcherInfo.prototype["set_m_allowedCcdPenetration"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1(self,arg0)});btDispatcherInfo.prototype["get_m_useConvexConservativeDistanceUtil"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0(self)});btDispatcherInfo.prototype["set_m_useConvexConservativeDistanceUtil"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1(self,arg0)});btDispatcherInfo.prototype["get_m_convexConservativeDistanceThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0(self)});btDispatcherInfo.prototype["set_m_convexConservativeDistanceThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1(self,arg0)});btDispatcherInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDispatcherInfo___destroy___0(self)});function btCapsuleShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShape_btCapsuleShape_2(arg0,arg1);getCache(btCapsuleShape)[this.ptr]=this}btCapsuleShape.prototype=Object.create(btCollisionShape.prototype);btCapsuleShape.prototype.constructor=btCapsuleShape;btCapsuleShape.prototype.__class__=btCapsuleShape;btCapsuleShape.__cache__={};Module["btCapsuleShape"]=btCapsuleShape;btCapsuleShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShape_setLocalScaling_1(self,arg0)});btCapsuleShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShape_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShape___destroy___0(self)});function btCollisionConfiguration(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}btCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btCollisionConfiguration.prototype.constructor=btCollisionConfiguration;btCollisionConfiguration.prototype.__class__=btCollisionConfiguration;btCollisionConfiguration.__cache__={};Module["btCollisionConfiguration"]=btCollisionConfiguration;btCollisionConfiguration.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionConfiguration___destroy___0(self)});function btAxisSweep3(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg2===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_2(arg0,arg1);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_3(arg0,arg1,arg2);getCache(btAxisSweep3)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_4(arg0,arg1,arg2,arg3);getCache(btAxisSweep3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btAxisSweep3_btAxisSweep3_5(arg0,arg1,arg2,arg3,arg4);getCache(btAxisSweep3)[this.ptr]=this}btAxisSweep3.prototype=Object.create(WrapperObject.prototype);btAxisSweep3.prototype.constructor=btAxisSweep3;btAxisSweep3.prototype.__class__=btAxisSweep3;btAxisSweep3.__cache__={};Module["btAxisSweep3"]=btAxisSweep3;btAxisSweep3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btAxisSweep3___destroy___0(self)});function btPairCachingGhostObject(){this.ptr=_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0();getCache(btPairCachingGhostObject)[this.ptr]=this}btPairCachingGhostObject.prototype=Object.create(btGhostObject.prototype);btPairCachingGhostObject.prototype.constructor=btPairCachingGhostObject;btPairCachingGhostObject.prototype.__class__=btPairCachingGhostObject;btPairCachingGhostObject.__cache__={};Module["btPairCachingGhostObject"]=btPairCachingGhostObject;btPairCachingGhostObject.prototype["setAnisotropicFriction"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2(self,arg0,arg1)});btPairCachingGhostObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0(self),btCollisionShape)});btPairCachingGhostObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1(self,arg0)});btPairCachingGhostObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_forceActivationState_1(self,arg0)});btPairCachingGhostObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btPairCachingGhostObject_activate_0(self);return}_emscripten_bind_btPairCachingGhostObject_activate_1(self,arg0)});btPairCachingGhostObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_isActive_0(self)});btPairCachingGhostObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_isKinematicObject_0(self)});btPairCachingGhostObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setRestitution_1(self,arg0)});btPairCachingGhostObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setFriction_1(self,arg0)});btPairCachingGhostObject.prototype["setRollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1(self,arg0)});btPairCachingGhostObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0(self),btTransform)});btPairCachingGhostObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0(self)});btPairCachingGhostObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1(self,arg0)});btPairCachingGhostObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1(self,arg0)});btPairCachingGhostObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1(self,arg0)});btPairCachingGhostObject.prototype["setCcdMotionThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1(self,arg0)});btPairCachingGhostObject.prototype["setCcdSweptSphereRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1(self,arg0)});btPairCachingGhostObject.prototype["getNumOverlappingObjects"]=(function(){var self=this.ptr;return _emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0(self)});btPairCachingGhostObject.prototype["getOverlappingObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btPairCachingGhostObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPairCachingGhostObject___destroy___0(self)});function btRigidBodyConstructionInfo(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3(arg0,arg1,arg2);getCache(btRigidBodyConstructionInfo)[this.ptr]=this;return}this.ptr=_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4(arg0,arg1,arg2,arg3);getCache(btRigidBodyConstructionInfo)[this.ptr]=this}btRigidBodyConstructionInfo.prototype=Object.create(WrapperObject.prototype);btRigidBodyConstructionInfo.prototype.constructor=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype.__class__=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.__cache__={};Module["btRigidBodyConstructionInfo"]=btRigidBodyConstructionInfo;btRigidBodyConstructionInfo.prototype["get_m_linearDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_friction"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_friction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_rollingFriction"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0(self)});btRigidBodyConstructionInfo.prototype["set_m_rollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_restitution"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0(self)});btRigidBodyConstructionInfo.prototype["set_m_restitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_linearSleepingThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_linearSleepingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_angularSleepingThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0(self)});btRigidBodyConstructionInfo.prototype["set_m_angularSleepingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalDampingFactor"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalDampingFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalLinearDampingThresholdSqr"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalLinearDampingThresholdSqr"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingThresholdSqr"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingThresholdSqr"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1(self,arg0)});btRigidBodyConstructionInfo.prototype["get_m_additionalAngularDampingFactor"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0(self)});btRigidBodyConstructionInfo.prototype["set_m_additionalAngularDampingFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1(self,arg0)});btRigidBodyConstructionInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBodyConstructionInfo___destroy___0(self)});function btManifoldPoint(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}btManifoldPoint.prototype=Object.create(WrapperObject.prototype);btManifoldPoint.prototype.constructor=btManifoldPoint;btManifoldPoint.prototype.__class__=btManifoldPoint;btManifoldPoint.__cache__={};Module["btManifoldPoint"]=btManifoldPoint;btManifoldPoint.prototype["getPositionWorldOnA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["getPositionWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["getDistance"]=(function(){var self=this.ptr;return _emscripten_bind_btManifoldPoint_getDistance_0(self)});btManifoldPoint.prototype["get_m_localPointA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointA_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_localPointA_1(self,arg0)});btManifoldPoint.prototype["get_m_localPointB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_localPointB_0(self),btVector3)});btManifoldPoint.prototype["set_m_localPointB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_localPointB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1(self,arg0)});btManifoldPoint.prototype["get_m_positionWorldOnA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0(self),btVector3)});btManifoldPoint.prototype["set_m_positionWorldOnA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1(self,arg0)});btManifoldPoint.prototype["get_m_normalWorldOnB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0(self),btVector3)});btManifoldPoint.prototype["set_m_normalWorldOnB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1(self,arg0)});btManifoldPoint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btManifoldPoint___destroy___0(self)});function btGeneric6DofConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg3===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3(arg0,arg1,arg2);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(arg0,arg1,arg2,arg3);getCache(btGeneric6DofConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btGeneric6DofConstraint)[this.ptr]=this}btGeneric6DofConstraint.prototype=Object.create(btTypedConstraint.prototype);btGeneric6DofConstraint.prototype.constructor=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype.__class__=btGeneric6DofConstraint;btGeneric6DofConstraint.__cache__={};Module["btGeneric6DofConstraint"]=btGeneric6DofConstraint;btGeneric6DofConstraint.prototype["setLinearLowerLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setLinearUpperLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setAngularLowerLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["setAngularUpperLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1(self,arg0)});btGeneric6DofConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1(self,arg0)});btGeneric6DofConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0(self)});btGeneric6DofConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1(self,arg0)});btGeneric6DofConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGeneric6DofConstraint___destroy___0(self)});function btStridingMeshInterface(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}btStridingMeshInterface.prototype=Object.create(WrapperObject.prototype);btStridingMeshInterface.prototype.constructor=btStridingMeshInterface;btStridingMeshInterface.prototype.__class__=btStridingMeshInterface;btStridingMeshInterface.__cache__={};Module["btStridingMeshInterface"]=btStridingMeshInterface;btStridingMeshInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btStridingMeshInterface___destroy___0(self)});function btBroadphaseInterface(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}btBroadphaseInterface.prototype=Object.create(WrapperObject.prototype);btBroadphaseInterface.prototype.constructor=btBroadphaseInterface;btBroadphaseInterface.prototype.__class__=btBroadphaseInterface;btBroadphaseInterface.__cache__={};Module["btBroadphaseInterface"]=btBroadphaseInterface;btBroadphaseInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBroadphaseInterface___destroy___0(self)});function btCollisionObject(){throw"cannot construct a btCollisionObject, no constructor in IDL"}btCollisionObject.prototype=Object.create(WrapperObject.prototype);btCollisionObject.prototype.constructor=btCollisionObject;btCollisionObject.prototype.__class__=btCollisionObject;btCollisionObject.__cache__={};Module["btCollisionObject"]=btCollisionObject;btCollisionObject.prototype["setAnisotropicFriction"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCollisionObject_setAnisotropicFriction_2(self,arg0,arg1)});btCollisionObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getCollisionShape_0(self),btCollisionShape)});btCollisionObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1(self,arg0)});btCollisionObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setActivationState_1(self,arg0)});btCollisionObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_forceActivationState_1(self,arg0)});btCollisionObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btCollisionObject_activate_0(self);return}_emscripten_bind_btCollisionObject_activate_1(self,arg0)});btCollisionObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_isActive_0(self)});btCollisionObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_isKinematicObject_0(self)});btCollisionObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setRestitution_1(self,arg0)});btCollisionObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setFriction_1(self,arg0)});btCollisionObject.prototype["setRollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setRollingFriction_1(self,arg0)});btCollisionObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionObject_getWorldTransform_0(self),btTransform)});btCollisionObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionObject_getCollisionFlags_0(self)});btCollisionObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCollisionFlags_1(self,arg0)});btCollisionObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setWorldTransform_1(self,arg0)});btCollisionObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCollisionShape_1(self,arg0)});btCollisionObject.prototype["setCcdMotionThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1(self,arg0)});btCollisionObject.prototype["setCcdSweptSphereRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1(self,arg0)});btCollisionObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionObject___destroy___0(self)});function btDiscreteDynamicsWorld(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);this.ptr=_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4(arg0,arg1,arg2,arg3);getCache(btDiscreteDynamicsWorld)[this.ptr]=this}btDiscreteDynamicsWorld.prototype=Object.create(btDynamicsWorld.prototype);btDiscreteDynamicsWorld.prototype.constructor=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype.__class__=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.__cache__={};Module["btDiscreteDynamicsWorld"]=btDiscreteDynamicsWorld;btDiscreteDynamicsWorld.prototype["setGravity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getGravity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0(self),btVector3)});btDiscreteDynamicsWorld.prototype["addRigidBody"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["removeRigidBody"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1(self,arg0)});btDiscreteDynamicsWorld.prototype["addConstraint"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1(self,arg0);return}_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2(self,arg0,arg1)});btDiscreteDynamicsWorld.prototype["removeConstraint"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1(self,arg0)});btDiscreteDynamicsWorld.prototype["stepSimulation"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1(self,arg0)}if(arg2===undefined){return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2(self,arg0,arg1)}return _emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDiscreteDynamicsWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDiscreteDynamicsWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDiscreteDynamicsWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDiscreteDynamicsWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDiscreteDynamicsWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDiscreteDynamicsWorld.prototype["addAction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDiscreteDynamicsWorld_addAction_1(self,arg0)});btDiscreteDynamicsWorld.prototype["getSolverInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0(self),btContactSolverInfo)});btDiscreteDynamicsWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDiscreteDynamicsWorld___destroy___0(self)});function btConvexTriangleMeshShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1(arg0);getCache(btConvexTriangleMeshShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2(arg0,arg1);getCache(btConvexTriangleMeshShape)[this.ptr]=this}btConvexTriangleMeshShape.prototype=Object.create(btConvexShape.prototype);btConvexTriangleMeshShape.prototype.constructor=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype.__class__=btConvexTriangleMeshShape;btConvexTriangleMeshShape.__cache__={};Module["btConvexTriangleMeshShape"]=btConvexTriangleMeshShape;btConvexTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1(self,arg0)});btConvexTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexTriangleMeshShape___destroy___0(self)});function ConvexResultCallback(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}ConvexResultCallback.prototype=Object.create(WrapperObject.prototype);ConvexResultCallback.prototype.constructor=ConvexResultCallback;ConvexResultCallback.prototype.__class__=ConvexResultCallback;ConvexResultCallback.__cache__={};Module["ConvexResultCallback"]=ConvexResultCallback;ConvexResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_hasHit_0(self)});ConvexResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ConvexResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0(self)});ConvexResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ConvexResultCallback.prototype["get_m_closestHitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0(self)});ConvexResultCallback.prototype["set_m_closestHitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ConvexResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ConvexResultCallback___destroy___0(self)});function btPoint2PointConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg2===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2(arg0,arg1);getCache(btPoint2PointConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(arg0,arg1,arg2);getCache(btPoint2PointConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4(arg0,arg1,arg2,arg3);getCache(btPoint2PointConstraint)[this.ptr]=this}btPoint2PointConstraint.prototype=Object.create(btTypedConstraint.prototype);btPoint2PointConstraint.prototype.constructor=btPoint2PointConstraint;btPoint2PointConstraint.prototype.__class__=btPoint2PointConstraint;btPoint2PointConstraint.__cache__={};Module["btPoint2PointConstraint"]=btPoint2PointConstraint;btPoint2PointConstraint.prototype["setPivotA"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_setPivotA_1(self,arg0)});btPoint2PointConstraint.prototype["setPivotB"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_setPivotB_1(self,arg0)});btPoint2PointConstraint.prototype["getPivotInA"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInA_0(self),btVector3)});btPoint2PointConstraint.prototype["getPivotInB"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_getPivotInB_0(self),btVector3)});btPoint2PointConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_enableFeedback_1(self,arg0)});btPoint2PointConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0(self)});btPoint2PointConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1(self,arg0)});btPoint2PointConstraint.prototype["get_m_setting"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPoint2PointConstraint_get_m_setting_0(self),btConstraintSetting)});btPoint2PointConstraint.prototype["set_m_setting"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btPoint2PointConstraint_set_m_setting_1(self,arg0)});btPoint2PointConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPoint2PointConstraint___destroy___0(self)});function btMotionState(){throw"cannot construct a btMotionState, no constructor in IDL"}btMotionState.prototype=Object.create(WrapperObject.prototype);btMotionState.prototype.constructor=btMotionState;btMotionState.prototype.__class__=btMotionState;btMotionState.__cache__={};Module["btMotionState"]=btMotionState;btMotionState.prototype["getWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMotionState_getWorldTransform_1(self,arg0)});btMotionState.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btMotionState_setWorldTransform_1(self,arg0)});btMotionState.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btMotionState___destroy___0(self)});function btSliderConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg3===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_3(arg0,arg1,arg2);getCache(btSliderConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_4(arg0,arg1,arg2,arg3);getCache(btSliderConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btSliderConstraint)[this.ptr]=this}btSliderConstraint.prototype=Object.create(btTypedConstraint.prototype);btSliderConstraint.prototype.constructor=btSliderConstraint;btSliderConstraint.prototype.__class__=btSliderConstraint;btSliderConstraint.__cache__={};Module["btSliderConstraint"]=btSliderConstraint;btSliderConstraint.prototype["setLowerLinLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setLowerLinLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperLinLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setUpperLinLimit_1(self,arg0)});btSliderConstraint.prototype["setLowerAngLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setLowerAngLimit_1(self,arg0)});btSliderConstraint.prototype["setUpperAngLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setUpperAngLimit_1(self,arg0)});btSliderConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_enableFeedback_1(self,arg0)});btSliderConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0(self)});btSliderConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1(self,arg0)});btSliderConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSliderConstraint___destroy___0(self)});function btConeTwistConstraint(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg2===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2(arg0,arg1);getCache(btConeTwistConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(arg0,arg1,arg2);getCache(btConeTwistConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4(arg0,arg1,arg2,arg3);getCache(btConeTwistConstraint)[this.ptr]=this}btConeTwistConstraint.prototype=Object.create(btTypedConstraint.prototype);btConeTwistConstraint.prototype.constructor=btConeTwistConstraint;btConeTwistConstraint.prototype.__class__=btConeTwistConstraint;btConeTwistConstraint.__cache__={};Module["btConeTwistConstraint"]=btConeTwistConstraint;btConeTwistConstraint.prototype["setLimit"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeTwistConstraint_setLimit_2(self,arg0,arg1)});btConeTwistConstraint.prototype["setAngularOnly"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setAngularOnly_1(self,arg0)});btConeTwistConstraint.prototype["setDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setDamping_1(self,arg0)});btConeTwistConstraint.prototype["enableMotor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_enableMotor_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1(self,arg0)});btConeTwistConstraint.prototype["setMaxMotorImpulseNormalized"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTarget"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMotorTarget_1(self,arg0)});btConeTwistConstraint.prototype["setMotorTargetInConstraintSpace"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1(self,arg0)});btConeTwistConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_enableFeedback_1(self,arg0)});btConeTwistConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0(self)});btConeTwistConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1(self,arg0)});btConeTwistConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeTwistConstraint___destroy___0(self)});function btConeShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShape_btConeShape_2(arg0,arg1);getCache(btConeShape)[this.ptr]=this}btConeShape.prototype=Object.create(btCollisionShape.prototype);btConeShape.prototype.constructor=btConeShape;btConeShape.prototype.__class__=btConeShape;btConeShape.__cache__={};Module["btConeShape"]=btConeShape;btConeShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShape_setLocalScaling_1(self,arg0)});btConeShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShape_calculateLocalInertia_2(self,arg0,arg1)});btConeShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShape___destroy___0(self)});function btConvexShape(){throw"cannot construct a btConvexShape, no constructor in IDL"}btConvexShape.prototype=Object.create(btCollisionShape.prototype);btConvexShape.prototype.constructor=btConvexShape;btConvexShape.prototype.__class__=btConvexShape;btConvexShape.__cache__={};Module["btConvexShape"]=btConvexShape;btConvexShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexShape_setLocalScaling_1(self,arg0)});btConvexShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexShape___destroy___0(self)});function btDefaultCollisionConfiguration(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0();getCache(btDefaultCollisionConfiguration)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1(arg0);getCache(btDefaultCollisionConfiguration)[this.ptr]=this}btDefaultCollisionConfiguration.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConfiguration.prototype.constructor=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype.__class__=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.__cache__={};Module["btDefaultCollisionConfiguration"]=btDefaultCollisionConfiguration;btDefaultCollisionConfiguration.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConfiguration___destroy___0(self)});function ContactResultCallback(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}ContactResultCallback.prototype=Object.create(WrapperObject.prototype);ContactResultCallback.prototype.constructor=ContactResultCallback;ContactResultCallback.prototype.__class__=ContactResultCallback;ContactResultCallback.__cache__={};Module["ContactResultCallback"]=ContactResultCallback;ContactResultCallback.prototype["addSingleResult"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return _emscripten_bind_ContactResultCallback_addSingleResult_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6)});ContactResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ContactResultCallback___destroy___0(self)});function btConeShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShapeZ_btConeShapeZ_2(arg0,arg1);getCache(btConeShapeZ)[this.ptr]=this}btConeShapeZ.prototype=Object.create(btConeShape.prototype);btConeShapeZ.prototype.constructor=btConeShapeZ;btConeShapeZ.prototype.__class__=btConeShapeZ;btConeShapeZ.__cache__={};Module["btConeShapeZ"]=btConeShapeZ;btConeShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShapeZ_setLocalScaling_1(self,arg0)});btConeShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShapeZ___destroy___0(self)});function btConeShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btConeShapeX_btConeShapeX_2(arg0,arg1);getCache(btConeShapeX)[this.ptr]=this}btConeShapeX.prototype=Object.create(btConeShape.prototype);btConeShapeX.prototype.constructor=btConeShapeX;btConeShapeX.prototype.__class__=btConeShapeX;btConeShapeX.__cache__={};Module["btConeShapeX"]=btConeShapeX;btConeShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConeShapeX_setLocalScaling_1(self,arg0)});btConeShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConeShapeX_calculateLocalInertia_2(self,arg0,arg1)});btConeShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConeShapeX___destroy___0(self)});function btTriangleMesh(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_0();getCache(btTriangleMesh)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_1(arg0);getCache(btTriangleMesh)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTriangleMesh_btTriangleMesh_2(arg0,arg1);getCache(btTriangleMesh)[this.ptr]=this}btTriangleMesh.prototype=Object.create(btStridingMeshInterface.prototype);btTriangleMesh.prototype.constructor=btTriangleMesh;btTriangleMesh.prototype.__class__=btTriangleMesh;btTriangleMesh.__cache__={};Module["btTriangleMesh"]=btTriangleMesh;btTriangleMesh.prototype["addTriangle"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){_emscripten_bind_btTriangleMesh_addTriangle_3(self,arg0,arg1,arg2);return}_emscripten_bind_btTriangleMesh_addTriangle_4(self,arg0,arg1,arg2,arg3)});btTriangleMesh.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTriangleMesh___destroy___0(self)});function btConvexHullShape(){this.ptr=_emscripten_bind_btConvexHullShape_btConvexHullShape_0();getCache(btConvexHullShape)[this.ptr]=this}btConvexHullShape.prototype=Object.create(btCollisionShape.prototype);btConvexHullShape.prototype.constructor=btConvexHullShape;btConvexHullShape.prototype.__class__=btConvexHullShape;btConvexHullShape.__cache__={};Module["btConvexHullShape"]=btConvexHullShape;btConvexHullShape.prototype["addPoint"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg1===undefined){_emscripten_bind_btConvexHullShape_addPoint_1(self,arg0);return}_emscripten_bind_btConvexHullShape_addPoint_2(self,arg0,arg1)});btConvexHullShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConvexHullShape_setLocalScaling_1(self,arg0)});btConvexHullShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConvexHullShape_calculateLocalInertia_2(self,arg0,arg1)});btConvexHullShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConvexHullShape___destroy___0(self)});function btPersistentManifold(){this.ptr=_emscripten_bind_btPersistentManifold_btPersistentManifold_0();getCache(btPersistentManifold)[this.ptr]=this}btPersistentManifold.prototype=Object.create(WrapperObject.prototype);btPersistentManifold.prototype.constructor=btPersistentManifold;btPersistentManifold.prototype.__class__=btPersistentManifold;btPersistentManifold.__cache__={};Module["btPersistentManifold"]=btPersistentManifold;btPersistentManifold.prototype["getBody0"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody0_0(self),btCollisionObject)});btPersistentManifold.prototype["getBody1"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btPersistentManifold_getBody1_0(self),btCollisionObject)});btPersistentManifold.prototype["getNumContacts"]=(function(){var self=this.ptr;return _emscripten_bind_btPersistentManifold_getNumContacts_0(self)});btPersistentManifold.prototype["getContactPoint"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btPersistentManifold_getContactPoint_1(self,arg0),btManifoldPoint)});btPersistentManifold.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btPersistentManifold___destroy___0(self)});function btBoxShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btBoxShape_btBoxShape_1(arg0);getCache(btBoxShape)[this.ptr]=this}btBoxShape.prototype=Object.create(btCollisionShape.prototype);btBoxShape.prototype.constructor=btBoxShape;btBoxShape.prototype.__class__=btBoxShape;btBoxShape.__cache__={};Module["btBoxShape"]=btBoxShape;btBoxShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btBoxShape_setLocalScaling_1(self,arg0)});btBoxShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btBoxShape_calculateLocalInertia_2(self,arg0,arg1)});btBoxShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btBoxShape___destroy___0(self)});function btCollisionDispatcher(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1(arg0);getCache(btCollisionDispatcher)[this.ptr]=this}btCollisionDispatcher.prototype=Object.create(btDispatcher.prototype);btCollisionDispatcher.prototype.constructor=btCollisionDispatcher;btCollisionDispatcher.prototype.__class__=btCollisionDispatcher;btCollisionDispatcher.__cache__={};Module["btCollisionDispatcher"]=btCollisionDispatcher;btCollisionDispatcher.prototype["getNumManifolds"]=(function(){var self=this.ptr;return _emscripten_bind_btCollisionDispatcher_getNumManifolds_0(self)});btCollisionDispatcher.prototype["getManifoldByIndexInternal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btCollisionDispatcher.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionDispatcher___destroy___0(self)});function btVehicleTuning(){this.ptr=_emscripten_bind_btVehicleTuning_btVehicleTuning_0();getCache(btVehicleTuning)[this.ptr]=this}btVehicleTuning.prototype=Object.create(WrapperObject.prototype);btVehicleTuning.prototype.constructor=btVehicleTuning;btVehicleTuning.prototype.__class__=btVehicleTuning;btVehicleTuning.__cache__={};Module["btVehicleTuning"]=btVehicleTuning;btVehicleTuning.prototype["get_m_suspensionStiffness"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0(self)});btVehicleTuning.prototype["set_m_suspensionStiffness"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionCompression"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0(self)});btVehicleTuning.prototype["set_m_suspensionCompression"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1(self,arg0)});btVehicleTuning.prototype["get_m_suspensionDamping"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0(self)});btVehicleTuning.prototype["set_m_suspensionDamping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionTravelCm"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionTravelCm"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1(self,arg0)});btVehicleTuning.prototype["get_m_frictionSlip"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_frictionSlip_0(self)});btVehicleTuning.prototype["set_m_frictionSlip"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1(self,arg0)});btVehicleTuning.prototype["get_m_maxSuspensionForce"]=(function(){var self=this.ptr;return _emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0(self)});btVehicleTuning.prototype["set_m_maxSuspensionForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1(self,arg0)});function btCompoundShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_0();getCache(btCompoundShape)[this.ptr]=this;return}this.ptr=_emscripten_bind_btCompoundShape_btCompoundShape_1(arg0);getCache(btCompoundShape)[this.ptr]=this}btCompoundShape.prototype=Object.create(btCollisionShape.prototype);btCompoundShape.prototype.constructor=btCompoundShape;btCompoundShape.prototype.__class__=btCompoundShape;btCompoundShape.__cache__={};Module["btCompoundShape"]=btCompoundShape;btCompoundShape.prototype["addChildShape"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCompoundShape_addChildShape_2(self,arg0,arg1)});btCompoundShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCompoundShape_setLocalScaling_1(self,arg0)});btCompoundShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCompoundShape_calculateLocalInertia_2(self,arg0,arg1)});btCompoundShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCompoundShape___destroy___0(self)});function btCollisionObjectWrapper(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}btCollisionObjectWrapper.prototype=Object.create(WrapperObject.prototype);btCollisionObjectWrapper.prototype.constructor=btCollisionObjectWrapper;btCollisionObjectWrapper.prototype.__class__=btCollisionObjectWrapper;btCollisionObjectWrapper.__cache__={};Module["btCollisionObjectWrapper"]=btCollisionObjectWrapper;function ClosestConvexResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2(arg0,arg1);getCache(ClosestConvexResultCallback)[this.ptr]=this}ClosestConvexResultCallback.prototype=Object.create(ConvexResultCallback.prototype);ClosestConvexResultCallback.prototype.constructor=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype.__class__=ClosestConvexResultCallback;ClosestConvexResultCallback.__cache__={};Module["ClosestConvexResultCallback"]=ClosestConvexResultCallback;ClosestConvexResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_hasHit_0(self)});ClosestConvexResultCallback.prototype["get_m_convexFromWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexFromWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_convexToWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_convexToWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitNormalWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitNormalWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_hitPointWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestConvexResultCallback.prototype["set_m_hitPointWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0(self)});ClosestConvexResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestConvexResultCallback.prototype["get_m_closestHitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0(self)});ClosestConvexResultCallback.prototype["set_m_closestHitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1(self,arg0)});ClosestConvexResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ClosestConvexResultCallback___destroy___0(self)});function btDefaultMotionState(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0();getCache(btDefaultMotionState)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1(arg0);getCache(btDefaultMotionState)[this.ptr]=this;return}this.ptr=_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2(arg0,arg1);getCache(btDefaultMotionState)[this.ptr]=this}btDefaultMotionState.prototype=Object.create(btMotionState.prototype);btDefaultMotionState.prototype.constructor=btDefaultMotionState;btDefaultMotionState.prototype.__class__=btDefaultMotionState;btDefaultMotionState.__cache__={};Module["btDefaultMotionState"]=btDefaultMotionState;btDefaultMotionState.prototype["getWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_getWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_setWorldTransform_1(self,arg0)});btDefaultMotionState.prototype["get_m_graphicsWorldTrans"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0(self),btTransform)});btDefaultMotionState.prototype["set_m_graphicsWorldTrans"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1(self,arg0)});btDefaultMotionState.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultMotionState___destroy___0(self)});function btTriangleMeshShape(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}btTriangleMeshShape.prototype=Object.create(btConcaveShape.prototype);btTriangleMeshShape.prototype.constructor=btTriangleMeshShape;btTriangleMeshShape.prototype.__class__=btTriangleMeshShape;btTriangleMeshShape.__cache__={};Module["btTriangleMeshShape"]=btTriangleMeshShape;btTriangleMeshShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTriangleMeshShape_setLocalScaling_1(self,arg0)});btTriangleMeshShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2(self,arg0,arg1)});btTriangleMeshShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTriangleMeshShape___destroy___0(self)});function btDispatcher(){throw"cannot construct a btDispatcher, no constructor in IDL"}btDispatcher.prototype=Object.create(WrapperObject.prototype);btDispatcher.prototype.constructor=btDispatcher;btDispatcher.prototype.__class__=btDispatcher;btDispatcher.__cache__={};Module["btDispatcher"]=btDispatcher;btDispatcher.prototype["getNumManifolds"]=(function(){var self=this.ptr;return _emscripten_bind_btDispatcher_getNumManifolds_0(self)});btDispatcher.prototype["getManifoldByIndexInternal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1(self,arg0),btPersistentManifold)});btDispatcher.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDispatcher___destroy___0(self)});function ClosestRayResultCallback(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2(arg0,arg1);getCache(ClosestRayResultCallback)[this.ptr]=this}ClosestRayResultCallback.prototype=Object.create(RayResultCallback.prototype);ClosestRayResultCallback.prototype.constructor=ClosestRayResultCallback;ClosestRayResultCallback.prototype.__class__=ClosestRayResultCallback;ClosestRayResultCallback.__cache__={};Module["ClosestRayResultCallback"]=ClosestRayResultCallback;ClosestRayResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_hasHit_0(self)});ClosestRayResultCallback.prototype["get_m_rayFromWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayFromWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_rayToWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_rayToWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitNormalWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitNormalWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_hitPointWorld"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0(self),btVector3)});ClosestRayResultCallback.prototype["set_m_hitPointWorld"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0(self)});ClosestRayResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1(self,arg0)});ClosestRayResultCallback.prototype["get_m_collisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});ClosestRayResultCallback.prototype["set_m_collisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1(self,arg0)});ClosestRayResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_ClosestRayResultCallback___destroy___0(self)});function btDynamicsWorld(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}btDynamicsWorld.prototype=Object.create(btCollisionWorld.prototype);btDynamicsWorld.prototype.constructor=btDynamicsWorld;btDynamicsWorld.prototype.__class__=btDynamicsWorld;btDynamicsWorld.__cache__={};Module["btDynamicsWorld"]=btDynamicsWorld;btDynamicsWorld.prototype["addAction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btDynamicsWorld_addAction_1(self,arg0)});btDynamicsWorld.prototype["getSolverInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getSolverInfo_0(self),btContactSolverInfo)});btDynamicsWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatcher_0(self),btDispatcher)});btDynamicsWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDynamicsWorld_rayTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getPairCache_0(self),btOverlappingPairCache)});btDynamicsWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getDispatchInfo_0(self),btDispatcherInfo)});btDynamicsWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btDynamicsWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btDynamicsWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btDynamicsWorld_getBroadphase_0(self),btBroadphaseInterface)});btDynamicsWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btDynamicsWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btDynamicsWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btDynamicsWorld_contactPairTest_3(self,arg0,arg1,arg2)});btDynamicsWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDynamicsWorld___destroy___0(self)});function btCapsuleShapeX(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2(arg0,arg1);getCache(btCapsuleShapeX)[this.ptr]=this}btCapsuleShapeX.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeX.prototype.constructor=btCapsuleShapeX;btCapsuleShapeX.prototype.__class__=btCapsuleShapeX;btCapsuleShapeX.__cache__={};Module["btCapsuleShapeX"]=btCapsuleShapeX;btCapsuleShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShapeX_setLocalScaling_1(self,arg0)});btCapsuleShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeX___destroy___0(self)});function btQuaternion(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);this.ptr=_emscripten_bind_btQuaternion_btQuaternion_4(arg0,arg1,arg2,arg3);getCache(btQuaternion)[this.ptr]=this}btQuaternion.prototype=Object.create(btQuadWord.prototype);btQuaternion.prototype.constructor=btQuaternion;btQuaternion.prototype.__class__=btQuaternion;btQuaternion.__cache__={};Module["btQuaternion"]=btQuaternion;btQuaternion.prototype["setValue"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);_emscripten_bind_btQuaternion_setValue_4(self,arg0,arg1,arg2,arg3)});btQuaternion.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_x_0(self)});btQuaternion.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_y_0(self)});btQuaternion.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_z_0(self)});btQuaternion.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btQuaternion_w_0(self)});btQuaternion.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setX_1(self,arg0)});btQuaternion.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setY_1(self,arg0)});btQuaternion.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setZ_1(self,arg0)});btQuaternion.prototype["setW"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuaternion_setW_1(self,arg0)});btQuaternion.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btQuaternion___destroy___0(self)});function btCapsuleShapeZ(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2(arg0,arg1);getCache(btCapsuleShapeZ)[this.ptr]=this}btCapsuleShapeZ.prototype=Object.create(btCapsuleShape.prototype);btCapsuleShapeZ.prototype.constructor=btCapsuleShapeZ;btCapsuleShapeZ.prototype.__class__=btCapsuleShapeZ;btCapsuleShapeZ.__cache__={};Module["btCapsuleShapeZ"]=btCapsuleShapeZ;btCapsuleShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1(self,arg0)});btCapsuleShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCapsuleShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCapsuleShapeZ___destroy___0(self)});function btDefaultVehicleRaycaster(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1(arg0);getCache(btDefaultVehicleRaycaster)[this.ptr]=this}btDefaultVehicleRaycaster.prototype=Object.create(btVehicleRaycaster.prototype);btDefaultVehicleRaycaster.prototype.constructor=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype.__class__=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.__cache__={};Module["btDefaultVehicleRaycaster"]=btDefaultVehicleRaycaster;btDefaultVehicleRaycaster.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultVehicleRaycaster___destroy___0(self)});function RayResultCallback(){throw"cannot construct a RayResultCallback, no constructor in IDL"}RayResultCallback.prototype=Object.create(WrapperObject.prototype);RayResultCallback.prototype.constructor=RayResultCallback;RayResultCallback.prototype.__class__=RayResultCallback;RayResultCallback.__cache__={};Module["RayResultCallback"]=RayResultCallback;RayResultCallback.prototype["hasHit"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_hasHit_0(self)});RayResultCallback.prototype["get_m_collisionFilterGroup"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0(self)});RayResultCallback.prototype["set_m_collisionFilterGroup"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1(self,arg0)});RayResultCallback.prototype["get_m_collisionFilterMask"]=(function(){var self=this.ptr;return _emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0(self)});RayResultCallback.prototype["set_m_collisionFilterMask"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1(self,arg0)});RayResultCallback.prototype["get_m_collisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_RayResultCallback_get_m_collisionObject_0(self),btCollisionObject)});RayResultCallback.prototype["set_m_collisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_RayResultCallback_set_m_collisionObject_1(self,arg0)});RayResultCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_RayResultCallback___destroy___0(self)});function btWheelInfo(){throw"cannot construct a btWheelInfo, no constructor in IDL"}btWheelInfo.prototype=Object.create(WrapperObject.prototype);btWheelInfo.prototype.constructor=btWheelInfo;btWheelInfo.prototype.__class__=btWheelInfo;btWheelInfo.__cache__={};Module["btWheelInfo"]=btWheelInfo;btWheelInfo.prototype["get_m_suspensionStiffness"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0(self)});btWheelInfo.prototype["set_m_suspensionStiffness"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1(self,arg0)});btWheelInfo.prototype["get_m_frictionSlip"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_frictionSlip_0(self)});btWheelInfo.prototype["set_m_frictionSlip"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_frictionSlip_1(self,arg0)});btWheelInfo.prototype["get_m_rollInfluence"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_rollInfluence_0(self)});btWheelInfo.prototype["set_m_rollInfluence"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_rollInfluence_1(self,arg0)});btWheelInfo.prototype["get_m_suspensionRestLength1"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0(self)});btWheelInfo.prototype["set_m_suspensionRestLength1"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsRadius"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsRadius_0(self)});btWheelInfo.prototype["set_m_wheelsRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingCompression"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0(self)});btWheelInfo.prototype["set_m_wheelsDampingCompression"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsDampingRelaxation"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0(self)});btWheelInfo.prototype["set_m_wheelsDampingRelaxation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1(self,arg0)});btWheelInfo.prototype["get_m_steering"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_steering_0(self)});btWheelInfo.prototype["set_m_steering"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_steering_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionForce"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0(self)});btWheelInfo.prototype["set_m_maxSuspensionForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1(self,arg0)});btWheelInfo.prototype["get_m_maxSuspensionTravelCm"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0(self)});btWheelInfo.prototype["set_m_maxSuspensionTravelCm"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1(self,arg0)});btWheelInfo.prototype["get_m_wheelsSuspensionForce"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0(self)});btWheelInfo.prototype["set_m_wheelsSuspensionForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1(self,arg0)});btWheelInfo.prototype["get_m_bIsFrontWheel"]=(function(){var self=this.ptr;return _emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0(self)});btWheelInfo.prototype["set_m_bIsFrontWheel"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1(self,arg0)});btWheelInfo.prototype["get_m_chassisConnectionPointCS"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0(self),btVector3)});btWheelInfo.prototype["set_m_chassisConnectionPointCS"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1(self,arg0)});btWheelInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btWheelInfo___destroy___0(self)});function btConcaveShape(){throw"cannot construct a btConcaveShape, no constructor in IDL"}btConcaveShape.prototype=Object.create(btCollisionShape.prototype);btConcaveShape.prototype.constructor=btConcaveShape;btConcaveShape.prototype.__class__=btConcaveShape;btConcaveShape.__cache__={};Module["btConcaveShape"]=btConcaveShape;btConcaveShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConcaveShape_setLocalScaling_1(self,arg0)});btConcaveShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btConcaveShape_calculateLocalInertia_2(self,arg0,arg1)});btConcaveShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConcaveShape___destroy___0(self)});function btVector4(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg0===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_0();getCache(btVector4)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_1(arg0);getCache(btVector4)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_2(arg0,arg1);getCache(btVector4)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btVector4_btVector4_3(arg0,arg1,arg2);getCache(btVector4)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector4_btVector4_4(arg0,arg1,arg2,arg3);getCache(btVector4)[this.ptr]=this}btVector4.prototype=Object.create(btVector3.prototype);btVector4.prototype.constructor=btVector4;btVector4.prototype.__class__=btVector4;btVector4.__cache__={};Module["btVector4"]=btVector4;btVector4.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_w_0(self)});btVector4.prototype["setValue"]=(function(arg0,arg1,arg2,arg3){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);_emscripten_bind_btVector4_setValue_4(self,arg0,arg1,arg2,arg3)});btVector4.prototype["length"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_length_0(self)});btVector4.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_x_0(self)});btVector4.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_y_0(self)});btVector4.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btVector4_z_0(self)});btVector4.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setX_1(self,arg0)});btVector4.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setY_1(self,arg0)});btVector4.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector4_setZ_1(self,arg0)});btVector4.prototype["op_mul"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btVector4_op_mul_1(self,arg0),btVector3)});btVector4.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVector4___destroy___0(self)});function btKinematicCharacterController(arg0,arg1,arg2,arg3){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg3===undefined){this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3(arg0,arg1,arg2);getCache(btKinematicCharacterController)[this.ptr]=this;return}this.ptr=_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4(arg0,arg1,arg2,arg3);getCache(btKinematicCharacterController)[this.ptr]=this}btKinematicCharacterController.prototype=Object.create(btActionInterface.prototype);btKinematicCharacterController.prototype.constructor=btKinematicCharacterController;btKinematicCharacterController.prototype.__class__=btKinematicCharacterController;btKinematicCharacterController.__cache__={};Module["btKinematicCharacterController"]=btKinematicCharacterController;btKinematicCharacterController.prototype["setUpAxis"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setUpAxis_1(self,arg0)});btKinematicCharacterController.prototype["setWalkDirection"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setWalkDirection_1(self,arg0)});btKinematicCharacterController.prototype["setVelocityForTimeInterval"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2(self,arg0,arg1)});btKinematicCharacterController.prototype["warp"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_warp_1(self,arg0)});btKinematicCharacterController.prototype["preStep"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_preStep_1(self,arg0)});btKinematicCharacterController.prototype["playerStep"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btKinematicCharacterController_playerStep_2(self,arg0,arg1)});btKinematicCharacterController.prototype["setFallSpeed"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setFallSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setJumpSpeed"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1(self,arg0)});btKinematicCharacterController.prototype["setMaxJumpHeight"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1(self,arg0)});btKinematicCharacterController.prototype["canJump"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_canJump_0(self)});btKinematicCharacterController.prototype["jump"]=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController_jump_0(self)});btKinematicCharacterController.prototype["setGravity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setGravity_1(self,arg0)});btKinematicCharacterController.prototype["getGravity"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_getGravity_0(self)});btKinematicCharacterController.prototype["setMaxSlope"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setMaxSlope_1(self,arg0)});btKinematicCharacterController.prototype["getMaxSlope"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_getMaxSlope_0(self)});btKinematicCharacterController.prototype["getGhostObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btKinematicCharacterController_getGhostObject_0(self),btPairCachingGhostObject)});btKinematicCharacterController.prototype["setUseGhostSweepTest"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1(self,arg0)});btKinematicCharacterController.prototype["onGround"]=(function(){var self=this.ptr;return _emscripten_bind_btKinematicCharacterController_onGround_0(self)});btKinematicCharacterController.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btKinematicCharacterController___destroy___0(self)});function btStaticPlaneShape(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);this.ptr=_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2(arg0,arg1);getCache(btStaticPlaneShape)[this.ptr]=this}btStaticPlaneShape.prototype=Object.create(btConcaveShape.prototype);btStaticPlaneShape.prototype.constructor=btStaticPlaneShape;btStaticPlaneShape.prototype.__class__=btStaticPlaneShape;btStaticPlaneShape.__cache__={};Module["btStaticPlaneShape"]=btStaticPlaneShape;btStaticPlaneShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btStaticPlaneShape_setLocalScaling_1(self,arg0)});btStaticPlaneShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2(self,arg0,arg1)});btStaticPlaneShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btStaticPlaneShape___destroy___0(self)});function btContactSolverInfo(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}btContactSolverInfo.prototype=Object.create(WrapperObject.prototype);btContactSolverInfo.prototype.constructor=btContactSolverInfo;btContactSolverInfo.prototype.__class__=btContactSolverInfo;btContactSolverInfo.__cache__={};Module["btContactSolverInfo"]=btContactSolverInfo;btContactSolverInfo.prototype["get_m_splitImpulse"]=(function(){var self=this.ptr;return _emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0(self)});btContactSolverInfo.prototype["set_m_splitImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1(self,arg0)});btContactSolverInfo.prototype["get_m_splitImpulsePenetrationThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0(self)});btContactSolverInfo.prototype["set_m_splitImpulsePenetrationThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1(self,arg0)});btContactSolverInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btContactSolverInfo___destroy___0(self)});function btOverlappingPairCache(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}btOverlappingPairCache.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCache.prototype.constructor=btOverlappingPairCache;btOverlappingPairCache.prototype.__class__=btOverlappingPairCache;btOverlappingPairCache.__cache__={};Module["btOverlappingPairCache"]=btOverlappingPairCache;btOverlappingPairCache.prototype["setInternalGhostPairCallback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1(self,arg0)});btOverlappingPairCache.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCache___destroy___0(self)});function btVector3(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg0===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_0();getCache(btVector3)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_1(arg0);getCache(btVector3)[this.ptr]=this;return}if(arg2===undefined){this.ptr=_emscripten_bind_btVector3_btVector3_2(arg0,arg1);getCache(btVector3)[this.ptr]=this;return}this.ptr=_emscripten_bind_btVector3_btVector3_3(arg0,arg1,arg2);getCache(btVector3)[this.ptr]=this}btVector3.prototype=Object.create(WrapperObject.prototype);btVector3.prototype.constructor=btVector3;btVector3.prototype.__class__=btVector3;btVector3.__cache__={};Module["btVector3"]=btVector3;btVector3.prototype["length"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_length_0(self)});btVector3.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_x_0(self)});btVector3.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_y_0(self)});btVector3.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btVector3_z_0(self)});btVector3.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setX_1(self,arg0)});btVector3.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setY_1(self,arg0)});btVector3.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btVector3_setZ_1(self,arg0)});btVector3.prototype["setValue"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btVector3_setValue_3(self,arg0,arg1,arg2)});btVector3.prototype["op_mul"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btVector3_op_mul_1(self,arg0),btVector3)});btVector3.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVector3___destroy___0(self)});function btVehicleRaycaster(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}btVehicleRaycaster.prototype=Object.create(WrapperObject.prototype);btVehicleRaycaster.prototype.constructor=btVehicleRaycaster;btVehicleRaycaster.prototype.__class__=btVehicleRaycaster;btVehicleRaycaster.__cache__={};Module["btVehicleRaycaster"]=btVehicleRaycaster;btVehicleRaycaster.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btVehicleRaycaster___destroy___0(self)});function btSphereShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btSphereShape_btSphereShape_1(arg0);getCache(btSphereShape)[this.ptr]=this}btSphereShape.prototype=Object.create(btCollisionShape.prototype);btSphereShape.prototype.constructor=btSphereShape;btSphereShape.prototype.__class__=btSphereShape;btSphereShape.__cache__={};Module["btSphereShape"]=btSphereShape;btSphereShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btSphereShape_setLocalScaling_1(self,arg0)});btSphereShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btSphereShape_calculateLocalInertia_2(self,arg0,arg1)});btSphereShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btSphereShape___destroy___0(self)});function btDefaultCollisionConstructionInfo(){this.ptr=_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0();getCache(btDefaultCollisionConstructionInfo)[this.ptr]=this}btDefaultCollisionConstructionInfo.prototype=Object.create(WrapperObject.prototype);btDefaultCollisionConstructionInfo.prototype.constructor=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype.__class__=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.__cache__={};Module["btDefaultCollisionConstructionInfo"]=btDefaultCollisionConstructionInfo;btDefaultCollisionConstructionInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0(self)});function btHingeConstraint(arg0,arg1,arg2,arg3,arg4,arg5,arg6){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);if(arg2===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_2(arg0,arg1);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg3===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_3(arg0,arg1,arg2);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_4(arg0,arg1,arg2,arg3);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg5===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btHingeConstraint)[this.ptr]=this;return}if(arg6===undefined){this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_6(arg0,arg1,arg2,arg3,arg4,arg5);getCache(btHingeConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btHingeConstraint_btHingeConstraint_7(arg0,arg1,arg2,arg3,arg4,arg5,arg6);getCache(btHingeConstraint)[this.ptr]=this}btHingeConstraint.prototype=Object.create(btTypedConstraint.prototype);btHingeConstraint.prototype.constructor=btHingeConstraint;btHingeConstraint.prototype.__class__=btHingeConstraint;btHingeConstraint.__cache__={};Module["btHingeConstraint"]=btHingeConstraint;btHingeConstraint.prototype["setLimit"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg4===undefined){_emscripten_bind_btHingeConstraint_setLimit_4(self,arg0,arg1,arg2,arg3);return}_emscripten_bind_btHingeConstraint_setLimit_5(self,arg0,arg1,arg2,arg3,arg4)});btHingeConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btHingeConstraint_enableFeedback_1(self,arg0)});btHingeConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0(self)});btHingeConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1(self,arg0)});btHingeConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btHingeConstraint___destroy___0(self)});function btCollisionShape(){throw"cannot construct a btCollisionShape, no constructor in IDL"}btCollisionShape.prototype=Object.create(WrapperObject.prototype);btCollisionShape.prototype.constructor=btCollisionShape;btCollisionShape.prototype.__class__=btCollisionShape;btCollisionShape.__cache__={};Module["btCollisionShape"]=btCollisionShape;btCollisionShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCollisionShape_setLocalScaling_1(self,arg0)});btCollisionShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCollisionShape_calculateLocalInertia_2(self,arg0,arg1)});btCollisionShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionShape___destroy___0(self)});function btConstraintSetting(){this.ptr=_emscripten_bind_btConstraintSetting_btConstraintSetting_0();getCache(btConstraintSetting)[this.ptr]=this}btConstraintSetting.prototype=Object.create(WrapperObject.prototype);btConstraintSetting.prototype.constructor=btConstraintSetting;btConstraintSetting.prototype.__class__=btConstraintSetting;btConstraintSetting.__cache__={};Module["btConstraintSetting"]=btConstraintSetting;btConstraintSetting.prototype["get_m_tau"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_tau_0(self)});btConstraintSetting.prototype["set_m_tau"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_tau_1(self,arg0)});btConstraintSetting.prototype["get_m_damping"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_damping_0(self)});btConstraintSetting.prototype["set_m_damping"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_damping_1(self,arg0)});btConstraintSetting.prototype["get_m_impulseClamp"]=(function(){var self=this.ptr;return _emscripten_bind_btConstraintSetting_get_m_impulseClamp_0(self)});btConstraintSetting.prototype["set_m_impulseClamp"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1(self,arg0)});btConstraintSetting.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConstraintSetting___destroy___0(self)});function btGhostObject(){this.ptr=_emscripten_bind_btGhostObject_btGhostObject_0();getCache(btGhostObject)[this.ptr]=this}btGhostObject.prototype=Object.create(btCollisionObject.prototype);btGhostObject.prototype.constructor=btGhostObject;btGhostObject.prototype.__class__=btGhostObject;btGhostObject.__cache__={};Module["btGhostObject"]=btGhostObject;btGhostObject.prototype["getNumOverlappingObjects"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getNumOverlappingObjects_0(self)});btGhostObject.prototype["getOverlappingObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btGhostObject_getOverlappingObject_1(self,arg0),btCollisionObject)});btGhostObject.prototype["setAnisotropicFriction"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btGhostObject_setAnisotropicFriction_2(self,arg0,arg1)});btGhostObject.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getCollisionShape_0(self),btCollisionShape)});btGhostObject.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setContactProcessingThreshold_1(self,arg0)});btGhostObject.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setActivationState_1(self,arg0)});btGhostObject.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_forceActivationState_1(self,arg0)});btGhostObject.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btGhostObject_activate_0(self);return}_emscripten_bind_btGhostObject_activate_1(self,arg0)});btGhostObject.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_isActive_0(self)});btGhostObject.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_isKinematicObject_0(self)});btGhostObject.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setRestitution_1(self,arg0)});btGhostObject.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setFriction_1(self,arg0)});btGhostObject.prototype["setRollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setRollingFriction_1(self,arg0)});btGhostObject.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btGhostObject_getWorldTransform_0(self),btTransform)});btGhostObject.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btGhostObject_getCollisionFlags_0(self)});btGhostObject.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCollisionFlags_1(self,arg0)});btGhostObject.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setWorldTransform_1(self,arg0)});btGhostObject.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCollisionShape_1(self,arg0)});btGhostObject.prototype["setCcdMotionThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCcdMotionThreshold_1(self,arg0)});btGhostObject.prototype["setCcdSweptSphereRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1(self,arg0)});btGhostObject.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGhostObject___destroy___0(self)});function LocalShapeInfo(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}LocalShapeInfo.prototype=Object.create(WrapperObject.prototype);LocalShapeInfo.prototype.constructor=LocalShapeInfo;LocalShapeInfo.prototype.__class__=LocalShapeInfo;LocalShapeInfo.__cache__={};Module["LocalShapeInfo"]=LocalShapeInfo;LocalShapeInfo.prototype["get_m_shapePart"]=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_shapePart_0(self)});LocalShapeInfo.prototype["set_m_shapePart"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalShapeInfo_set_m_shapePart_1(self,arg0)});LocalShapeInfo.prototype["get_m_triangleIndex"]=(function(){var self=this.ptr;return _emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0(self)});LocalShapeInfo.prototype["set_m_triangleIndex"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1(self,arg0)});LocalShapeInfo.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_LocalShapeInfo___destroy___0(self)});function btConstraintSolver(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}btConstraintSolver.prototype=Object.create(WrapperObject.prototype);btConstraintSolver.prototype.constructor=btConstraintSolver;btConstraintSolver.prototype.__class__=btConstraintSolver;btConstraintSolver.__cache__={};Module["btConstraintSolver"]=btConstraintSolver;btConstraintSolver.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btConstraintSolver___destroy___0(self)});function btGeneric6DofSpringConstraint(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg3===undefined){this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3(arg0,arg1,arg2);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this;return}if(arg4===undefined){this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(arg0,arg1,arg2,arg3);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this;return}this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5(arg0,arg1,arg2,arg3,arg4);getCache(btGeneric6DofSpringConstraint)[this.ptr]=this}btGeneric6DofSpringConstraint.prototype=Object.create(btGeneric6DofConstraint.prototype);btGeneric6DofSpringConstraint.prototype.constructor=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.prototype.__class__=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.__cache__={};Module["btGeneric6DofSpringConstraint"]=btGeneric6DofSpringConstraint;btGeneric6DofSpringConstraint.prototype["enableSpring"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setStiffness"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setDamping"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2(self,arg0,arg1)});btGeneric6DofSpringConstraint.prototype["setLinearLowerLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setLinearUpperLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setAngularLowerLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["setAngularUpperLimit"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0(self)});btGeneric6DofSpringConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1(self,arg0)});btGeneric6DofSpringConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0(self)});function LocalConvexResult(arg0,arg1,arg2,arg3,arg4){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);this.ptr=_emscripten_bind_LocalConvexResult_LocalConvexResult_5(arg0,arg1,arg2,arg3,arg4);getCache(LocalConvexResult)[this.ptr]=this}LocalConvexResult.prototype=Object.create(WrapperObject.prototype);LocalConvexResult.prototype.constructor=LocalConvexResult;LocalConvexResult.prototype.__class__=LocalConvexResult;LocalConvexResult.__cache__={};Module["LocalConvexResult"]=LocalConvexResult;LocalConvexResult.prototype["get_m_hitCollisionObject"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0(self),btCollisionObject)});LocalConvexResult.prototype["set_m_hitCollisionObject"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1(self,arg0)});LocalConvexResult.prototype["get_m_localShapeInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0(self),LocalShapeInfo)});LocalConvexResult.prototype["set_m_localShapeInfo"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1(self,arg0)});LocalConvexResult.prototype["get_m_hitNormalLocal"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitNormalLocal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitPointLocal"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0(self),btVector3)});LocalConvexResult.prototype["set_m_hitPointLocal"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1(self,arg0)});LocalConvexResult.prototype["get_m_hitFraction"]=(function(){var self=this.ptr;return _emscripten_bind_LocalConvexResult_get_m_hitFraction_0(self)});LocalConvexResult.prototype["set_m_hitFraction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_LocalConvexResult_set_m_hitFraction_1(self,arg0)});LocalConvexResult.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_LocalConvexResult___destroy___0(self)});function btOverlappingPairCallback(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}btOverlappingPairCallback.prototype=Object.create(WrapperObject.prototype);btOverlappingPairCallback.prototype.constructor=btOverlappingPairCallback;btOverlappingPairCallback.prototype.__class__=btOverlappingPairCallback;btOverlappingPairCallback.__cache__={};Module["btOverlappingPairCallback"]=btOverlappingPairCallback;btOverlappingPairCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btOverlappingPairCallback___destroy___0(self)});function btRigidBody(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btRigidBody_btRigidBody_1(arg0);getCache(btRigidBody)[this.ptr]=this}btRigidBody.prototype=Object.create(btCollisionObject.prototype);btRigidBody.prototype.constructor=btRigidBody;btRigidBody.prototype.__class__=btRigidBody;btRigidBody.__cache__={};Module["btRigidBody"]=btRigidBody;btRigidBody.prototype["getCenterOfMassTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCenterOfMassTransform_0(self),btTransform)});btRigidBody.prototype["setCenterOfMassTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCenterOfMassTransform_1(self,arg0)});btRigidBody.prototype["setSleepingThresholds"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setSleepingThresholds_2(self,arg0,arg1)});btRigidBody.prototype["setDamping"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setDamping_2(self,arg0,arg1)});btRigidBody.prototype["setMassProps"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setMassProps_2(self,arg0,arg1)});btRigidBody.prototype["setLinearFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setLinearFactor_1(self,arg0)});btRigidBody.prototype["applyTorque"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyTorque_1(self,arg0)});btRigidBody.prototype["applyForce"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_applyForce_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralForce"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyCentralForce_1(self,arg0)});btRigidBody.prototype["applyTorqueImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyTorqueImpulse_1(self,arg0)});btRigidBody.prototype["applyImpulse"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_applyImpulse_2(self,arg0,arg1)});btRigidBody.prototype["applyCentralImpulse"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_applyCentralImpulse_1(self,arg0)});btRigidBody.prototype["updateInertiaTensor"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBody_updateInertiaTensor_0(self)});btRigidBody.prototype["getLinearVelocity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getLinearVelocity_0(self),btVector3)});btRigidBody.prototype["getAngularVelocity"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getAngularVelocity_0(self),btVector3)});btRigidBody.prototype["setLinearVelocity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setLinearVelocity_1(self,arg0)});btRigidBody.prototype["setAngularVelocity"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setAngularVelocity_1(self,arg0)});btRigidBody.prototype["getMotionState"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getMotionState_0(self),btMotionState)});btRigidBody.prototype["setAngularFactor"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setAngularFactor_1(self,arg0)});btRigidBody.prototype["upcast"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRigidBody_upcast_1(self,arg0),btRigidBody)});btRigidBody.prototype["setAnisotropicFriction"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRigidBody_setAnisotropicFriction_2(self,arg0,arg1)});btRigidBody.prototype["getCollisionShape"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getCollisionShape_0(self),btCollisionShape)});btRigidBody.prototype["setContactProcessingThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setContactProcessingThreshold_1(self,arg0)});btRigidBody.prototype["setActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setActivationState_1(self,arg0)});btRigidBody.prototype["forceActivationState"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_forceActivationState_1(self,arg0)});btRigidBody.prototype["activate"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg0===undefined){_emscripten_bind_btRigidBody_activate_0(self);return}_emscripten_bind_btRigidBody_activate_1(self,arg0)});btRigidBody.prototype["isActive"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_isActive_0(self)});btRigidBody.prototype["isKinematicObject"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_isKinematicObject_0(self)});btRigidBody.prototype["setRestitution"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setRestitution_1(self,arg0)});btRigidBody.prototype["setFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setFriction_1(self,arg0)});btRigidBody.prototype["setRollingFriction"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setRollingFriction_1(self,arg0)});btRigidBody.prototype["getWorldTransform"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRigidBody_getWorldTransform_0(self),btTransform)});btRigidBody.prototype["getCollisionFlags"]=(function(){var self=this.ptr;return _emscripten_bind_btRigidBody_getCollisionFlags_0(self)});btRigidBody.prototype["setCollisionFlags"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCollisionFlags_1(self,arg0)});btRigidBody.prototype["setWorldTransform"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setWorldTransform_1(self,arg0)});btRigidBody.prototype["setCollisionShape"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCollisionShape_1(self,arg0)});btRigidBody.prototype["setCcdMotionThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCcdMotionThreshold_1(self,arg0)});btRigidBody.prototype["setCcdSweptSphereRadius"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1(self,arg0)});btRigidBody.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRigidBody___destroy___0(self)});function btCylinderShapeX(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1(arg0);getCache(btCylinderShapeX)[this.ptr]=this}btCylinderShapeX.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeX.prototype.constructor=btCylinderShapeX;btCylinderShapeX.prototype.__class__=btCylinderShapeX;btCylinderShapeX.__cache__={};Module["btCylinderShapeX"]=btCylinderShapeX;btCylinderShapeX.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShapeX_setLocalScaling_1(self,arg0)});btCylinderShapeX.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeX.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeX___destroy___0(self)});function btCylinderShapeZ(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1(arg0);getCache(btCylinderShapeZ)[this.ptr]=this}btCylinderShapeZ.prototype=Object.create(btCylinderShape.prototype);btCylinderShapeZ.prototype.constructor=btCylinderShapeZ;btCylinderShapeZ.prototype.__class__=btCylinderShapeZ;btCylinderShapeZ.__cache__={};Module["btCylinderShapeZ"]=btCylinderShapeZ;btCylinderShapeZ.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShapeZ_setLocalScaling_1(self,arg0)});btCylinderShapeZ.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShapeZ.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShapeZ___destroy___0(self)});function btTransform(arg0,arg1){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg0===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_0();getCache(btTransform)[this.ptr]=this;return}if(arg1===undefined){this.ptr=_emscripten_bind_btTransform_btTransform_1(arg0);getCache(btTransform)[this.ptr]=this;return}this.ptr=_emscripten_bind_btTransform_btTransform_2(arg0,arg1);getCache(btTransform)[this.ptr]=this}btTransform.prototype=Object.create(WrapperObject.prototype);btTransform.prototype.constructor=btTransform;btTransform.prototype.__class__=btTransform;btTransform.__cache__={};Module["btTransform"]=btTransform;btTransform.prototype["setIdentity"]=(function(){var self=this.ptr;_emscripten_bind_btTransform_setIdentity_0(self)});btTransform.prototype["setOrigin"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTransform_setOrigin_1(self,arg0)});btTransform.prototype["setRotation"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTransform_setRotation_1(self,arg0)});btTransform.prototype["getOrigin"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getOrigin_0(self),btVector3)});btTransform.prototype["getRotation"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getRotation_0(self),btQuaternion)});btTransform.prototype["getBasis"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btTransform_getBasis_0(self),btMatrix3x3)});btTransform.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTransform___destroy___0(self)});function btCollisionWorld(){throw"cannot construct a btCollisionWorld, no constructor in IDL"}btCollisionWorld.prototype=Object.create(WrapperObject.prototype);btCollisionWorld.prototype.constructor=btCollisionWorld;btCollisionWorld.prototype.__class__=btCollisionWorld;btCollisionWorld.__cache__={};Module["btCollisionWorld"]=btCollisionWorld;btCollisionWorld.prototype["getDispatcher"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatcher_0(self),btDispatcher)});btCollisionWorld.prototype["rayTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btCollisionWorld_rayTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["getPairCache"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getPairCache_0(self),btOverlappingPairCache)});btCollisionWorld.prototype["getDispatchInfo"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getDispatchInfo_0(self),btDispatcherInfo)});btCollisionWorld.prototype["addCollisionObject"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg1===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_1(self,arg0);return}if(arg2===undefined){_emscripten_bind_btCollisionWorld_addCollisionObject_2(self,arg0,arg1);return}_emscripten_bind_btCollisionWorld_addCollisionObject_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["getBroadphase"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btCollisionWorld_getBroadphase_0(self),btBroadphaseInterface)});btCollisionWorld.prototype["convexSweepTest"]=(function(arg0,arg1,arg2,arg3,arg4){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);_emscripten_bind_btCollisionWorld_convexSweepTest_5(self,arg0,arg1,arg2,arg3,arg4)});btCollisionWorld.prototype["contactPairTest"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btCollisionWorld_contactPairTest_3(self,arg0,arg1,arg2)});btCollisionWorld.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCollisionWorld___destroy___0(self)});function btQuadWord(){throw"cannot construct a btQuadWord, no constructor in IDL"}btQuadWord.prototype=Object.create(WrapperObject.prototype);btQuadWord.prototype.constructor=btQuadWord;btQuadWord.prototype.__class__=btQuadWord;btQuadWord.__cache__={};Module["btQuadWord"]=btQuadWord;btQuadWord.prototype["x"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_x_0(self)});btQuadWord.prototype["y"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_y_0(self)});btQuadWord.prototype["z"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_z_0(self)});btQuadWord.prototype["w"]=(function(){var self=this.ptr;return _emscripten_bind_btQuadWord_w_0(self)});btQuadWord.prototype["setX"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setX_1(self,arg0)});btQuadWord.prototype["setY"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setY_1(self,arg0)});btQuadWord.prototype["setZ"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setZ_1(self,arg0)});btQuadWord.prototype["setW"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btQuadWord_setW_1(self,arg0)});btQuadWord.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btQuadWord___destroy___0(self)});function btRaycastVehicle(arg0,arg1,arg2){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);this.ptr=_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3(arg0,arg1,arg2);getCache(btRaycastVehicle)[this.ptr]=this}btRaycastVehicle.prototype=Object.create(btActionInterface.prototype);btRaycastVehicle.prototype.constructor=btRaycastVehicle;btRaycastVehicle.prototype.__class__=btRaycastVehicle;btRaycastVehicle.__cache__={};Module["btRaycastVehicle"]=btRaycastVehicle;btRaycastVehicle.prototype["applyEngineForce"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_applyEngineForce_2(self,arg0,arg1)});btRaycastVehicle.prototype["setSteeringValue"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_setSteeringValue_2(self,arg0,arg1)});btRaycastVehicle.prototype["getWheelTransformWS"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1(self,arg0),btTransform)});btRaycastVehicle.prototype["updateWheelTransform"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_updateWheelTransform_2(self,arg0,arg1)});btRaycastVehicle.prototype["addWheel"]=(function(arg0,arg1,arg2,arg3,arg4,arg5,arg6){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);if(arg3&&typeof arg3==="object")arg3=arg3.ptr;else arg3=ensureString(arg3);if(arg4&&typeof arg4==="object")arg4=arg4.ptr;else arg4=ensureString(arg4);if(arg5&&typeof arg5==="object")arg5=arg5.ptr;else arg5=ensureString(arg5);if(arg6&&typeof arg6==="object")arg6=arg6.ptr;else arg6=ensureString(arg6);return wrapPointer(_emscripten_bind_btRaycastVehicle_addWheel_7(self,arg0,arg1,arg2,arg3,arg4,arg5,arg6),btWheelInfo)});btRaycastVehicle.prototype["getNumWheels"]=(function(){var self=this.ptr;return _emscripten_bind_btRaycastVehicle_getNumWheels_0(self)});btRaycastVehicle.prototype["getRigidBody"]=(function(){var self=this.ptr;return wrapPointer(_emscripten_bind_btRaycastVehicle_getRigidBody_0(self),btRigidBody)});btRaycastVehicle.prototype["getWheelInfo"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);return wrapPointer(_emscripten_bind_btRaycastVehicle_getWheelInfo_1(self,arg0),btWheelInfo)});btRaycastVehicle.prototype["setBrake"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btRaycastVehicle_setBrake_2(self,arg0,arg1)});btRaycastVehicle.prototype["setCoordinateSystem"]=(function(arg0,arg1,arg2){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);if(arg2&&typeof arg2==="object")arg2=arg2.ptr;else arg2=ensureString(arg2);_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3(self,arg0,arg1,arg2)});btRaycastVehicle.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btRaycastVehicle___destroy___0(self)});function btCylinderShape(arg0){if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);this.ptr=_emscripten_bind_btCylinderShape_btCylinderShape_1(arg0);getCache(btCylinderShape)[this.ptr]=this}btCylinderShape.prototype=Object.create(btCollisionShape.prototype);btCylinderShape.prototype.constructor=btCylinderShape;btCylinderShape.prototype.__class__=btCylinderShape;btCylinderShape.__cache__={};Module["btCylinderShape"]=btCylinderShape;btCylinderShape.prototype["setLocalScaling"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btCylinderShape_setLocalScaling_1(self,arg0)});btCylinderShape.prototype["calculateLocalInertia"]=(function(arg0,arg1){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);if(arg1&&typeof arg1==="object")arg1=arg1.ptr;else arg1=ensureString(arg1);_emscripten_bind_btCylinderShape_calculateLocalInertia_2(self,arg0,arg1)});btCylinderShape.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btCylinderShape___destroy___0(self)});function btActionInterface(){throw"cannot construct a btActionInterface, no constructor in IDL"}btActionInterface.prototype=Object.create(WrapperObject.prototype);btActionInterface.prototype.constructor=btActionInterface;btActionInterface.prototype.__class__=btActionInterface;btActionInterface.__cache__={};Module["btActionInterface"]=btActionInterface;btActionInterface.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btActionInterface___destroy___0(self)});function btGhostPairCallback(){this.ptr=_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0();getCache(btGhostPairCallback)[this.ptr]=this}btGhostPairCallback.prototype=Object.create(WrapperObject.prototype);btGhostPairCallback.prototype.constructor=btGhostPairCallback;btGhostPairCallback.prototype.__class__=btGhostPairCallback;btGhostPairCallback.__cache__={};Module["btGhostPairCallback"]=btGhostPairCallback;btGhostPairCallback.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btGhostPairCallback___destroy___0(self)});function btTypedConstraint(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}btTypedConstraint.prototype=Object.create(WrapperObject.prototype);btTypedConstraint.prototype.constructor=btTypedConstraint;btTypedConstraint.prototype.__class__=btTypedConstraint;btTypedConstraint.__cache__={};Module["btTypedConstraint"]=btTypedConstraint;btTypedConstraint.prototype["enableFeedback"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTypedConstraint_enableFeedback_1(self,arg0)});btTypedConstraint.prototype["getBreakingImpulseThreshold"]=(function(){var self=this.ptr;return _emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0(self)});btTypedConstraint.prototype["setBreakingImpulseThreshold"]=(function(arg0){var self=this.ptr;if(arg0&&typeof arg0==="object")arg0=arg0.ptr;else arg0=ensureString(arg0);_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1(self,arg0)});btTypedConstraint.prototype["__destroy__"]=(function(){var self=this.ptr;_emscripten_bind_btTypedConstraint___destroy___0(self)});this["Ammo"]=Module + return Module; +}; - return this; -}).call({}); +Ammo = AmmoLib();